目次
FAQ
ホームページ テクノロジー周辺機器 AI ChatGPT モデルのパラメータ≠ 1,750 億、誰かが矛盾によってそれを証明しました。

ChatGPT モデルのパラメータ≠ 1,750 億、誰かが矛盾によってそれを証明しました。

Apr 08, 2023 am 11:51 AM
ai chatgpt

ChatGPT の人気は今も続いており、それに関する最新ニュースや技術的な解釈が生まれ続けています。パラメーターの数に関しては、ChatGPT には GPT-3 論文で紹介されている 1,750 億パラメーター モデルと同じ数のパラメーターがあるという共通の仮定があります。しかし、大規模な言語モデルの分野で深く研究している人々は、これが真実ではないことを知っています。 A100 GPU のメモリ帯域幅を分析すると、ChatGPT API の実際の推論速度は、1,750 億 Dense 相当モデルの理論上の最大推論速度よりもはるかに高速であることがわかります。

この記事では、大学で学んだいくつかの理論的知識のみを使用して、矛盾による証明を使用して上記の議論を証明し、裏付けます。また、逆の問題もあることにも注意してください。ChatGPT には X 十億パラメータしかない (X は 1750 よりはるかに小さい) と主張する人もいます。しかし、これらの主張をする人は通常、伝聞に基づいて語っているため、検証することはできません。

#次のステップは、詳細な議論のプロセスです。

矛盾メソッド

ChatGPT モデルには 1,750 億個のパラメーターがあると仮定します。通常、INT8 形式は、推論の待ち時間を短縮し、スループットを高めるために LLM の重みを保存するために使用されます。メモリ要件が少なくなります (float16 形式で保存する場合に比べてメモリが 2 倍少なくなります)。各 INT8 パラメータには、保存用に 1 バイトが必要です。単純な計算では、このモデルには 175GB のストレージ容量が必要であることがわかります。

ChatGPT モデルのパラメータ≠ 1,750 億、誰かが矛盾によってそれを証明しました。

画像は INT8 SmoothQuant 論文からのものです (アドレス: https://arxiv.org/abs) /2211.10438

推論の観点から見ると、GPT スタイルの言語モデルは各フォワード パスで「自己回帰」し、次に可能性の高いトークンを予測します (ChatGPT の RLHF モデルの場合) 、ヒューマン・アノテーターが好む次のトークンを予測します)。これは、200 個のトークンが生成されるため、200 回の順方向パスを実行する必要があることを意味します。各フォワード パスでは、モデルのすべての重みを高帯域幅 (HBM) メモリから行列計算ユニット (GPU のテンソル コンピューティング コア) にロードする必要があります。つまり、各フォワード パスで 175 GB の重みをロードする必要があります。フォワードパスです。

Microsoft Azure プラットフォームでは、ノードに割り当てられる A100 の最大数は 8 です。これは、モデル インスタンスあたりの最大テンソル並列処理が 8 であることを意味します。したがって、テンソル並列処理によりすべての GPU で重みと計算を並列化できるため、順方向パスごとに 175 GB の重みをロードする代わりに、GPU ごとに 21.87 GB をロードするだけで済みます。

ChatGPT モデルのパラメータ≠ 1,750 億、誰かが矛盾によってそれを証明しました。

写真は Megatron-LM 論文からのものです。アドレス: https://arxiv.org/ abs/1909.08053

A100 80GB SXM バージョンでは、最大メモリ帯域幅は 2TB/秒です。これは、batchsize=1 (メモリ帯域幅によって制限される) の場合、理論上の最大フォワード パス速度は 91 回/秒になることを意味します。また、ほとんどの時間は行列の乗算の計算ではなく、重みのロードに費やされます。

ChatGPT モデルのパラメータ≠ 1,750 億、誰かが矛盾によってそれを証明しました。

#注: fp16/bfloat16 の場合、メモリ帯域幅によって制限される場合の理論上の最大フォワード パス速度は 45.5 に達します。回/秒。

