🚀 Poro 34Bモデルカード
Poroは、フィンランド語、英語、コードに関して事前学習された、340億パラメータのデコーダー専用トランスフォーマーです。1兆トークンで学習されています。Poroは完全にオープンソースのモデルで、Apache 2.0ライセンスの下で利用可能です。
このモデルは、Silo AIのSiloGen、チュルク大学のTurkuNLPグループ、およびHigh Performance Language Technologies (HPLT)の共同研究によって作成されました。学習は、CSC - フィンランド科学情報センターから提供された計算資源を用いて、LUMIスーパーコンピュータ上で行われました。
このプロジェクトは、英語以外の言語、特にフィンランド語のような低リソース言語向けのオープンソース大規模言語モデルを作成するための継続的な取り組みの一部です。英語とフィンランド語の学習データを組み合わせることで、以前のフィンランド語専用モデルを上回るモデルを得ることができ、英語とコードにも流暢で、英語とフィンランド語の基本的な翻訳も可能です。
Poro 34Bは、当社のモデルファミリーの最初のモデルに過ぎません。既に次のモデルの開発が進行中であり、追加の言語をサポートし、フラッシュアテンション、ロータリー埋め込み、グループ化クエリアテンションなどの機能を備える予定です。
「Poro」とは何を意味しますか? Poroは、フィンランド語でトナカイを意味します! 🦌 これらの動物はフィンランド原産で、フィンランド文化において重要な歴史的役割を果たしています。
🚀 クイックスタート
Poro 34Bは、フィンランド語、英語、コードに関する事前学習を行ったモデルです。以下に、モデルの概要や使用方法について説明します。
✨ 主な機能
- フィンランド語、英語、コードに関する事前学習を行ったモデルで、英語とフィンランド語の基本的な翻訳が可能です。
- 既存のフィンランド語専用モデルを上回る性能を発揮します。
- 次のモデルでは、追加の言語サポートや新機能が予定されています。
📚 ドキュメント
モデル概要
注意: Poroは初期の研究用リリースであり、ほとんどのユースケースではさらなる微調整が必要なベースモデルです。
Poroは、BLOOMアーキテクチャを使用した生成型事前学習トランスフォーマーで、推論時のコンテキスト長の外挿をサポートするためにALiBi埋め込みを利用しています。
ハイパーパラメータ |
値 |
n_parameters |
342億 |
n_layers |
54 |
n_heads |
56 |
d_model |
7168 |
vocab_size |
128000 |
sequence_length |
2048 |
Poro研究チェックポイント
チェックポイントはリポジトリのブランチとして利用可能です。チェックポイントは約1000億トークンごとにリリースされます。メインブランチは常に最新のチェックポイントを指します。以下のチェックポイントが利用可能です。
transformersライブラリを使用して、ブランチからチェックポイントをロードすることができます。
基本的な使用法
branch = "200B"
model = transformers.AutoModelForCausalLM.from_pretrained(
"LumiOpen/Poro-34B",
torch_dtype=torch.bfloat16,
revision=branch,
)
学習
Poroは、LUMIスーパーコンピュータ上で、512台のAMD MI250X GPUを使用して学習されました。各MI250X GPUには2つのGraphics Complex Dies (GCD)があり、学習時のワールドサイズは1024です。アクティベーションチェックポイント、マイクロバッチサイズ1、勾配蓄積16、およびTP=2、PP=4、DP=128の3D並列化戦略を使用しています。
学習は2023年9月に、Megatron-Deepspeedフレームワークのカスタムフォークを使用して開始されました。当社のコードはこちらで公開されています。
学習ハイパーパラメータ
ハイパーパラメータ |
値 |
コメント |
Precision |
bfloat16 |
|
Optimizer |
AdamW |
|
Learning rate |
1.5e-4 |
100億トークンのウォームアップ、コサイン減衰で2e-5まで |
Weight decay |
1e-1 |
|
Batch size |
2048 |
2048サンプル x 2048トークン = 4194304トークン |
トークナイザー
Poroは、モデルの学習に使用された同じ英語、フィンランド語、コードのデータセットで学習されたカスタム128K Bloomトークナイザーを使用しています。
データセット
Poroは、英語、フィンランド語、コードの1兆トークンの混合データセットで学習されています。
データセット |
備考 |
割合 |
エポック |
トークン |
SlimPajama |
books3データを除く |
54.16% |
1x |
5417億 |
フィンランド語 |
TurkuNLPフィンランド語データセット |
13.05% |
4x |
1315億 |
Tatoeba |
英語/フィンランド語の文ペア |
0.81% |
1x |
80億 |
Starcoder |
|
31.53% |
1.52x |
3154億 |
Project Gutenberg |
Dolmaデータセットから |
0.46% |
1x |
45億 |
フィンランド語データセットは、多くのフィンランド語リソースを組み合わせたものです。
評価結果
各チェックポイントの完全な評価結果は、当社のGithubリポジトリで確認できます。
倫理的な考慮事項と制限事項
Poroは高度な言語モデルであり、主に英語、フィンランド語、コードに最適化されており、他の言語にはあまり精通していません。ほとんどのAI駆動システムと同様に、Poroは大量のデータで学習されており、これにはウェブ全体の不完全性、偏見、特異性が反映されている可能性があります。Poroは時々、不正確、偏見的、または物議を醸す出力を生成する可能性があります。Poroを使用するユーザーや開発者は、裁量を行使し、モデルの応答が特定のニーズや倫理基準に沿うように、追加の評価とカスタマイズを検討する必要があります。
📄 ライセンス
Poroは、Apache 2.0ライセンスの下でリリースされています。
引用
@misc{luukkonen2024poro,
title={Poro 34B and the Blessing of Multilinguality},
author={Risto Luukkonen and Jonathan Burdge and Elaine Zosa and Aarne
Talman and Ville Komulainen and Väinö Hatanpää and Peter Sarlin and Sampo
Pyysalo},
year={2024},
eprint={2404.01856},
archivePrefix={arXiv},
primaryClass={cs.CL}
}