モデル概要
モデル特徴
モデル能力
使用事例
🚀 ピシア・スケーリング・スイート
ピシア・スケーリング・スイートは、解釈可能性の研究を促進するために開発されたモデルのコレクションです(論文を参照)。このスイートには、70M、160M、410M、1B、1.4B、2.8B、6.9B、および12Bのサイズの2セット、合計16個のモデルが含まれています。各サイズには、Pileデータセットで訓練されたモデルと、データセットをグローバルに重複排除した後のPileで訓練されたモデルの2つがあります。すべての8つのモデルサイズは、まったく同じデータをまったく同じ順序で使用して訓練されています。また、各モデルについて154の中間チェックポイントを提供しており、これらはHugging Face上でブランチとしてホストされています。
ピシアモデルスイートは、大規模言語モデルに関する科学的研究、特に解釈可能性の研究を促進することを目的として設計されています。下流のパフォーマンスを設計目標として中心に置いていないにもかかわらず、これらのモデルは同等または同サイズのモデル(OPTやGPT - Neoスイートのモデルなど)と同等以上のパフォーマンスを発揮することがわかっています。
以前の早期リリースと命名規則の詳細
以前、我々はピシアスイートの早期バージョンを公開しました。しかし、いくつかのハイパーパラメータの不一致を解消するために、モデルスイートを再訓練することに決定しました。このモデルカードでは変更点をリストしています。詳細な議論については、ピシア論文の付録Bを参照してください。2つのピシアバージョンのベンチマークパフォーマンスに違いは見られませんでした。古いモデルは依然として利用可能ですが、ピシアを初めて使用する場合は再訓練されたスイートをお勧めします。
これが現在のリリースです。
なお、ピシアスイートのすべてのモデルは2023年1月に名称が変更されました。明確化のために、このモデルカードには旧名と新名を比較した表と正確なパラメータ数が記載されています。
Pythia - 1B - deduped
📚 モデルの詳細
属性 | 详情 |
---|---|
開発者 | EleutherAI |
モデルタイプ | Transformerベースの言語モデル |
言語 | 英語 |
詳細情報 | ピシアのGitHubリポジトリで訓練手順、設定ファイル、および使用方法の詳細を確認できます。 論文を参照して、より多くの評価と実装の詳細を確認してください。 |
ライブラリ | [GPT - NeoX](https://github.com/EleutherAI/gpt - neox) |
ライセンス | Apache 2.0 |
問い合わせ先 | このモデルに関する質問は、EleutherAI Discordに参加し、#release - discussion で投稿してください。EleutherAI Discordで質問する前に、既存のピシアのドキュメントを読んでください。一般的な問い合わせは、contact@eleuther.aiまで。 |
💻 使用例と制限事項
想定される使用方法
ピシアの主な使用目的は、大規模言語モデルの振る舞い、機能、および制限に関する研究です。このスイートは、科学的実験を行うためのコントロールされた環境を提供することを目的としています。また、各モデルについて154のチェックポイントを提供しています。初期のstep0
、10個の対数間隔のチェックポイントstep{1,2,4...512}
、およびstep1000
からstep143000
までの143個の等間隔のチェックポイントです。これらのチェックポイントは、Hugging Face上でブランチとしてホストされています。なお、ブランチ143000
は、各モデルのmain
ブランチ上のモデルチェックポイントに正確に対応しています。
また、Pythia - 1B - dedupedをApache 2.0ライセンスに準拠する限り、展開のためにさらにファインチューニングして適応させることもできます。ピシアモデルは、Hugging FaceのTransformers Libraryと互換性があります。事前学習済みのPythia - 1B - dedupedをファインチューニングモデルの基礎として使用することを決定した場合は、独自のリスクとバイアス評価を行ってください。
想定外の使用方法
ピシアスイートは展開を目的としていません。それ自体が製品ではなく、人間との対話に使用することはできません。例えば、モデルは有害または不快なテキストを生成する可能性があります。特定のユースケースに関連するリスクを評価してください。
ピシアモデルは英語のみに対応しており、翻訳や他の言語のテキスト生成には適していません。
Pythia - 1B - dedupedは、言語モデルが一般的に展開される下流のコンテキスト(ジャンルの散文の執筆や商用チャットボットなど)に対してファインチューニングされていません。これは、Pythia - 1B - dedupedが、ChatGPTのような製品のように与えられたプロンプトに応答しないことを意味します。これは、ChatGPTとは異なり、Pythia - 1B - dedupedは人間のフィードバックによる強化学習(RLHF)などの方法を使用してファインチューニングされておらず、人間の指示をよりよく「従う」ように訓練されていないためです。
制限事項とバイアス
大規模言語モデルの核心的な機能は、テキストの文字列を受け取り、次のトークンを予測することです。モデルが使用するトークンは、最も「正確な」テキストを生成する必要はありません。決してPythia - 1B - dedupedが事実上正確な出力を生成することを信頼しないでください。
このモデルは、the Pileという、不適切な表現や下品または不快なテキストを含むことが知られているデータセットで訓練されています。性別、宗教、および人種に関する文書化されたバイアスについての議論は、the Pile論文のセクション6を参照してください。Pythia - 1B - dedupedは、プロンプト自体に明らかに不快な内容が含まれていなくても、社会的に受け入れられないまたは望ましくないテキストを生成する可能性があります。
例えば、Hosted Inference APIを通じて生成されたテキストを使用する場合は、他の人に提示する前に、この言語モデルの出力を人間が精査することをお勧めします。テキストがPythia - 1B - dedupedによって生成されたことを聴衆に伝えてください。
クイックスタート
ピシアモデルは、以下のコードを使用してロードし、使用することができます。ここでは、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上のドキュメントを参照してください。
🔧 訓練
訓練データ
Pythia - 1B - dedupedは、データセットがグローバルに重複排除された後のPileで訓練されました。
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/)からダウンロードできます。
訓練手順
すべてのモデルは、まったく同じデータをまったく同じ順序で使用して訓練されました。各モデルは、訓練中に299,892,736,000トークンを見ており、各モデルについて143のチェックポイントが2,097,152,000トークンごとに保存されています。これらは訓練全体を通じて等間隔で、step1000
からstep143000
(これはmain
と同じ)までです。さらに、頻繁な初期チェックポイントstep0
とstep{1,2,4...512}
も提供しています。これは、非重複排除モデルについてはPile上で1エポック弱、重複排除済みPileについては約1.5エポックの訓練に相当します。
すべてのピシアモデルは、バッチサイズ2M(2,097,152トークン)で143000ステップ訓練されました。
訓練手順の詳細([再現方法](https://github.com/EleutherAI/pythia/blob/main/README.md#reproducing - training)を含む)については、GitHubを参照してください。
ピシアは、[GPT - NeoX - 20B](https://huggingface.co/EleutherAI/gpt - neox - 20b)と同じトークナイザーを使用しています。
📊 評価
すべての16個のピシアモデルは、[LM Evaluation Harness](https://github.com/EleutherAI/lm - evaluation - harness)を使用して評価されました。モデルとステップごとの結果にアクセスするには、GitHubリポジトリのresults/json/*
を参照してください。
以下のセクションを展開すると、すべてのピシアおよびピシア - dedupedモデルの評価結果のプロットを、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を開始LRの10%に減衰させていましたが、6.9Bおよび12Bモデルはすべて最小LRを0に減衰させるLRスケジュールを使用していました。再訓練ランでは、この不一致を修正しました。すべてのモデルが現在、最大LRの0.1倍まで減衰するLRで訓練されています。
命名規則とパラメータ数
ピシアモデルの名称は2023年1月に変更されました。誤って古い命名規則が一部のドキュメントに残っている可能性があります。現在の命名規則(70M、160Mなど)は、総パラメータ数に基づいています。
📄 ライセンス
このプロジェクトは、Apache 2.0ライセンスの下でライセンスされています。



