GPT-4の詳細がリークされた

c55d04e5e504ac58cda3dcfd180d2879.png

GPT-4の詳細は漏洩しており、信憑性は不明であると著者は述べています。いくつかの重要な情報:- GPT-4 は GPT-3 の 10 倍以上のサイズです。120 レイヤーに合計約 1 兆 8,000 億のパラメータがあると考えられます。- GPT-4 は複数のエキスパート モデルを組み合わせたものですが、前述の 8 人のエキスパートではなく 16 人のエキスパートです。研究者らは、64 ~ 128 人の専門家を使用した方が、16 人の専門家を使用した場合よりも損失が大きいことを示していますが、これは純粋な研究です。OpenAI が 16 人の専門家を選んだ理由の 1 つは、より多くの専門家が多くのタスクにわたって一般化することが難しいためです。専門家が増えると収束に達することが難しくなる可能性もあります。- 事前トレーニングフェーズのコンテキスト長 (seqlen) は 8k です。GPT-4 の 32k seqlen バージョンは、事前トレーニング後の 8k 微調整の結果です。- すべての A100 GPU での並列化には、8 ウェイ テンソル並列処理が使用されました。これは NVLink の制限であるためです。- クラウドでのコストが 1 時間あたり約 1 ドル/A100 である場合、この実行のトレーニング コストは約 6,300 万ドルになります。- GPT-4 の推論コストは、175B パラメータを持つ Davinchi の推論コストの 3 倍です。これは主に、GPT-4 では大規模なクラスターが必要であり、使用率が低いという事実によるものです。そのコストは 0.0049 ドル/1,000 トークンと推定されます。(GPT-4 の現在の API 価格は約 0.03 ドル / 1,000 トークンです) - 新しい GPT-4 の品質が低下するのは、オラクル モデルが投機的復号モデルからのより低い確率のシーケンスを受け入れることができるためである可能性があるという陰謀論があります。- 推論は 128 GPU のクラスター上で実行されます。これは、8 方向のテンソル並列処理と 16 方向のパイプライン並列処理で実行されます。各 8 GPU ノードには約 1,300 億個のパラメータしかなく、FP16 では GPU あたり 30 GB 未満、FP8/int8 では 15 GB 未満です。- ビジュアル マルチモダリティは、クロスアテンションを備えたテキスト エンコーダとは別のビジュアル エンコーダです。アーキテクチャはFlamingoに似ています。これにより、GPT-4 の 1.8T にさらにパラメーターが追加されます。テキストの事前トレーニング後、微調整のためにさらに 2 兆のトークンが使用されます。OpenAI はビジョン モデルに関して、ゼロからトレーニングすることを望んでいますが、十分に成熟していないため、テキストから始めることでリスクを軽減したいと考えています。トレーニングに使用するデータの一部は、結合データ (レンダリングされた LaTeX/テキスト)、Web ページのスクリーンショット、YouTube ビデオ: サンプル フレームであり、それらの周りで Whisper を実行して文字起こしを取得します。参考までに彼のツイートスレッドを翻訳してください: GPT-4 の詳細がリークされました。すべてがここにあります:

パラメータの数: GPT-4 は GPT-3 の 10 倍以上のサイズです。120 レイヤーに合計約 1 兆 8,000 億のパラメータがあると考えられます。混合エキスパート モデル - 確認済み。OpenAI は、専門家混合 (MoE、専門家混合) モデルを使用することで、コストを合理的に保つことができます。彼らはモデルに 16 人の専門家を使用し、各専門家には約 1,110 億の MLP パラメータがありました。各フォワード パスは、これらのエキスパートのうち 2 人にルーティングされます。Mixture of Experts (MoE) ルーティング: 各トークンをどのエキスパートにルーティングするかを選択するための高度なルーティング アルゴリズムについては文献で詳しく議論されていますが、OpenAI の GPT-4 モデルのルーティング アプローチは非常に単純であると言われています。注意すべき共有パラメータは約 550 億あります。推論: 各フォワード パス推論 (1 トークンの生成) では、約 2,800 億のパラメーターと約 560 TFLOP のみが使用されます。これは、純粋に高密度のモデルの場合、フォワード パスごとに約 1.8 兆のパラメーターと約 3700 TFLOP が必要となるのとは対照的です。

