🚀 Viking 33B
Viking 33Bは、フィンランド語、英語、スウェーデン語、デンマーク語、ノルウェー語、アイスランド語、およびコードで事前学習された、330億パラメータのデコーダー専用トランスフォーマーです。2兆トークン(このリリース時点では1300億)で学習中です。Viking 33Bは完全にオープンソースのモデルで、Apache 2.0ライセンスの下で利用可能です。
Vikingは、トゥルク大学のTurkuNLPグループ、Silo AIのSiloGen、およびHigh Performance Language Technologies(HPLT)の共同プロジェクトです。学習は、CSC - フィンランドの科学用ITセンターから提供されたコンピューティングリソースを使用し、LUMIスーパーコンピュータ上で行われました。
このプロジェクトは、非英語、特にフィンランド語のような低リソース言語向けのオープンソース大規模言語モデルを作成するための継続的な取り組みの一部です。このモデルは、フィンランド語、英語、スカンジナビア諸語に流暢で、それらの間の基本的な翻訳が可能です。また、コードの理解と生成もできます。
🚀 クイックスタート
Viking 33Bは、フィンランド語や英語などの言語、コードを扱うことができる大規模言語モデルです。以下に、チェックポイントをロードするコード例を示します。
branch = "200B"
model = transformers.AutoModelForCausalLM.from_pretrained(
"LumiOpen/Viking-33B",
torch_dtype=torch.bfloat16,
revision=branch,
)
✨ 主な機能
- フィンランド語、英語、スウェーデン語、デンマーク語、ノルウェー語、アイスランド語、コードに対応した事前学習済みモデル。
- これらの言語間での基本的な翻訳が可能。
- コードの理解と生成ができる。
📚 ドキュメント
モデルファミリー
Vikingは、LumiOpenによってリリースされた2番目のモデルセットで、3種類のパラメータ数で利用可能です。
モデル概要
⚠️ 重要提示
Vikingはベースモデルであり、ほとんどのユースケースではさらなる微調整が必要です。
Vikingは、LLaMAライクなGPTアーキテクチャを使用した生成型事前学習トランスフォーマーで、ロータリー位置埋め込みとフラッシュアテンションを利用しています。
プロパティ |
詳細 |
パラメータ数 |
33B |
レイヤー数 |
56 |
ヘッド数 |
56 |
モデル次元 |
7168 |
語彙サイズ |
131072 |
シーケンス長 |
4096 |
学習
Viking 33Bは、LUMIスーパーコンピュータ上で、1024台のAMD MI250X GPUを使用して学習されました。各MI250X GPUには2つのグラフィックスコンプレックスダイ(GCD)があり、学習中のワールドサイズは2048です。アクティベーションチェックポイント、マイクロバッチサイズ1、勾配累積16、TP = 4、PP = 4、DP = 128の3D並列化戦略を使用しています。
学習は2023年9月に、Megatron - Deepspeedフレームワークのカスタムフォークを使用して開始されました。
学習ハイパーパラメータ
ハイパーパラメータ |
値 |
コメント |
精度 |
bfloat16 |
|
オプティマイザ |
AdamW |
|
学習率 |
3e - 4 |
10Bトークンのウォームアップ、コサイン減衰で3e - 5 |
重み減衰 |
1e - 1 |
|
バッチサイズ |
1024 |
1024サンプル x 4096トークン = 4194304トークン |
トークナイザ
Vikingは、モデルの学習に使用された同じ英語、フィンランド語、スウェーデン語、デンマーク語、ノルウェー語、アイスランド語、およびコードのデータセットで学習されたカスタムの128K Bloomトークナイザを使用しています。
データセット
Vikingは、英語、フィンランド語、スウェーデン語、デンマーク語、ノルウェー語、アイスランド語、およびコードの2兆トークンの混合データセットで学習されています。
詳細は近日公開予定です。
評価結果
完全な評価結果は、最終モデルとともに公開されます。
学習チェックポイント
学習チェックポイントは、リポジトリのブランチとして利用可能です。チェックポイントはおよそ100Bトークンごとにリリースされます。メインブランチは常に最新のチェックポイントを指します。以下のチェックポイントが利用可能です。
transformersライブラリを使用すると、以下のようにブランチからチェックポイントをロードできます。
branch = "200B"
model = transformers.AutoModelForCausalLM.from_pretrained(
"LumiOpen/Viking-33B",
torch_dtype=torch.bfloat16,
revision=branch,
)
倫理的考慮事項と制限
⚠️ 重要提示
Viking 33Bは部分的に学習されたモデルのリリースであり、出力を使用する際には特別な注意が必要です。
Vikingは高度な言語モデルで、主に英語、フィンランド語、スウェーデン語、ノルウェー語、デンマーク語、アイスランド語、およびコードに最適化されており、他の言語にはあまり能力がありません。ほとんどのAI駆動システムと同様に、Vikingは学習に使用された大量のデータの産物であり、ウェブ全体の不完全性、バイアス、特異性を反映している可能性があります。Vikingは時々、不正確、偏見、または物議を醸すと見なされる出力を生成することがあります。Vikingを使用するユーザーと開発者は、裁量を行使し、追加の評価とカスタマイズを検討して、モデルの応答が彼らの特定のニーズと倫理基準に沿っていることを確認する必要があります。
📄 ライセンス
Vikingは、Apache 2.0ライセンスの下でリリースされています。
引用情報
@misc {lumiopen_2025,
author = { Luukkonen, Risto and Burdge, Jonathan and Zosa, Elaine and Komulainen, Ville and Sarlin, Peter and Pyysalo, Sampo },
title = { Viking: A Family of Nordic LLMs },
year = 2025,
url = { https://huggingface.co/LumiOpen/Viking-33B },
doi = { 10.57967/hf/4885 },
publisher = { Hugging Face }
}