#ChatGPT の実際のレイテンシはどれくらいですか?

Python で書かれたスクリプトを夜間に実行し (夜間の実行はコストが安くなります)、OpenAI API を介して ChatGPT を使用する際のレイテンシをテストします。フォワード パスによって達成される最大経験速度は 101 です。回/秒。このペーパーでは、OpenAI のバックエンドと動的バッチ システムからのオーバーヘッドを最小限に抑える必要があるため、実験の最大限の経験結果を使用します。

結論

これまでの仮定と議論によれば、矛盾があることがわかります。経験的結果 A100 プラットフォームのメモリ帯域幅に基づく最大理論的結果よりもはるかに高速です。したがって、OpenAI が推論に使用する ChatGPT モデルは、1,750 億個のパラメーターの高密度モデルと明らかに同等ではないと結論付けることができます。

FAQ

#1. トレーニング モデルのパラメーターではなく、ChatGPT 推論モデルのパラメーターを予測するのはなぜですか?

#メモリ帯域幅法を使用してモデル パラメーターの数を推定します。これは推論モデルにのみ適用されます。 OpenAI が推論モデルをトレーニング モデルよりも小さくするために蒸留などの手法を適用しているかどうかは、確かなことはわかりません。

多くの昆虫は、環境からエネルギーと栄養素を抽出するために最適化された幼虫の形態と、移動と生殖の最適化のための非常に異なる要件を持つまったく異なる成虫の形態を持っています。 ——ジェフリー・ヒントン、オリオール・ヴィニャルズ、ジェフ・ディーンより、2015年。

2. 他に何か仮定はありますか?

この証明には実際には 3 つの仮定が含まれています:

  • 巨大な行列の乗算の計算に必要な時間は相対的なものであると仮定します。 to 各前方パスのパラメータのロード時間は 0 です;
  • #GPU 間の通信に必要な時間も 0 であると仮定します。 GPU 間の通信と行列の乗算に必要な時間を 0 と仮定しない場合、1,750 億パラメータ モデルの 1 秒あたりの理論上の最大トークン数は減少します;
  • ChatGPT がTransformer Architecture のバリアントに基づいています。

#3. 密相当とはどういう意味ですか?

# 過去数年にわたり、研究者はスイッチ トランスフォーマーなどのスパース ハイブリッド エキスパート LLM に関する研究を行ってきました。密相当値は、各前方パスで使用されるパラメーターの数を示します。この記事で説明されている方法を使用しても、ChatGPT が 1,750 億パラメーターの疎な MoE モデルではないことを証明する方法はありません。

#4. KV キャッシュ Transformer 推論の最適化を検討したことがありますか?

KV キャッシュの最適化が使用されている場合でも、各フォワード パスでモデル全体をロードする必要があります。KV キャッシュは FLOP を節約するだけで、メモリ帯域幅の消費量は削減しません (実際、KV キャッシュは順方向パスごとにロードする必要があるため、増加します)。

5. フラッシュ アテンションを検討したことがありますか?

フラッシュ アテンションは、メモリ帯域幅効率とリアルタイム速度の点で優れたパフォーマンスを発揮しますが、各前方パスでは依然としてモデル全体をロードする必要があるため、前の議論が依然として当てはまります。

#6. パイプラインの並列処理やよりきめ細かい並列戦略を検討したことがありますか?

パイプライン並列処理を利用すると、前方パスの最大数は同じになります。ただし、マイクロバッチとより大きなバッチ サイズを使用すると、スループット (合計トークン/秒) を向上させることができます。

#7. テンソル並列処理を 8 よりも多くすることを検討しましたか?

