この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。 最先端の AI モデルの規模が飛躍的に拡大しているため、単一のカードで現在の推論ニーズを満たすことは困難です。 1,750億個のパラメータを持つGPT-3を例に挙げましょう。 モデルパラメータをロードするだけでも数百 GB のストレージスペースが必要となり、単一の GPU の容量をはるかに超えます。 したがって、マルチカード並列処理は、AI 大規模モデル推論にとって避けられない選択肢であると考えられます。 しかし、既存の推論システムには依然として多くの欠点があります。 例えば、通信やメモリなどさまざまな部分の連携をユーザーが手動で管理する必要があり、追加のコンパイルが必要になるなど、ユーザーにとって利用の敷居が高くなっています。 この目的のために、超並列 AI トレーニング システムである Colossal-AI チームは、大規模モデル推論システムEnergon-AIを提案しました。 「高性能、高可用性、スケーラビリティ」をコンセプトとする Energon-AI は、単一インスタンスのマルチデバイス推論シナリオを深く掘り下げ、パフォーマンスと使いやすさの両方で優位性を発揮します。 既存のプロジェクトに最小限の変更を加えるだけで、ユーザーはカスタマイズされた大規模モデルの推論展開を完了し、並列拡張のための超線形加速を実現できます。 大規模 AI モデルの分散推論の高速化については、NVIDIA FasterTransformer と比較して50%以上向上できます。 オープンソースアドレス: https://github.com/hpcaitech/ColossalAI 大規模なAIモデル推論の導入の難しさ近年、コンピューティングデバイス(GPU など)の並列コンピューティング機能、メモリ容量、メモリ速度が大幅に向上しました。 しかし、モデル サイズが指数関数的に増大する状況では、単一のデバイスをスケールアップしてパフォーマンスを向上させるだけでは、大規模モデルのメモリとパフォーマンスの要件を満たすことは依然として困難です。 現在のディープラーニング推論システムは、主に単一デバイス上の複数インスタンスまたは単一デバイス上の単一インスタンスの単純な推論シナリオを対象としており、AI 大規模モデル推論に必要な複数デバイス上の単一インスタンスの課題と機会は無視されています。Energon-AI システムは、この問題を解決するために作成されました。 △ モデルパラメータの急速な増加 [https://arxiv.org/abs/2111.14247] エネルゴンAIシステム設計大規模な AI モデルの展開のために、Colossal-AI チームは、単一インスタンスのマルチデバイス推論システム Energon-AI を設計しました。 △Energon-AI超大規模モデル推論システムの概略図 Energon-AI システム設計は、ランタイム システム(Runtime)、分散推論インスタンス(Engine)、フロントエンド サービス システム(Serving) の 3 つのレベルに分かれています。
ランタイム システムの設計プロセス中に、チームは、モデル サイズが拡大し続けると、一般的な行列乗算の時間の割合が徐々に増加することを発見しました。 メモリ集約型演算子とカーネル起動の時間の割合が徐々に減少し、推論プロセスはメモリ集約型から計算集約型へとさらに移行します。メモリ集約型操作に対する TensorRT と専用推論システムの最適化効果は大幅に減少します。 Energon-AI Runtime は、テンソル並列処理を実装するために Colossal-AI に依存しており、グラフィックス メモリが不足している状況のためにパイプライン並列パッケージング方式も設計しています。 さらに、チームは推論に特化した多数の演算子とメソッドを導入しました。 たとえば、NLP における入力の可変長を考慮して、エンコーダー モデルとデコーダー モデルの MLP レイヤーの冗長計算排除方式を効率的にサポートするために、transpose_padding_rebulid や transpose_padding_remove などの演算子が導入されています。
単一デバイス推論では、プログラムのデータ入力と出力は同じです。分散トレーニングの主な目的はモデルパラメータであるため、複数のプロセスの入力と出力を管理する必要はありません。ただし、マルチデバイス推論は異なります。 チームは、適切なカプセル化を通じて、エンジンが単一デバイスの推論とまったく同じ動作をするようにしたいと考えています。 半集中型アプローチを使用すると、メイン プロセスは RPC を使用して各デバイスの初期化または推論メソッドを呼び出すため、分散推論を集中的に制御できますが、各デバイスは独自の Tensor Parallel および Pipeline Parallel 通信ロジックを保持します。 同時に、チームは各プロセスで分散メッセージ キューを設計および管理し、複数のプロセスでのマルチスレッド呼び出し実行の一貫性を確保しました。
ユーザー要求の分散性と可変長特性と、大規模モデル推論の GPU 並列コンピューティングへの依存との間の矛盾を解決するために、Energon-AI は動的バッチ処理メカニズムを導入しました。 マシンの性能に応じてリクエストキュー内のリクエストを最適にパッケージ化した後、待機時間、バッチサイズ、バッチ拡張可能性(パディング後の文の長さに基づく)に基づいて、最も優先度の高いバッチが処理用に選択されます。 このようにして、GPU の使用率を最大化し、平均リクエスト待ち時間を短縮しながら、飢餓の問題を回避できます。 △バッチ管理プロセス図 パフォーマンステスト並列推論の超線形スケーラビリティ△テンソル並列スケーラビリティテスト結果表示 ハードウェア環境: 8*A100 GPU 80GB。 単一デバイスのビデオメモリでは GPT-3 の推論要件を満たすことができないため、文の長さを Padding の 1/2 に設定して、GPT-3 12 レイヤーのテスト結果を示します。 バッチ サイズが 32 の場合、Energon-AI の 8 カード並列推論は、シングル カードの Pytorch 直接推論と比較して8.5 倍の超線形加速を実現できます。 実行時推論パフォーマンスが50%向上△テンソル並列実行時のシステム推論レイテンシの比較 ハードウェア環境: 8*A100 GPU 80GB。 文の長さをパディングの 1/2 に設定します。 TP=2 の場合は GPT-3-24 レイヤー、TP=4 の場合は GPT-3-48 レイヤー。 比較ソリューションとして、高度に最適化された NVIDIA FasterTransformer GPT-3 が使用されます。 FasterTransformer はバージョン 4.0 で分散推論機能を開始し、現在は GPT-3 モデルの分散推論をサポートしています。ただし、純粋な C++ コードの結合度が高いため、柔軟性と使いやすさは比較的低いです。 さらに、NLP推論入力文のさまざまな長さを考慮して、分散推論には冗長な計算を排除する機能があります。 GPT-3 モデルの場合、バッチ サイズが 1 の場合、Energon-AI のランタイム システムのパフォーマンスは FasterTransformer よりもわずかに劣りますが、バッチ サイズが大きい場合は50% を超えるパフォーマンスの向上を実現できます。 動的バッチ処理のスループットが30%増加△ 動的バッチ処理と直接バッチ処理のスループット比較 ハードウェア環境: 8*A100 GPU 80GB。 テストで使用されるモデルは GPT-3 で、テスト文の長さは 256 以内でランダムに生成され、パディング戦略はバッチ内で最も長いパディングです。 複数のユーザーが同時に多数の可変長推論リクエストを送信するという現実のシナリオをシミュレートすることにより、Energon-AI の動的バッチ計画方法のスループットを従来の FIFO (先入れ先出し) キュー パッケージング方法と比較しました。 動的バッチ処理アルゴリズムは、直接パディングによって発生する大量の冗長計算の問題を軽減するため、この戦略では動的バッチ処理のスループットが34.7%向上します。 使いやすさパイソン Energon-AI は、パフォーマンスを追求しながらも、システムの柔軟性と使いやすさを維持したいと考えています。ユーザーは、並列モデル、並列パラメータ、サービス要求ロジックをカスタマイズし、構成ファイルに追加するだけで推論サービスを開始できます。 現在、最も一般的な GPT、BERT、ViT モデルが例として提供されており、より詳細なチュートリアルが近い将来完成する予定です。 新しい並列モデルを構築する際、Energon-AI は Pytorch と同様に、レイヤー コンセプトと明確な初期化および実行ロジックを備えた Python を使用します。ユーザーはメモリ管理、並列通信、その他の動作を考慮する必要がありません。 次のコードは、並列に実行される 2 つの線形レイヤーで構成されるモデルの完全なコードを示しています。 パイソン 対照的に、新しい並列モデルを構築する場合、FasterTransformer では C++ コードの使用が必要であり、ユーザーはメモリを管理し、通信やその他の基礎となる動作の構成を定義する必要があります。 スペースの制限により、次のコードは、並列に実行される 2 つの線形層モデルのメモリ管理、特定の実行、および通信のコードの一部を示しています。 さらに、コードを正しく実行したい場合は、メモリ管理、実行ロジック、通信動作間の調整をデバッグするために多くの時間と労力を費やす必要があり、C++ コードでは追加のコンパイル作業も必要になります。 これらはすべて、ユーザーの並列知識とプログラミング能力に深刻な課題をもたらします。 C ++ の その他の機能今回リリースされたEnergon-AIサブシステムはベータ版です。近い将来、ユーザーのフィードバックと確立された計画に基づいて集中的な反復アップデートを実施し、ユーザーのさまざまな推論展開ニーズに完全に応えられるよう、できるだけ早く正式版をユーザーに提供する予定です。Energon-AIにご要望やご提案をいただければ幸いです。 AIビッグモデルエコシステムの構築AIビッグモデルの時代を迎え、Colossal-AIは、新たに追加された推論展開機能に加えて、効率的な多次元並列処理と異種並列処理技術を使用して、並列次元の制限、効率の低さ、汎用性の低さ、展開の難しさ、メンテナンスの欠如など、既存のビッグモデルトレーニングソリューションの問題点に対処します。これにより、ユーザーは最小限の変更のみで、AIビッグモデルトレーニングを効率的かつ迅速に展開できます。 たとえば、GPT-3のような超大規模AIモデルの場合、Colossal-AIはNVIDIAのソリューションと比較して、トレーニングを開始するために必要なコンピューティングリソースが半分しかなく、同じコンピューティングリソースを使用した場合、速度は11%向上し、 GPT-3のトレーニングコストを100万ドル以上削減できます。 タンパク質構造予測アプリケーション AlphaFold では、Colossal-AI の高速化ソリューションをベースとした FastFold が Google やコロンビア大学のソリューションを上回ることに成功し、AlphaFold のトレーニング時間を 11 日から67 時間に短縮しました。 総コストは低くなり、長いシーケンスの推論では速度が9.3 ~ 11.6 倍向上します。 Colossal-AI はローエンドデバイスと互換性があり、GPU が 1 つしかない個人用 PC で最大 180 億のパラメータを持つ GPT をトレーニングできます。また、一般的なラップトップでも 10 億を超えるパラメータを持つモデルをトレーニングできます。 既存の主流ソリューションと比較して、パラメータ容量を10倍以上に増やすことができ、大規模AIモデルの微調整や推論などの下流タスクやアプリケーション展開の敷居を大幅に下げることができます。 Colossal-AI は、オープンソース コミュニティの構築、中国語のチュートリアルの提供、ユーザー コミュニティとフォーラムの開設、ユーザーからのフィードバックに基づく効率的なコミュニケーションと反復的な更新の実施、最先端の機能の継続的な追加に重点を置いています。 Colossal-AIはオープンソースリリース以来、 GitHubのPython方面で何度も世界1位を獲得しており、数万のスターを獲得した数多くのスターオープンソースプロジェクトとともに国内外で注目を集めています! 機械学習分野のホットな話題を反映するPapers With Codeウェブサイトでも、Colossal-AIは大きな注目を集め、ホットリストの1位にランクされました。 ポータルGitHub アドレス: https://github.com/hpcaitech/ColossalAI |
<<: 問題が VPN の問題であることを証明するにはどうすればよいですか?コンピュータ科学者は簡単な方法を発見した
>>: 4 つの主要ビジネス分野における業界に関するインテルの詳細な洞察、アプリケーション事例、革新的な製品とソリューションの解釈 | Intel Vision
検索エンジン(Google Chrome、Mozilla Firefox など)を使用するとき、バッ...
AI テクノロジーを導入する IT リーダーは、ある程度の不安を感じるかもしれませんが、それには十分...
サイバーセキュリティは、攻撃と防御の継続的なゲームです。防御戦略が進化し続ける一方で、攻撃者も攻撃の...
以前、「【インタビュー】 - 低速反応再帰」で 3 つの再帰アルゴリズムを読みました。フィボナッチ数...
10月10日、最近のレポートによると、OpenAIの人工知能チャットボットChatGPTの収益成長が...
[51CTO.comより引用] モバイルインターネットの発展に伴い、あらゆるものの相互接続が可能に...
IBM は最近、NASA と提携して、炭素排出量の追跡を改善し、気候変動の影響を監視するための新しい...
音声認識とは、機械またはプログラムが話し言葉の単語やフレーズを認識し、機械が読み取り可能な形式に変換...