モデル概要
モデル特徴
モデル能力
使用事例
🚀 ピシア-160M
ピシアスケーリングスイートは、解釈可能性の研究を促進するために開発されたモデルのコレクションです(論文を参照)。このスイートには、70M、160M、410M、1B、1.4B、2.8B、6.9B、および12Bのサイズの2セットの8つのモデルが含まれています。各サイズには、Pileデータセットでトレーニングされたモデルと、グローバルに重複排除されたPileデータセットでトレーニングされたモデルの2つがあります。すべての8つのモデルサイズは、まったく同じデータをまったく同じ順序で使用してトレーニングされています。また、各モデルについて154の中間チェックポイントを提供しており、これらはHugging Face上にブランチとしてホストされています。
ピシアモデルスイートは、大規模言語モデルに関する科学的研究、特に解釈可能性の研究を促進するために意図的に設計されています。下流のパフォーマンスを設計目標として中心に置いていないにもかかわらず、これらのモデルは同じサイズの類似モデル(OPTやGPT - Neoスイートのモデルなど)と同等またはそれ以上のパフォーマンスを示すことがわかっています。
以前の早期リリースと命名規則の詳細
以前、私たちはピシアスイートの早期バージョンを公開しました。しかし、いくつかのハイパーパラメータの不一致を解消するために、モデルスイートを再トレーニングすることに決定しました。このモデルカードには変更点が記載されています。詳細な議論については、ピシア論文の付録Bを参照してください。2つのピシアバージョンのベンチマークパフォーマンスには違いがありませんでした。古いモデルは依然として利用可能ですが、ピシアを初めて使用する場合は、再トレーニングされたスイートをお勧めします。
これが現在のリリースです。
なお、ピシアスイートのすべてのモデルは2023年1月に名前が変更されました。明確化のために、このモデルカードには古い名前と新しい名前を比較した表と正確なパラメータ数が記載されています。
🚀 クイックスタート
ピシアモデルは、以下のコードを使用してロードし、使用することができます。ここでは、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
ブランチ上のモデルチェックポイントとまったく同じです。
すべてのピシアモデルの使用方法の詳細については、GitHub上のドキュメントを参照してください。
✨ 主な機能
ピシアモデルスイートは、大規模言語モデルの解釈可能性の研究を促進するために設計されています。同じサイズの他のモデルと同等またはそれ以上のパフォーマンスを示し、154の中間チェックポイントを提供することで、研究における柔軟性を高めています。
📦 インストール
このREADMEには具体的なインストール手順が記載されていないため、このセクションを省略します。
💻 使用例
基本的な使用法
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])
📚 ドキュメント
モデル詳細
属性 | 詳情 |
---|---|
開発元 | EleutherAI |
モデルタイプ | Transformerベースの言語モデル |
言語 | 英語 |
詳細情報 | ピシアのGitHubリポジトリでトレーニング手順、設定ファイル、および使用方法の詳細を確認できます。論文を参照すると、より多くの評価と実装の詳細が得られます。 |
ライブラリ | [GPT - NeoX](https://github.com/EleutherAI/gpt - neox) |
ライセンス | Apache 2.0 |
問い合わせ先 | このモデルに関する質問は、EleutherAI Discordに参加し、#release - discussion に投稿してください。EleutherAI Discordで質問する前に、既存のピシアドキュメントを読んでください。一般的な問い合わせは、contact@eleuther.aiまで。 |
ピシアモデル | 非埋め込みパラメータ | レイヤー | モデル次元 | ヘッド | バッチサイズ | 学習率 | 同等のモデル |
---|---|---|---|---|---|---|---|
70M | 18,915,328 | 6 | 512 | 8 | 2M | 1.0 x 10-3 | — |
160M | 85,056,000 | 12 | 768 | 12 | 2M | 6.0 x 10-4 | GPT - Neo 125M, OPT - 125M |
410M | 302,311,424 | 24 | 1024 | 16 | 2M | 3.0 x 10-4 | OPT - 350M |
1.0B | 805,736,448 | 16 | 2048 | 8 | 2M | 3.0 x 10-4 | — |
1.4B | 1,208,602,624 | 24 | 2048 | 16 | 2M | 2.0 x 10-4 | GPT - Neo 1.3B, OPT - 1.3B |
2.8B | 2,517,652,480 | 32 | 2560 | 32 | 2M | 1.6 x 10-4 | GPT - Neo 2.7B, OPT - 2.7B |
6.9B | 6,444,163,072 | 32 | 4096 | 32 | 2M | 1.2 x 10-4 | OPT - 6.7B |
12B | 11,327,027,200 | 36 | 5120 | 40 | 2M | 1.2 x 10-4 | — |
使用目的と制限
意図された使用目的
ピシアの主な使用目的は、大規模言語モデルの動作、機能、および制限に関する研究です。このスイートは、科学的実験を行うためのコントロールされた環境を提供することを目的としています。また、各モデルについて154のチェックポイントを提供しています。初期のstep0
、10個の対数間隔のチェックポイントstep{1,2,4...512}
、およびstep1000
からstep143000
までの143個の均等間隔のチェックポイントです。これらのチェックポイントはHugging Face上にブランチとしてホストされています。ブランチ143000
は、各モデルのmain
ブランチ上のモデルチェックポイントとまったく同じです。
ピシア - 160Mを展開のためにさらにファインチューニングし、適応させることもできますが、使用はApache 2.0ライセンスに準拠する必要があります。ピシアモデルはHugging FaceのTransformers Libraryと互換性があります。事前学習されたピシア - 160Mをファインチューニングしたモデルの基礎として使用する場合は、独自のリスクとバイアス評価を行ってください。
想定外の使用
ピシアスイートは展開を目的としていません。それ自体は製品ではなく、人間との対話に使用することはできません。たとえば、モデルは有害または不快なテキストを生成する可能性があります。特定の使用ケースに関連するリスクを評価してください。
ピシアモデルは英語のみに対応しており、翻訳や他の言語のテキスト生成には適していません。
ピシア - 160Mは、言語モデルが一般的に展開される下流のコンテキスト(ジャンルの散文の執筆や商用チャットボットなど)に対してファインチューニングされていません。これは、ピシア - 160Mが、ChatGPTのような製品のように与えられたプロンプトに応答しないことを意味します。これは、ChatGPTが人間のフィードバックによる強化学習(RLHF)などの方法を使用してファインチューニングされ、人間の指示をよりよく「従う」ようになっているのに対し、このモデルはそのようなファインチューニングが行われていないためです。
制限とバイアス
大規模言語モデルの核心的な機能は、テキストの文字列を受け取り、次のトークンを予測することです。モデルが使用するトークンは、最も「正確な」テキストを生成する必要はありません。ピシア - 160Mが事実上正確な出力を生成することに決して依存しないでください。
このモデルはthe Pileというデータセットでトレーニングされており、このデータセットには不適切な言葉や猥褻または不快なテキストが含まれていることが知られています。性別、宗教、および人種に関する文書化されたバイアスについての議論は、the Pile論文のセクション6を参照してください。ピシア - 160Mは、プロンプト自体に明示的に不快な内容が含まれていなくても、社会的に受け入れられないまたは望ましくないテキストを生成する可能性があります。
たとえば、Hosted Inference APIを通じて生成されたテキストを使用する予定の場合は、他の人に提示する前に、この言語モデルの出力を人間が精査することをお勧めします。テキストがピシア - 160Mによって生成されたことを聴衆に伝えてください。
トレーニング
トレーニングデータ
The Pileは、英語の825GiBの汎用データセットです。EleutherAIによって大規模言語モデルのトレーニング用に特別に作成されました。このデータセットには、22の多様なソースからのテキストが含まれており、大まかに5つのカテゴリに分けられます。学術論文(例:arXiv)、インターネット(例:CommonCrawl)、散文(例:Project Gutenberg)、対話(例:YouTube字幕)、およびその他(例:GitHub、Enron Emails)です。すべてのデータソースの内訳、方法論、および倫理的な影響に関する議論については、the Pile論文を参照してください。The Pileとその構成データセットに関するより詳細なドキュメントは、データシートを参照してください。The Pileは公式ウェブサイトまたは[コミュニティミラー](https://the - eye.eu/public/AI/pile/)からダウンロードできます。
The Pileは、ピシア - 160Mをトレーニングする前に重複排除されていません。
トレーニング手順
すべてのモデルは、まったく同じデータをまったく同じ順序で使用してトレーニングされています。各モデルは、トレーニング中に299,892,736,000トークンを見ており、143個のチェックポイントが2,097,152,000トークンごとに保存されています。これらはトレーニング全体を通じて均等に間隔を空けており、step1000
からstep143000
(main
と同じ)までです。さらに、頻繁な早期チェックポイントstep0
とstep{1,2,4...512}
も提供しています。
これは、重複排除されていないモデルの場合、The Pile上で1エポック弱のトレーニングに相当し、重複排除されたThe Pile上では約1.5エポックのトレーニングに相当します。
すべてのピシアモデルは、バッチサイズ2M(2,097,152トークン)で143000ステップトレーニングされています。
トレーニング手順の詳細については、GitHubを参照してください。[再現方法](https://github.com/EleutherAI/pythia/blob/main/README.md#reproducing - training)も含まれています。
ピシアは、[GPT - NeoX - 20B](https://huggingface.co/EleutherAI/gpt - neox - 20b)と同じトークナイザーを使用しています。
評価
すべての16個のピシアモデルは、[LM Evaluation Harness](https://github.com/EleutherAI/lm - evaluation - harness)を使用して評価されました。モデルとステップごとの結果は、GitHubリポジトリのresults/json/*
でアクセスできます。
以下のセクションを展開すると、すべてのピシアおよびピシア重複排除モデルの評価結果のプロットを、OPTおよびBLOOMと比較して確認できます。
LAMBADA – OpenAI

Physical Interaction: Question Answering (PIQA)

WinoGrande

AI2 Reasoning Challenge—Easy Set

SciQ

変更履歴
このセクションでは、以前にリリースされたPythia v0と現在のモデルの違いを比較しています。これらの変更とその背景についての詳細な議論は、ピシア論文の付録Bを参照してください。ピシアを再トレーニングしてもベンチマークパフォーマンスに影響はないことがわかっています。
- すべてのモデルサイズが、均一なバッチサイズ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%まで減衰するものを使用していましたが、6.9Bおよび12Bのモデルはすべて、LRが0まで減衰するスケジュールを使用していました。再トレーニングでは、この不一致を修正しました。すべてのモデルが、最大LRの0.1倍まで減衰するLRでトレーニングされるようになりました。
命名規則とパラメータ数
ピシアモデルは2023年1月に名前が変更されました。古い命名規則が誤って一部のドキュメントに残っている可能性があります。現在の命名規則(70M、160Mなど)は、総パラメータ数に基づいています。
現在のピシアサフィックス | 古いサフィックス | 総パラメータ数 | 非埋め込みパラメータ数 |
---|---|---|---|
70M | 19M | 70,426,624 | 18,915,328 |
160M | 125M | 162,322,944 | 85,056,000 |
410M | 350M | 405,334,016 | 302,311,424 |
1B | 800M | 1,011,781,632 | 805,736,448 |
1.4B | 1.3B | 1,414,647,808 | 1,208,602,624 |
2.8B | 2.7B | 2,775,208,960 | 2,517,652,480 |
6.9B | 6.7B | 6,857,302,016 | 6,444,163,072 |
12B | 13B | 11,846,072,320 | 11,327,027,200 |
📄 ライセンス
このプロジェクトはApache 2.0ライセンスの下で提供されています。



