casys-kaist/LLMServingSim

LLMServingSim 2.0: A Unified Simulator for Heterogeneous and Disaggregated LLM Serving Infrastructure

何を解決するか

LLMServingSimは、大規模で高価な物理ハードウェアクラスターを必要とせずに、LLMサービングインフラストラクチャのテストと最適化を行う際の困難さを解決します。これにより、研究者は、異なるハードウェア構成、メモリ階層、および並列化戦略が、大規模なLLM推論のパフォーマンスにどのように影響するかをシミュレートできます。

仕組み

このプロジェクトは、以下の3つの主要コンポーネントを組み合わせたサイクルレベルのシミュレーションアプローチを使用しています:

  1. Python Frontend: vLLMで使用されているcontinuous-batchingスケジューラを模倣します。
  2. C++ Backend: 解析的なネットワークシミュレーションのためにASTRA-Simを使用します。
  3. Layerwise Profiler: シミュレーションの精度を確保するために、vLLMから取得した実際のハードウェアごとのレイテンシデータをシステムに供給します。

対象者

LLMインフラストラクチャを研究している研究者やエンジニア、特に、ヘテロジニアスなアクセラレータ、分離されたメモリ(CXLやPIMなど)、および大規模な並列化技術に焦点を当てている人々を対象としています。

ハイライト

  • 幅広い並列化サポート: Tensor Parallelism (TP)、Pipeline Parallelism (PP)、Expert Parallelism (EP)、およびData Parallelism (DP)をさまざまな組み合わせでシミュレートします。
  • ハードウェアの柔軟性: ヘテロジニアスなアクセラレータと分離されたメモリ階層(CPU、CXL、PIM)をサポートします。
  • 高い精度: RTX 4090のようなハードウェアのプロファイリングでは、レイテンシおよびTTFT/TPOTにおいて、実際のvLLMの実行結果の1%以内の結果を示しています。
  • 効率的なパフォーマンス: 最近のアップデートにより、バイト単位で同一の結果を維持しながら、シミュレーション速度が約11倍向上しました。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト