モデル概要
モデル特徴
モデル能力
使用事例
🚀 Cerebras-GPT 111M
Cerebras-GPT 111Mは、大規模言語モデル(LLM)の研究を促進するために開発されたモデルです。このモデルは、Cerebrasのソフトウェアとハードウェアスタック上でのLLMのトレーニングの簡単さと拡張性を実証するものです。
🚀 クイックスタート
このモデルは、AutoModelForCausalLM
機能を使用して簡単にロードできます。
基本的な使用法
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("cerebras/Cerebras-GPT-111M")
model = AutoModelForCausalLM.from_pretrained("cerebras/Cerebras-GPT-111M")
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トークン)に従ってトレーニングされています。
📦 インストール
このモデルはHugging Faceから直接ロードできるため、特別なインストール手順は必要ありません。以下のコードを使用してモデルをロードできます。
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("cerebras/Cerebras-GPT-111M")
model = AutoModelForCausalLM.from_pretrained("cerebras/Cerebras-GPT-111M")
📚 ドキュメント
モデルの詳細
属性 | 详情 |
---|---|
開発元 | 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) |
位置エンコーディング | 学習済み |
言語 | 英語 |
これは、111M パラメータのCerebras-GPTの標準パラメータ化バージョンです。
関連モデル: Cerebras-GPT Models
モデルのパラメータ比較
モデル | パラメータ | レイヤー | d_model | ヘッド | d_head | d_ffn | 学習率 | バッチサイズ (シーケンス) | バッチサイズ (トークン) |
---|---|---|---|---|---|---|---|---|---|
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論文 を参照してください。Pileは、ftfyライブラリを使用してテキストを正規化し、Eleutherが提供するスクリプトを使用してフィルタリングされました。
データは、GPT - 2語彙を使用したバイトペアエンコーディングでトークナイズされました。私たちのトークナイズされたバージョンのPileには、371Bトークンが含まれています。トレーニングデータセットの前処理の詳細については、論文の付録A.1を参照してください。
最近の研究では、Pileに大量の重複データが存在することがわかっています。EleutherのPythiaは、重複データを削減するための重複排除プロセスを適用し、Pileデータセットのサイズを減らしています。Pythiaは、標準データセットと重複排除されたデータセットの両方でトレーニングされ、その影響を評価しています。私たちのモデルは、重複排除されていない標準のPileでトレーニングされており、重複排除されたデータセットを使用することでさらなる改善の余地があります。
トレーニング手順
私たちは、GPT - 3スタイルのモデルアーキテクチャを使用しています。すべてのレイヤーは、GPT - 3スタイルの疎なバンド化されたアテンションではなく、完全なアテンションを使用しています。モデルの形状は、アスペクト比80に従うか、GPT - 3モデルと同じ形状に選択されました。学習率は、375Mトークン(111Mと256Mモデルの場合は1500ステップ)でウォームアップされ、10倍のコサイン減衰が適用されました。ドロップアウトは使用されず、重み減衰は0.1に設定されました。すべてのモデルは、MSL 2048でトレーニングされています。
すべてのモデルは、Chinchillaポイントまでトレーニングされています:モデルパラメータごとに20トークン。ステップ数は、最適なバッチサイズ(モデルによって異なる)と固定シーケンス長(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 → 1080 | 174335 | 2.57E+11 | 20 | 2.3E+22 |
評価
私たちは、最小のモデルから最大のモデルまでトレーニングし、その過程でべき乗則を適合させました。べき乗則は、次にトレーニングする最大のモデルの検証損失を外挿するのに役立ち、トレーニング実行が順調に進んでいるかどうかについての自信を与えてくれました。
私たちは、Pileの検証とテスト分割を使用して、テキスト予測の交差エントロピーの上流(事前トレーニング)評価を行いました。また、Eleuther lm - evaluation - harness を使用して、標準化されたタスクでのテキスト生成精度の下流評価を行いました。結果は、論文のセクション3で多くの公開されている大規模言語モデルと比較されています。
0ショット評価
モデル | パラメータ | トレーニングFLOPs | PILEテスト交差エントロピー | 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ショット評価
モデル | パラメータ | 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 |
使用方法と制限
意図された使用法
主な意図された使用法は、大規模言語モデルの研究をさらに推進することです。これらのモデルは、自然言語処理、アプリケーション、倫理、およびアライメント研究の基礎モデルとして使用できます。主な対象ユーザーは、LLMを改善するために取り組んでいる研究者と、参照実装、トレーニング設定、ハイパーパラメータ、または事前トレーニングされたモデルを求める実践者です。私たちは、これらのモデルを完全に許容的なApacheライセンスでリリースし、コミュニティが自由に使用できるようにしています。
あなたは、Cerebras Model Studio またはサードパーティのライブラリを介して、Cerebras-GPTモデルをデプロイするために微調整および適応させることができます。Cerebras-GPTモデルファミリーを本番環境の下流アプリケーションで使用する前に、さらなる安全性関連のテストと緩和策を適用する必要があります。
財政的およびコンピューティング予算の制約により、Cerebras-GPTモデルは、論文で説明されたアプローチに従ってのみトレーニングおよび評価されました。
想定外の使用法
Cerebras-GPTモデルは、英語のみのPileでトレーニングされており、機械翻訳タスクには適していません。
Cerebras-GPTモデルは、チャットボットのような人間との対話アプリケーションには調整されておらず、Flan-T5やChatGPTのように命令調整または人間のフィードバックによる強化学習(RLHF)を受けたモデルと同じようにプロンプトに応答することはできません。Cerebras-GPTモデルは、これらの方法を使用して調整することができます。
リスク、バイアス、倫理的考慮事項
- データ:Pileデータセットは、毒性分析、性別バイアス、侮辱的な内容、人種的に敏感な内容など、さまざまな倫理的観点から徹底的に分析されています。Pileデータセットの参考文献を参照してください。
- 人間の生活:このモデルの出力は、人間の価値と一致する場合も一致しない場合もあります。このモデルを人間の生活に直接影響を与える本番環境にデプロイする前に、リスクを十分に調査する必要があります。
- リスクと害:Pileデータセットには分布バイアスが存在する可能性があり、下流のモデルデプロイでさまざまな形で現れる可能性があります。大規模言語モデルには、ステレオタイプの拡大、トレーニングデータの記憶、または個人情報や機密情報の開示など、他のリスクも関連しています。
- 緩和策:Cerebras-GPTを事前トレーニングする際には、標準のPileデータセットの前処理における緩和策のみが採用されました。
📄 ライセンス
このモデルは、Apache 2.0ライセンスの下で提供されています。
謝辞
この研究を可能にした、過去および現在のすべてのCerebrasのエンジニアに感謝します。