データセット: GPT-4 は約 13 兆のトークンでトレーニングされます。これらは唯一のトークンではなく、さらに多くのトークンもエポックとしてカウントされます。エポック数: テキスト データの場合は 2 エポック、コード データの場合は 4 エポック。ScaleAI および内部からの命令微調整データは数百万行あります。GPT-4 32K: 事前トレーニングフェーズのコンテキスト長 (seqlen) は 8k です。GPT-4 の 32k seqlen バージョンは、事前トレーニング後の 8k 微調整の結果です。バッチ サイズ: クラスターが実行されている数日間でバッチ サイズは徐々に増加しましたが、最終的には OpenAI は 6,000 万のバッチ サイズを使用していました。もちろん、すべての専門家がすべてのトークンを確認しているわけではないため、これは各専門家が確認した 750 万トークンのバッチ サイズ「のみ」です。実際のバッチ サイズの場合: この数値を seq len で割って、実際のバッチ サイズを取得します。これらの誤解を招く番号の使用は中止されました。並列戦略: すべての A100 GPU で並列化するために、8 ウェイ テンソル並列処理が使用されました。これは NVLink の制限であるためです。それに加えて、15 方向のパイプライン並列処理も使用されました。(おそらく ZeRo Stage 1 を使用しました。ブロックレベルの FSDP を使用した可能性があります) トレーニング コスト: OpenAI の GPT-4 トレーニング FLOPS は、約 25 で約 2.15e25、000 台の A100 を 90 ~ 100 日間実行すると、MFU は約 32% ~ 36% になります。この極端に低い使用率は、再起動するチェックポイントの数が膨大であることが 1 つ原因です。クラウドでのコストが 1 時間あたり約 1 ドル/A100 である場合、この実行のトレーニング コストは約 6,300 万ドルになります。(現在、事前トレーニングは約 8192 H100 で、コスト 2,150 万ドル、つまり H100 の 1 時間あたり 2 ドルで、約 55 日で実行できます。) 専門家の混合トレードオフ: 複数の MoE トレードオフが考慮されます: たとえば、トークン生成ごとにモデルのすべての部分が使用されるわけではないため、MoE は推論において非常に扱いにくいです。これは、他の部品が使用されている間、部品が休止状態になる可能性があることを意味します。これにより、ユーザーにサービスを提供する際の使用率が大幅に低下する可能性があります。研究者らは、64 ~ 128 人の専門家を使用した方が、16 人の専門家を使用した場合よりも損失が大きいことを示していますが、これは純粋な研究です。さまざまな理由により、選ばれるスペシャリストの数が少なくなります。OpenAI が 16 人の専門家を選んだ理由の 1 つは、より多くの専門家が多くのタスクにわたって一般化することが難しいためです。専門家が増えると収束に達することが難しくなる可能性もあります。このような大規模なトレーニングの実行に対して、OpenAI は専門家の数をより控えめにすることを選択しました。GPT-4 推論コスト: GPT-4 のコストは、パラメーターが 175B の Davinchi のコストの 3 倍です。これは主に、GPT-4 では大規模なクラスターが必要であり、使用率が低いという事実によるものです。そのコストは、128 個の A100 を使用した GPT-4 8k seqlen の推論の場合は 0.0049 ドル/1K トークン、128 個の H100 を使用した GPT-4 8k seqlen の推論の場合は 0.0021 ドル/1K トークンと推定されます。高い使用率を想定し、バッチ サイズを大きく保つことに注意してください。マルチクエリ アテンション: OpenAI は他のものと同様に MQA (マルチクエリ アテンション) を使用します。したがって、必要なヘッダーは 1 つだけであり、KV キャッシュのメモリ容量を大幅に削減できます。それでも、32k seqlen を備えた GPT-4 は 40GB A100 では確実に動作せず、8k での最大 bsz は制限されています。連続バッチ処理: OpenAI は、可変バッチ サイズと連続バッチ処理を実装します。これは、推論コストを最適化しながら、ある程度の最大レイテンシーを許容するために行われます。ビジュアル マルチモーダル: これは、クロスアテンションを備えたテキスト エンコーダーとは別のビジュアル エンコーダーです。アーキテクチャはFlamingoに似ています。これは GPT-4 の 1 にあります。8T を超えるとさらにパラメータが追加されます。テキストの事前トレーニング後、微調整のためにさらに 2 兆のトークンが使用されます。OpenAI はビジョン モデルに関して、ゼロからトレーニングすることを望んでいますが、十分に成熟していないため、テキストから始めることでリスクを軽減したいと考えています。この視覚能力の主な目的の 1 つは、Web ページを読んだり、画像やビデオからコンテンツを転写できるようになることです。トレーニングに使用するデータの一部は、結合データ (レンダリングされた LaTeX/テキスト)、Web ページのスクリーンショット、YouTube ビデオ: サンプル フレームであり、それらの周りで Whisper を実行して文字起こしを取得します。投機的デコーディング: OpenAI は GPT-4 推論で投機的デコーディングを使用する可能性があります (100% かどうかはわかりません)。このアイデアは、より小さくて高速なモデルを使用して事前にいくつかのトークンをデコードし、それらを単一のバッチとして大規模な Oracle モデルにフィードすることです。小さなモデルの予測が正しく、大きなモデルも一致した場合、1 つのバッチで複数のトークンをデコードできます。ただし、ドラフト モデルによって予測されたトークンが大きなモデルで拒否された場合、残りのバッチは破棄され、大きなモデルが続行されます。品質低下に関する新しい GPT-4 陰謀論は、単純に、オラクル モデルが投機的復号モデルからのより低い確率のシーケンスを受け入れられるようにしているためである可能性があります。推論アーキテクチャ: 推論は 128 GPU のクラスター上で実行されます。異なる場所にある複数のデータセンターには、このようなクラスターが複数存在します。これは、8 方向のテンソル並列処理と 16 方向のパイプライン並列処理で実行されます。各 8 GPU ノードには約 1,300 億個のパラメータしかなく、FP16 では GPU あたり 30 GB 未満、FP8/int8 では 15 GB 未満です。モデルには 120 のレイヤーがあるため、15 の異なるノードに適合します。[埋め込みを計算する必要があるため、最初のノードのレイヤーはおそらく少ないでしょう] これらの数字によると、OpenAI がチンチラの最適性についてトレーニングしようとしている場合、2 倍のトークンでトレーニングする必要があります。[我々のように超えることは言うまでもありませんが] 質の高いデータを取得するために熱心に取り組んでいることがわかります。なぜFSDPがないのですか? おそらく、彼らが入手したハードウェア インフラストラクチャの一部が古い世代のものであることが考えられます。組織は通常、運用の完全な停止を避けるためにインフラストラクチャを数回の「ウェーブ」でアップグレードするため、これはオンプレミスのコンピューティング クラスターでは一般的です。パイプラインは他の部分と同様に非常に並列であるため、「バッチ バブル」、つまりバッチ間のわずかなアイドル時間の影響を受ける可能性があります。繰り返しますが、魔法はありません。彼らは自分たちがやっていることを知っていますが、それは魔法ではありません。これは、彼らが高品質のデータを取得するために熱心に取り組んでいることを示しています。なぜFSDPがないのですか? おそらく、彼らが入手したハードウェア インフラストラクチャの一部が古い世代のものであることが考えられます。組織は通常、運用の完全な停止を避けるためにインフラストラクチャを数回の「ウェーブ」でアップグレードするため、これはオンプレミスのコンピューティング クラスターでは一般的です。パイプラインは他の部分と同様に非常に並列であるため、「バッチ バブル」、つまりバッチ間のわずかなアイドル時間の影響を受ける可能性があります。繰り返しますが、魔法はありません。彼らは自分たちがやっていることを知っていますが、それは魔法ではありません。

おすすめ

転載: blog.csdn.net/cq20110310/article/details/131671723