モデル概要
モデル特徴
モデル能力
使用事例
🚀 Pythia-12B
Pythia Scaling Suiteは、解釈可能性の研究を促進するために開発されたモデルのコレクションです。このモデルセットは、大規模言語モデルの科学的研究、特に解釈可能性の研究を推進することを目的としています。
🚀 クイックスタート
Pythiaモデルは、以下のコードを使ってロードして使用することができます。ここでは、3番目のpythia-70m-deduped
チェックポイントを例に説明します。
from transformers import GPTNeoXForCausalLM, AutoTokenizer
model = GPTNeoXForCausalLM.from_pretrained(
"EleutherAI/pythia-70m-deduped",
revision="step3000",
cache_dir="./pythia-70m-deduped/step3000",
)
tokenizer = AutoTokenizer.from_pretrained(
"EleutherAI/pythia-70m-deduped",
revision="step3000",
cache_dir="./pythia-70m-deduped/step3000",
)
inputs = tokenizer("Hello, I am", return_tensors="pt")
tokens = model.generate(**inputs)
tokenizer.decode(tokens[0])
リビジョン/ブランチstep143000
は、各モデルのmain
ブランチのモデルチェックポイントに正確に対応しています。すべてのPythiaモデルの使用方法の詳細については、GitHubのドキュメントを参照してください。
✨ 主な機能
- 研究促進:大規模言語モデルの挙動、機能、制限に関する研究を促進するために開発されました。
- 多様なモデルサイズ:70M、160M、410M、1B、1.4B、2.8B、6.9B、12Bの8つのサイズのモデルがあり、それぞれにPileで訓練されたモデルと、データセットをグローバルに重複排除した後のPileで訓練されたモデルがあります。
- 多数のチェックポイント:各モデルに154の中間チェックポイントが提供され、Hugging Face上にブランチとしてホストされています。
📦 インストール
ドキュメントに明確なインストール手順が記載されていないため、このセクションは省略されます。
📚 ドキュメント
モデルの詳細
Property | Details |
---|---|
開発元 | EleutherAI |
モデルタイプ | Transformerベースの言語モデル |
言語 | 英語 |
詳細情報 | PythiaのGitHubリポジトリで訓練手順、設定ファイル、および使用方法の詳細を確認できます。論文では、より多くの評価と実装の詳細が記載されています。 |
ライブラリ | GPT-NeoX |
ライセンス | Apache 2.0 |
問い合わせ先 | このモデルに関する質問は、EleutherAI Discordに参加し、#release-discussion で投稿してください。EleutherAI Discordで質問する前に、既存のPythiaドキュメントを読んでください。一般的な問い合わせは、contact@eleuther.aiまで。 |
使用法と制限
意図された使用法
Pythiaの主な意図された使用法は、大規模言語モデルの挙動、機能、および制限に関する研究です。このスイートは、科学的実験を行うためのコントロールされた環境を提供することを目的としています。また、各モデルに154のチェックポイントが提供されています。初期のstep0
、10の対数間隔のチェックポイントstep{1,2,4...512}
、およびstep1000
からstep143000
までの143の均等間隔のチェックポイントです。これらのチェックポイントは、Hugging Face上にブランチとしてホストされています。ブランチ143000
は、各モデルのmain
ブランチのモデルチェックポイントに正確に対応しています。
また、Apache 2.0ライセンスに準拠する限り、Pythia-12Bをさらにファインチューニングしてデプロイすることもできます。Pythiaモデルは、Hugging FaceのTransformers Libraryと互換性があります。事前学習済みのPythia-12Bをファインチューニングモデルの基礎として使用する場合は、独自のリスクとバイアス評価を行ってください。
想定外の使用法
Pythia Suiteはデプロイを目的としていません。それ自体が製品ではなく、人間との対話に使用することはできません。たとえば、モデルは有害または不快なテキストを生成する可能性があります。特定のユースケースに関連するリスクを評価してください。
Pythiaモデルは英語のみをサポートしており、翻訳や他の言語のテキスト生成には適していません。
Pythia-12Bは、文章の執筆や商用チャットボットなど、言語モデルが一般的にデプロイされる下流のコンテキストでファインチューニングされていません。これは、Pythia-12BがChatGPTのような製品のように与えられたプロンプトに応答しないことを意味します。これは、ChatGPTは人間のフィードバックによる強化学習(RLHF)などの方法を使用してファインチューニングされ、人間の指示をよりよく「従う」ようになっているのに対し、このモデルはそうではないからです。
制限とバイアス
大規模言語モデルの核心機能は、テキストの文字列を受け取り、次のトークンを予測することです。モデルが使用するトークンは、最も「正確」なテキストを生成する必要はありません。Pythia-12Bが事実上正確な出力を生成することに決して依存しないでください。
このモデルは、the Pileという、不適切な表現や猥褻または不快なテキストを含むことが知られているデータセットで訓練されています。性別、宗教、人種に関する文書化されたバイアスの議論については、Pile論文のセクション6を参照してください。Pythia-12Bは、プロンプト自体に明示的に不快な内容が含まれていなくても、社会的に受け入れられないまたは望ましくないテキストを生成する可能性があります。
たとえば、Hosted Inference APIを通じて生成されたテキストを使用する予定の場合は、他の人に提示する前に、この言語モデルの出力を人間が検閲することをお勧めします。テキストがPythia-12Bによって生成されたことを聴衆に伝えてください。
訓練
訓練データ
The Pileは、英語の825GiBの汎用データセットです。EleutherAIによって大規模言語モデルの訓練用に特別に作成されました。22の多様なソースからのテキストが含まれており、大まかに5つのカテゴリに分けられます。学術論文(例:arXiv)、インターネット(例:CommonCrawl)、散文(例:Project Gutenberg)、対話(例:YouTube字幕)、その他(例:GitHub、Enron Emails)です。すべてのデータソースの内訳、方法論、および倫理的な影響の議論については、Pile論文を参照してください。Pileとその構成データセットに関するより詳細なドキュメントについては、データシートを参照してください。Pileは、公式ウェブサイトまたはコミュニティミラーからダウンロードできます。Pythia-12Bを訓練する前に、Pileは重複排除されていません。
訓練手順
すべてのモデルは、まったく同じデータをまったく同じ順序で訓練されました。各モデルは、訓練中に299,892,736,000トークンを見ており、各モデルについて143のチェックポイントが、2,097,152,000トークンごとに保存され、訓練全体を通じて均等に間隔を空けて、step1000
からstep143000
(これはmain
と同じです)まで保存されます。さらに、初期の頻繁なチェックポイントも提供されています。step0
とstep{1,2,4...512}
です。これは、重複排除されていないモデルの場合はPile上で1エポック弱、重複排除されたPile上では約1.5エポックの訓練に相当します。
すべてのPythiaモデルは、バッチサイズ2M(2,097,152トークン)で143000ステップ訓練されました。訓練手順の詳細については、GitHubを参照してください。再現方法も含まれています。Pythiaは、GPT-NeoX-20Bと同じトークナイザーを使用しています。
評価
すべての16のPythiaモデルは、LM Evaluation Harnessを使用して評価されました。モデルとステップごとの結果にアクセスするには、GitHubリポジトリのresults/json/*
を参照してください。以下のセクションを展開すると、すべてのPythiaおよびPythia-dedupedモデルの評価結果のプロットが、OPTおよびBLOOMと比較されて表示されます。
LAMBADA – OpenAI

Physical Interaction: Question Answering (PIQA)

WinoGrande

AI2 Reasoning Challenge—Easy Set

SciQ

変更履歴
このセクションでは、以前にリリースされたPythia v0と現在のモデルの違いを比較しています。これらの変更とその背後にある動機の詳細な議論については、Pythia論文の付録Bを参照してください。Pythiaを再訓練しても、ベンチマーク性能に影響はないことがわかりました。
- すべてのモデルサイズが、均一なバッチサイズ2Mトークンで訓練されるようになりました。以前は、160M、410M、および1.4Bパラメータのモデルが4Mトークンのバッチサイズで訓練されていました。
- 初期化時(ステップ0)とステップ{1,2,4,8,16,32,64,128,256,512}に加えて、訓練ステップごとに1000ステップごとにチェックポイントが追加されました。
- 新しい再訓練されたスイートでは、Flash Attentionが使用されました。
- 元のスイートに存在していた小さな不一致を修正しました。2.8Bパラメータ以下のすべてのモデルは、学習率(LR)スケジュールが開始LRの10%の最小LRまで減衰するものを使用していましたが、6.9Bおよび12Bのモデルはすべて、最小LRが0まで減衰するLRスケジュールを使用していました。再訓練ランでは、この不一致を修正しました。すべてのモデルが、最大LRの0.1倍の最小値まで減衰するLRで訓練されるようになりました。
命名規則とパラメータ数
Pythiaモデルは、2023年1月に名前が変更されました。古い命名規則が誤って一部のドキュメントに残っている可能性があります。現在の命名規則(70M、160Mなど)は、総パラメータ数に基づいています。
🔧 技術詳細
ドキュメントに十分な技術的詳細が記載されていないため、このセクションは省略されます。
📄 ライセンス
このモデルは、Apache 2.0ライセンスの下で提供されています。