A100 プラットフォームはノードあたり 16 台の A100 をサポートしますが、Azure はこの機能をサポートしません。この機能をサポートしているのは Google Cloud だけですが、使用している人はほとんどいません。新しいノードの設計や保守のコストを分散するために、Azure が OpenAI 用に 16 個の A100 を備えたノードをカスタム作成し、それをパブリック GA バージョンとしてリリースしない可能性は低いです。ノード間のテンソル並列性に関しては、それは単なる可能性ですが、A100 で推論を行うためのコスト効率の低い方法です。 NVIDIA でさえ、ノード間でのテンソルの並列処理を推奨していません。

8. INT4 を使用して重みを保存することを検討したことがありますか?

INT4 の使用は効果的であることが証明されていますが、OpenAI の GPU カーネル コンパイラーは INT4 のロード、ストア、行列乗算をサポートしておらず、そのテクノロジーに INT を追加する予定はありません。ロードマップ。写真。 INT4 のロードまたはストアはサポートされていないため、重みを INT4 として保存し、それを高精度フォーマット (INT8、bfloat16 など) に量子化して戻すこともできません。

以上がChatGPT モデルのパラメータ≠ 1,750 億、誰かが矛盾によってそれを証明しました。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

node.js環境で403を返すサードパーティインターフェイスの問題を解決する方法は? node.js環境で403を返すサードパーティインターフェイスの問題を解決する方法は? Mar 31, 2025 pm 11:27 PM

node.js環境で403を返すサードパーティインターフェイスの問題を解決します。 node.jsを使用してサードパーティのインターフェイスを呼び出すと、403を返すインターフェイスから403のエラーが発生することがあります...

Laravelでは、検証コードが電子メールで送信できない状況に対処する方法は? Laravelでは、検証コードが電子メールで送信できない状況に対処する方法は? Mar 31, 2025 pm 11:48 PM

Laravelの電子メールの検証コードの送信の障害を処理する方法は、Laravelを使用することです...

システムの再起動後にUnixSocketの権限を自動的に設定する方法は? システムの再起動後にUnixSocketの権限を自動的に設定する方法は? Mar 31, 2025 pm 11:54 PM

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

Docker環境にPECLを使用して拡張機能をインストールするときにエラーが発生するのはなぜですか?それを解決する方法は? Docker環境にPECLを使用して拡張機能をインストールするときにエラーが発生するのはなぜですか?それを解決する方法は? Apr 01, 2025 pm 03:06 PM

エラーの原因とソリューションPECLを使用してDocker環境に拡張機能をインストールする場合、Docker環境を使用するときに、いくつかの頭痛に遭遇します...

ソートを実装し、PHP 2次元アレイにランキングを追加する方法は? ソートを実装し、PHP 2次元アレイにランキングを追加する方法は? Apr 01, 2025 am 07:00 AM

PHPの2次元配列のソートとランキングの実装の詳細な説明この記事では、PHP 2次元配列を並べ替えて、ソート結果に従って各サブアレイを使用する方法を詳細に説明します。

PHPは、AESの暗号化と復号化をJavaと一致する方法をどのように実装していますか? PHPは、AESの暗号化と復号化をJavaと一致する方法をどのように実装していますか? Apr 01, 2025 am 07:15 AM

JavaでAESの暗号化と復号化を実装する方法...

Laravelで電子メールの送信が失敗したときに返品コードを取得する方法は? Laravelで電子メールの送信が失敗したときに返品コードを取得する方法は? Apr 01, 2025 pm 02:45 PM

Laravelの電子メールの送信が失敗したときに戻りコードを取得する方法。 Laravelを使用してアプリケーションを開発する場合、検証コードを送信する必要がある状況に遭遇することがよくあります。そして実際には...

OpenaiのAPIにコンテキスト関連の対話機能を実装する方法は? OpenaiのAPIにコンテキスト関連の対話機能を実装する方法は? Apr 01, 2025 am 08:33 AM

chatgptのコンテキストインターフェイスパラメーターを実装する方法は? OpenAIのインターフェイスを使用する場合、質疑応答機能を実装する機能は比較的簡単であり、公式ドキュメントは詳細も提供します...

See all articles