ChatGPT ボリューム モデルを実行するには、今後は GPU のみが必要になります。これを 100 倍高速化する方法を次に示します。

WBOY
リリース: 2023-04-11 19:58:12
転載
905 人が閲覧しました

計算コストは​​、ChatGPT などの大規模なモデルを構築するときに人々が直面する大きな課題の 1 つです。

統計によると、GPT から GPT-3 への進化は、モデル サイズの成長プロセスでもあります。パラメーターの数は 1 億 1,700 万から 1,750 億に増加し、その量は増加しました。事前トレーニング データの量は 5 GB から 45 TB に増加し、1 回の GPT-3 トレーニングのコストは 460 万米ドルとなり、トレーニングの総コストは 1,200 万米ドルに達します。

トレーニングに加えて、推論にもコストがかかります。 ChatGPT を実行する OpenAI の計算能力コストは 1 日あたり 100,000 米ドルであると推定する人もいます。

大規模なモデルがより多くの機能を習得できるようにするテクノロジーを開発する一方で、AI に必要なコンピューティング リソースを削減しようとしている人もいます。最近、FlexGenという技術が「RTX 3090でChatGPTボリュームモデルを動作させる」ということで注目を集めています。

FlexGen によって高速化された大規模モデルは依然として非常に遅いように見えます (1,750 億パラメーターの言語モデルを実行すると 1 秒あたり 1 トークン)。しかし、印象的なのは、不可能が可能になったことです。

従来、大規模言語モデル (LLM) 推論には高い計算量とメモリ要件があるため、トレーニングに複数のハイエンド AI アクセラレータを使用する必要がありました。この研究では、LLM 推論の要件を消費者グレードの GPU まで削減し、実用的なパフォーマンスを達成する方法を検討します。

最近、スタンフォード大学、カリフォルニア大学バークレー校、チューリッヒ工科大学、ヤンデックス、モスクワ州立高等経済学校、メタ、カーネギーメロン大学およびその他の機関からの新しい研究により、FlexGen は高品質であると提案されました。限られた GPU メモリで LLM を実行するためのスループット生成エンジン。

GPU、CPU、ディスクからのメモリと計算を集約することで、FlexGen はさまざまなハードウェア リソースの制約の下で柔軟に構成できます。線形計画オプティマイザーを通じて、重み、アクティベーション、アテンション キー/値 (KV) キャッシュを含むテンソルの保存とアクセスのための最適なパターンを検索します。 FlexGen は、精度の損失を無視して、重みと KV キャッシュを 4 ビットにさらに圧縮します。最先端のオフロード システムと比較して、FlexGen は単一の 16 GB GPU 上で OPT-175B を 100 倍高速に実行し、1 トークン/秒の実際の生成スループットを初めて達成します。 FlexGen にはパイプライン化された並列ランタイムも付属しており、より多くの分散 GPU が利用可能な場合にデコードでの超線形スケーリングが可能になります。

現在、このテクノロジーはコードを公開し、数千のスターを獲得しています: https://www.php.cn /link/ee715daa76f1b51d80343f45547be570

ChatGPT ボリューム モデルを実行するには、今後は GPU のみが必要になります。これを 100 倍高速化する方法を次に示します。

はじめに

近年、大規模な言語モデルは、幅広いタスクで優れたパフォーマンスを示しています。 LLM は前例のない一般的なインテリジェンスを示しますが、構築時に人々を前例のない課題にさらすことにもなります。これらのモデルには数十億、さらには数兆のパラメーターが含まれる場合があり、その結果、モデルを実行するには非常に高い計算量とメモリ要件が必要になります。たとえば、GPT-175B (GPT-3) では、モデルの重みを保存するためだけに 325GB のメモリが必要です。このモデルが推論を実行するには、少なくとも 5 台の Nvidia A100 (80GB) と複雑な並列処理戦略が必要です。

LLM 推論のリソース要件を削減する方法は、最近頻繁に議論されています。これらの取り組みは 3 つの方向に分かれています:

(1) 総メモリ使用量を削減するためのモデル圧縮;

(2) 協調推論、分散化によるコストの償却。

(3) CPU とディスク メモリを利用するためのオフロード。

これらの手法により、LLM を使用するための計算リソース要件が大幅に削減されます。ただし、モデルは GPU メモリに収まると想定されることが多く、既存のオフロード ベースのシステムでは、単一の GPU を使用して許容可能なスループットで 1,750 億個のパラメーター サイズのモデルを実行するのに依然として苦労しています。

新しい研究では、著者らは高スループットの生成推論のための効果的なオフロード戦略に焦点を当てています。 GPU メモリが十分でない場合は、それを二次ストレージにオフロードし、部分ロードを通じて部分的に計算を実行する必要があります。一般的なマシンでは、次の図に示すように、メモリ階層は 3 つのレベルに分割されます。高レベルのメモリは高速ですが不足しており、低レベルのメモリは低速ですが豊富です。

FlexGen では、作者は低遅延を追求するのではなく、ベンチマーク、情報抽出、データ並べ替えなどのアプリケーションで一般的なスループット指向のシナリオをターゲットにしています。オフロードでは低遅延の実現が本質的に課題ですが、スループット重視のシナリオではオフロードの効率を大幅に改善できます。図 1 は、オフロードを使用した 3 つの推論システムのレイテンシーとスループットのトレードオフを示しています。慎重にスケジュールを設定すると、I/O コストが大量の入力に分散され、計算と重複する可能性があります。この研究で著者らは、コンシューマ グレードの GPU スループットが最適化された 1 台の T4 GPU が、コンピューティング能力の単位あたりのコストの点で、クラウド上のレイテンシが最適化された 8 台の A100 GPU よりも 4 倍効率的であることを示しました。

ChatGPT ボリューム モデルを実行するには、今後は GPU のみが必要になります。これを 100 倍高速化する方法を次に示します。

図 1. OPT-175B (左) と OPT-30B (右) 上面3 つのオフロード ベースのシステムのレイテンシーとスループットのトレードオフ。 FlexGen は新しいパレート最適境界を達成し、OPT-175B の最大スループットを 100 倍に増加します。他のシステムでは、メモリ不足によりスループットをさらに向上させることができませんでした。

トレーニングのコンテキストにおけるオフロードのレイテンシとスループットのトレードオフについて議論する研究はありますが、LLM 推論の生成にそれを使用した人はまだいません。それは全く異なるプロセスです。 LLM の自己回帰的な性質により、生成推論には特有の課題が生じます。すべてのパラメータを保存することに加えて、順次デコードし、大規模なアテンション キー/値キャッシュ (KV キャッシュ) を維持する必要があります。既存のオフロード システムはこれらの課題に対処できないため、過剰な I/O を実行し、ハードウェアの能力を大幅に下回るスループットを達成します。

生成推論のための適切なオフロード戦略を設計することは困難です。まず、このプロセスには、重み、アクティベーション、KV キャッシュという 3 つのテンソルがあります。ポリシーでは、3 レベルの階層で、何を、どこで、いつアンインストールするかを指定する必要があります。 2 番目に、バッチごと、トークンごと、レイヤーごとの計算の構造により、さまざまな方法で計算できる複雑な依存関係グラフが形成されます。戦略では、実行時間を最小限に抑えるスケジュールを選択する必要があります。これらの選択により、複雑な設計空間が作成されます。

この目的を達成するために、新しいメソッド FlexGen 上で、LLM 推論のためのオフロード フレームワークが提案されています。 FlexGen は、GPU、CPU、ディスクからメモリを集約し、I/O 操作を効率的にスケジュールし、可能な圧縮方法と分散パイプライン並列処理についても説明します。

#この研究の主な貢献は次のとおりです:

