🚀 Cerebras-GPT 2.7B
Cerebras-GPT 2.7Bは、大規模言語モデル(LLM)の研究を促進するために開発されたモデルです。このモデルファミリーは、Cerebrasのソフトウェアとハードウェアスタックを使用してLLMをトレーニングする際の単純性と拡張性を実証します。
ブログ記事とarXiv論文をご覧ください!
🚀 クイックスタート
このモデルは、AutoModelForCausalLM
機能を使用して簡単にロードできます。
基本的な使用法
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("cerebras/Cerebras-GPT-2.7B")
model = AutoModelForCausalLM.from_pretrained("cerebras/Cerebras-GPT-2.7B")
text = "Generative AI is "
高度な使用法
Hugging Face Pipelinesを使用する場合
from transformers import pipeline
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
generated_text = pipe(text, max_length=50, do_sample=False, no_repeat_ngram_size=2)[0]
print(generated_text['generated_text'])
model.generate()
を使用する場合
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs, num_beams=5,
max_new_tokens=50, early_stopping=True,
no_repeat_ngram_size=2)
text_output = tokenizer.batch_decode(outputs, skip_special_tokens=True)
print(text_output[0])
✨ 主な機能
- Cerebras-GPTファミリーは、オープンなアーキテクチャとデータセットを使用して、LLMのスケーリング法則の研究を促進します。
- すべてのCerebras-GPTモデルは、Hugging Faceで利用可能です。
- このファミリーには、111M、256M、590M、1.3B、2.7B、6.7B、および13Bのモデルが含まれています。
- すべてのモデルは、Chinchillaスケーリング法則(モデルパラメータごとに20トークン)に従ってトレーニングされています。
📦 インストール
このモデルを使用するには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers
📚 ドキュメント
モデルの詳細
属性 |
详情 |
開発者 |
Cerebras Systems |
ライセンス |
Apache 2.0 |
モデルタイプ |
Transformerベースの言語モデル |
アーキテクチャ |
GPT-3スタイルのアーキテクチャ |
データセット |
The Pile |
トークナイザー |
Byte Pair Encoding |
語彙サイズ |
50257 |
シーケンス長 |
2048 |
オプティマイザー |
AdamW, (β1, β2) = (0.9, 0.95), adam_eps = 1e−8 (大きなモデルでは1e−9) |
位置エンコーディング |
学習済み |
言語 |
英語 |
これは、2.7Bパラメータを持つCerebras-GPTの標準パラメータ化バージョンです。
関連モデル: Cerebras-GPT Models
モデルのパラメータ
Model |
パラメータ |
レイヤー |
d_model |
ヘッド |
d_head |
d_ffn |
学習率 |
BS (seq) |
BS (tokens) |
Cerebras-GPT |
111M |
10 |
768 |
12 |
64 |
3072 |
6.0E-04 |
120 |
246K |
Cerebras-GPT |
256M |
14 |
1088 |
17 |
64 |
4352 |
6.0E-04 |
264 |
541K |
Cerebras-GPT |
590M |
18 |
1536 |
12 |
128 |
6144 |
2.0E-04 |
264 |
541K |
Cerebras-GPT |
1.3B |
24 |
2048 |
16 |
128 |
8192 |
2.0E-04 |
528 |
1.08M |
Cerebras-GPT |
2.7B |
32 |
2560 |
32 |
80 |
10240 |
2.0E-04 |
528 |
1.08M |
Cerebras-GPT |
6.7B |
32 |
4096 |
32 |
128 |
16384 |
1.2E-04 |
1040 |
2.13M |
Cerebras-GPT |
13B |
40 |
5120 |
40 |
128 |
20480 |
1.2E-04 |
720 → 1080 |
1.47M → 2.21M |
トレーニングデータ
Cerebras-GPTは、EleutherAIのthe Pileデータセットを使用してトレーニングされています。データソースと方法論の詳細については、Pile paperを参照してください。
データは、ftfyライブラリを使用してクリーニングされ、Eleutherが提供するスクリプトを使用してフィルタリングされました。データは、GPT-2語彙を使用したバイトペアエンコーディングでトークン化されています。トークン化されたバージョンのPileには、371Bトークンが含まれています。
最近の研究では、Pileに大量の重複データが存在することが明らかになっています。EleutherのPythiaは、重複データを削減するために重複排除プロセスを適用しています。私たちのモデルは、重複排除されていない標準のPileでトレーニングされていますが、重複排除されたデータセットを使用することでさらなる改善の可能性があります。
トレーニング手順
GPT-3スタイルのモデルアーキテクチャを使用しています。すべてのレイヤーは、GPT-3スタイルの疎なバンド型注意ではなく、完全な注意を使用しています。
学習率は、375Mトークン(111Mと256Mモデルの場合は1500ステップ)でウォームアップされ、10倍のコサイン減衰が適用されます。ドロップアウトは使用されず、重み減衰は0.1に設定されています。すべてのモデルは、MSL 2048でトレーニングされています。
トレーニングテーブル
モデルパラメータ |
シーケンス長 |
バッチサイズ |
ステップ数 |
トークン |
パラメータあたりのトークン |
FLOPs |
111M |
2048 |
120 |
9037 |
2.22E+09 |
20 |
2.6E+18 |
256M |
2048 |
264 |
9468 |
5.12E+09 |
20 |
1.3E+19 |
590M |
2048 |
264 |
21836 |
1.18E+10 |
20 |
6.1E+19 |
1.3B |
2048 |
528 |
24334 |
2.63E+10 |
20 |
2.8E+20 |
2.7B |
2048 |
528 |
49041 |
5.30E+10 |
20 |
1.1E+21 |
6.7B |
2048 |
1040 |
62522 |
1.33E+11 |
20 |
6.3E+21 |
13B |
2048 |
720 |
174335 |
2.57E+11 |
20 |
2.3E+22 |
評価
0-shot評価
モデル |
パラメータ |
トレーニングFLOPs |
PILEテストxent |
Hella-Swag |
PIQA |
Wino-Grande |
Lambada |
ARC-e |
ARC-c |
OpenBookQA |
下流平均 |
Cerebras-GPT |
111M |
2.6E+18 |
2.566 |
0.268 |
0.594 |
0.488 |
0.194 |
0.380 |
0.166 |
0.118 |
0.315 |
Cerebras-GPT |
256M |
1.3E+19 |
2.299 |
0.274 |
0.613 |
0.511 |
0.293 |
0.410 |
0.170 |
0.158 |
0.347 |
Cerebras-GPT |
590M |
6.1E+19 |
2.184 |
0.291 |
0.627 |
0.498 |
0.366 |
0.464 |
0.190 |
0.158 |
0.370 |
Cerebras-GPT |
1.3B |
2.8E+20 |
1.996 |
0.325 |
0.664 |
0.521 |
0.462 |
0.508 |
0.224 |
0.166 |
0.410 |
Cerebras-GPT |
2.7B |
1.1E+21 |
1.834 |
0.386 |
0.701 |
0.559 |
0.567 |
0.571 |
0.246 |
0.206 |
0.462 |
Cerebras-GPT |
6.7B |
6.3E+21 |
1.704 |
0.447 |
0.739 |
0.602 |
0.636 |
0.643 |
0.282 |
0.238 |
0.512 |
Cerebras-GPT |
13B |
2.3E+22 |
1.575 |
0.513 |
0.766 |
0.646 |
0.696 |
0.714 |
0.367 |
0.286 |
0.570 |
5-shot評価
モデル |
パラメータ |
Hella-Swag |
PIQA |
Wino-Grande |
Lambada |
ARC-e |
ARC-c |
OpenBookQA |
Cerebras-GPT |
111M |
0.267 |
0.588 |
0.475 |
0.158 |
0.356 |
0.166 |
0.136 |
Cerebras-GPT |
256M |
0.278 |
0.606 |
0.522 |
0.225 |
0.422 |
0.183 |
0.164 |
Cerebras-GPT |
590M |
0.291 |
0.634 |
0.479 |
0.281 |
0.475 |
0.206 |
0.152 |
Cerebras-GPT |
1.3B |
0.326 |
0.668 |
0.536 |
0.395 |
0.529 |
0.241 |
0.174 |
Cerebras-GPT |
2.7B |
0.382 |
0.697 |
0.543 |
0.487 |
0.590 |
0.267 |
0.224 |
Cerebras-GPT |
6.7B |
0.444 |
0.736 |
0.590 |
0.591 |
0.667 |
0.314 |
0.270 |
Cerebras-GPT |
13B |
0.514 |
0.768 |
0.674 |
0.655 |
0.743 |
0.398 |
0.318 |
使用法と制限
意図された使用法
主な目的は、大規模言語モデルの研究を推進することです。これらのモデルは、自然言語処理、アプリケーション、倫理、およびアライメント研究の基礎モデルとして使用できます。
これらのモデルは、Apacheライセンスでリリースされており、コミュニティが自由に使用できます。
範囲外の使用法
Cerebras-GPTモデルは、英語のみのPileでトレーニングされており、機械翻訳タスクには適していません。また、チャットボットのような人間との対話アプリケーションには最適化されていません。
リスク、バイアス、倫理的考慮事項
- データ: Pileデータセットは、毒性分析、性別バイアス、侮辱的な内容、人種的に敏感な内容など、さまざまな倫理的観点から徹底的に分析されています。詳細については、Pileデータセットの参考文献を参照してください。
- 人間の生活: このモデルの出力は、人間の価値観と一致する場合も一致しない場合もあります。このモデルを、人間の生活に直接影響を与える本番環境に展開する前に、リスクを十分に調査する必要があります。
- リスクと危害: Pileデータセットには、下流のモデル展開でさまざまな形で現れる分布バイアスが存在する可能性があります。大規模言語モデルには、ステレオタイプの拡大、トレーニングデータの記憶、またはプライベートまたはセキュアな情報の開示など、他のリスクも関連しています。
- 緩和策: Cerebras-GPTを事前トレーニングする際には、標準のPileデータセットの前処理における緩和策のみが採用されています。
📄 ライセンス
このモデルは、Apache 2.0ライセンスの下で提供されています。
謝辞
この研究を可能にした、過去と現在のすべてのCerebrasエンジニアに感謝します。