Skip to main content
QUICK REVIEW

[論文レビュー] EnergonAI: An Inference System for 10-100 Billion Parameter Transformer Models

Jiangsu Du, Ziming Liu|arXiv (Cornell University)|Sep 6, 2022
Parallel Computing and Optimization Techniques被引用数 4
ひとこと要約

EnergonAI は、トランスフォーマー モデルに 100–1000 億パラメータを対象として、階層型コントローラー アーキテクチャを活用してテンソル並列とパイプライン並列を統合する、高性能でプログラマブルな推論システムである。非ブロッキング パイプライン並列、分散型の重複計算削減、ピアメモリプールを活用することで、可変長推論において FasterTransformer を上回る低遅延と高スループットを実現し、単一の GPU でより大きなモデルを最小限のパフォーマンスコストで推論可能にする。

ABSTRACT

Large transformer models display promising performance on a wide range of natural language processing (NLP) tasks. Although the AI community has expanded the model scale to the trillion parameter level, the practical deployment of 10-100 billion parameter models is still uncertain due to the latency, throughput, and memory constraints. In this paper, we proposed EnergonAI to solve the challenges of the efficient deployment of 10-100 billion parameter transformer models on single- or multi-GPU systems. EnergonAI adopts a hierarchy-controller system architecture to coordinate multiple devices and efficiently support different parallel patterns. It delegates the execution of sub-models to multiple workers in the single-controller style and applies tensor parallelism and pipeline parallelism among the workers in a multi-controller style. Upon the novel architecture, we propose three techniques, i.e. non-blocking pipeline parallelism, distributed redundant computation elimination, and peer memory pooling. EnergonAI enables the users to program complex parallel code the same as a serial one. Compared with the FasterTransformer, we have proven that EnergonAI has superior performance on latency and throughput. In our experiments, EnergonAI can achieve 37% latency reduction in tensor parallelism, 10% scalability improvement in pipeline parallelism, and it improves the model scale inferred on a single GPU by using a larger heterogeneous memory space at cost of limited performance reduction.

研究の動機と目的

  • マルチGPU環境における大規模トランスフォーマー モデル(10–1000億パラメータ)のデプロイにおいて、パフォーマンスとプログラマビリティのギャップを解消すること。
  • C++/CUDA カーネルに強く依存しているなど、過度に結合された既存の推論システム、またはトレーニングシステムから不適切に適合されたシステムの限界を克服すること。
  • 通信オーバーヘッドが低く、スケーラビリティが高い、テンソル並列とパイプライン並列の両方をサポートするアーキテクチャを設計すること。
  • ユーザーがシリアルコードに似た記述を可能にしつつ、異種メモリおよび分散デバイス上で高いパフォーマンスを達成できることを保証すること。
  • 大規模モデル推論におけるメモリの壁を打ち破り、遅延やスループットを損なわず、GPU およびピアデバイスメモリを効率的に管理すること。

提案手法

  • 集中型エンジンと分散型ランタイムを統合した階層型コントローラー アーキテクチャを提案し、マルチGPU推論を調整する。
  • 非ブロッキング パイプライン並列を実装し、非同期実行とパイipelインド コミュニケーションを活用して、アイドル時間を削減し、スループットを向上させる。
  • 分散型の重複計算削減を導入し、パイプライン段階における重複したフォワードパスを回避することで、計算コストを削減する。
  • ピアメモリプール(PMEP)を設計し、CPU ではなくピアGPUにモデルレイヤーをオフロードすることで、計算と通信のオーバーラップを向上させる。
  • プリフェッチを活用した静的オフロード戦略を採用し、通信遅延を最小限に抑え、GPU の利用効率を維持する。
  • 単一コントローラーおよびマルチコントローラー実行モードをサポートすることで、一元化されたプログラミングモデル内でテンソル並列とパイプライン並列を柔軟に処理できるようにする。

実験結果

リサーチクエスチョン

  • RQ1100–1000億パラメータのトランスフォーマー モデルに対して、低遅延と高スループットを実現するため、分散型推論システムはどのように複数のGPUを効率的に調整できるか?
  • RQ2トレーニングシステムから適応された場合でも、高プログラマビリティと高パフォーマンスを両立できるアーキテクチャ設計はどのようなものか?
  • RQ3分散ワーカー間でパイプライン並列における重複計算を効果的に削減するには、正しさや効率性を損なわず、どのように実現できるか?
  • RQ4通信オーバーヘッドが高くならない範囲で、ピアGPUメモリをどれだけ活用できるか、特に単一GPU上で有効なモデルサイズをどれだけ拡張できるか?
  • RQ5可変長および大規模推論シナリオにおいて、FasterTransformer よりも優れた拡張性と低遅延を実現できるか?

主な発見

  • 固定長入力におけるテンソル並列実験では、EnergonAI は FasterTransformer よりも 37% 低い遅延を達成した。
  • パイプライン並列において、EnergonAI は FasterTransformer よりも 10% 高いスケーラビリティを示し、より優れたロードバランスと通信効率を実現した。
  • ピアメモリプール(PMEP)を活用することで、EnergonAI は、最大2倍のサイズのモデルであっても、ピアGPUにレイヤーをオフロードしても、ローカルGPUのスループットが 2.3–3.9% のみ低下する。
  • 一方、BMInf のCPUオフロードでは、通信対計算比が高いため、スループットが最大81% 減少するが、EnergonAI の PMEP は通信の透明性に近いオフロードを実現し、より優れた遅延性能を発揮した。
  • EnergonAI は、異種メモリ空間を活用することで、単一GPU上でのモデルサイズを最大2倍に拡張可能であり、パフォーマンス劣化は限定的である。
  • 可変長推論においても、EnergonAI は FasterTransformer を上回るパフォーマンスを発揮した。これは、動的シーケンス長の処理と通信スケジューリングの優れた管理によるものである。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。