#1. 著者は、可能なオフロード戦略と用途の検索空間を正式に定義しています。コスト モデルと線形計画ソルバーが最適な戦略を検索します。注目すべきことに、研究者らは、検索スペースが最適な計算順序の 2 倍以内の I/O 複雑さでほぼ I/O 最適な計算順序を捕捉していることを実証しました。検索アルゴリズムは、さまざまなハードウェア仕様やレイテンシー/スループットの制約に合わせて構成でき、トレードオフ領域をスムーズにナビゲートする方法を提供します。既存の戦略と比較して、FlexGen ソリューションは重み付け、アクティベーション、KV キャッシュの配置を統合し、より大きなバッチ サイズを可能にします。

2. 研究によると、OPT-175B などの LLM の重みと KV キャッシュは、再トレーニング/キャリブレーションなしで、精度の損失が無視できる程度で 4 ビットに圧縮できることがわかっています。これは、きめ細かいグループ化の量子化によって実現され、I/O コストを大幅に削減できます。

3. NVIDIA T4 GPU (16GB) で OPT-175B を実行して、FlexGen の効率を実証します。単一の GPU 上で、同じレイテンシー要件が与えられた場合、非圧縮 FlexGen は、DeepSpeed Zero-Inference (Aminabadi et al.、2022) および Hugging Face Accelerate (HuggingFace、2022) と比較して 65 倍高いスループットを達成できます。現在、後者が最も先進的です。業界におけるオフロードに基づく推論システム。より高いレイテンシと圧縮が許可される場合、FlexGen はスループットをさらに向上させ、100 倍の改善を達成できます。 FlexGen は、単一の T4 GPU を使用して OPT-175B で 1 トークン/秒の速度スループットを達成した最初のシステムです。パイプライン並列処理を備えた FlexGen は、複数の分散 GPU を使用したデコードにおいて超線形スケーリングを実現します。

研究では、著者らはオフロードおよび分散型セット推論手法の代表として FlexGen と Petals も比較しました。結果は、1 つの T4 GPU を備えた FlexGen が、スループットの点で 12 つの T4 GPU を備えた分散型 Petal クラスターよりも優れており、場合によってはより低いレイテンシを実現することさえ示しています。

動作メカニズム

GPU、CPU、ディスクからのメモリと計算を集約することで、FlexGen はさまざまなハードウェア リソースの制約の下で柔軟に構成できます。線形計画オプティマイザーを通じて、重み、アクティベーション、アテンション キー/値 (KV) キャッシュを含むテンソルの保存とアクセスのための最適なパターンを検索します。 FlexGen は、精度の損失を無視して、重みと KV キャッシュを 4 ビットにさらに圧縮します。

FlexGen の重要なアイデアの 1 つは、レイテンシとスループットのトレードオフです。オフロード手法では低レイテンシーの実現が本質的に困難ですが、スループット重視のシナリオではオフロード効率を大幅に改善できます (以下の図を参照)。 FlexGen は、下の図 (b) に示すように、ブロック スケジューリングを利用して重みを再利用し、I/O を計算とオーバーラップさせますが、他のベースライン システムは、下の図 (a) に示すように、非効率的な行ごとのスケジューリングを使用します。

ChatGPT ボリューム モデルを実行するには、今後は GPU のみが必要になります。これを 100 倍高速化する方法を次に示します。

現在、研究著者らの次のステップには、Apple の M1 および M2 チップのサポートと Colab 導入のサポートが含まれています。

FlexGen は、リリース以来すぐに GitHub で何千ものスターを獲得し、ソーシャル ネットワークでも非常に人気があります。このプロジェクトは非常に期待されており、高性能大規模言語モデルを実行する上での障壁は徐々に克服されつつあるようで、年内にはChatGPTを1台のマシンで扱えるようになることが期待されています。

誰かがこの方法を使用して言語モデルをトレーニングしたところ、結果は次のとおりです:

ChatGPT ボリューム モデルを実行するには、今後は GPU のみが必要になります。これを 100 倍高速化する方法を次に示します。

大量のデータが与えられておらず、AI は特定の知識を知りませんが、質問に答えるロジックは比較的明確なようです。もしかしたら、将来のゲームではそのような NPC が登場するかもしれません?

以上がChatGPT ボリューム モデルを実行するには、今後は GPU のみが必要になります。これを 100 倍高速化する方法を次に示します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:51cto.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート