[論文レビュー] Fast Distributed Inference Serving for Large Language Models
FastServeはプリエンプティブでトークンレベルのスケジューリングとスキップ-ジョインのマルチレベルフィードバックキューを導入し、LLM推論のJCTを低減。さらに積極的なGPUメモリ管理と分散実行サポート。平均およびテールJCTはそれぞれ最大5.1xおよび6.4xの優位性を持ってOrcaを上回る。
Large language models (LLMs) power a new generation of interactive AI applications exemplified by ChatGPT. The interactive nature of these applications demands low latency for LLM inference. Existing LLM serving systems use run-to-completion processing for inference jobs, which suffers from head-of-line blocking and long latency. We present FastServe, a distributed inference serving system for LLMs. FastServe exploits the autoregressive pattern of LLM inference to enable preemption at the granularity of each output token. FastServe uses preemptive scheduling to minimize latency with a novel skip-join Multi-Level Feedback Queue scheduler. Based on the new semi-information-agnostic setting of LLM inference, the scheduler leverages the input length information to assign an appropriate initial queue for each arrival job to join. The higher priority queues than the joined queue are skipped to reduce demotions. We design an efficient GPU memory management mechanism that proactively offloads and uploads intermediate state between GPU memory and host memory for LLM inference. We build a system prototype of FastServe and experimental results show that compared to the state-of-the-art solution vLLM, FastServe improves the throughput by up to 31.4x and 17.9x under the same average and tail latency requirements, respectively.
研究の動機と目的
- 対話型LLMアプリケーション(例:ChatGPT)に対する低ジョブ完了時間(JCT)の動機づけ。
- ラン・トゥ・コンプリートLLMサービングシステムにおける先頭ボイコット(head-of-line blocking)の対処。
- LLMの自己回帰生成に合わせたプリエンプティブでトークンレベルのスケジューラの設計。
- KVキャッシュのメモリ制約を扱うための効率的なGPUメモリ管理の開発。
- テンソル並列性とパイプライン並列性を利用した複数GPU間の分散LLMサービングのサポート。
提案手法
- 初回反復時間に基づいて初期優先度を割り当て、トークンレベルでの反復単位のプリエンプションを可能にするスキップ-ジョインMLFQスケジューラを提案。
- 入力長が初回反復時間を決定する半情報非依存の知識を活用して、降格を減らすスキップ-ジョイン付きMLFQを拡張。
- 非アクティブなKVテンソルをホストメモリへオフロードし、必要なテンソルをGPUメモリへ事前ロードするなど、スケジューリングに導かれたオフロード/アップロードを伴う積極的なKVキャッシュ管理を実装。
- KVデータ転送と計算を重ね合わせるために非同期メモリ操作とパイプライニングを活用。
- テンソル並列性とパイプライン並列性を用いた分散KVキャッシュマネージャを通じた複数GPU間の分散LLMサービングをサポート。
- NVIDIA FasterTransformer上でFastServeをプロトタイプし、GPT-3 175B規模を16台のA100 GPUでOrcaと比較して評価。
実験結果
リサーチクエスチョン
- RQ1トークンごとの生成過程を前提としたLLM推論をどのようにスケジューリングすればJCTを最小化できるか。
- RQ2入力長が分かっても総出力長が未知の半情報非依存設定で、スキップ-ジョインMLFQスケジューラはSRPTを効果的に近似できるか。
- RQ3LLM推論におけるGPUメモリ使用とプリエンプションオーバーヘッドの最適なKVキャッシュ管理戦略は何か。
- RQ4テンソル並列性とパイプライン並列性を用いて、過度なメモリや帯域コストを発生させずにマルチGPU分散LLM推論へとFastServeをスケールさせるにはどうすればよいか。
主な発見
- FastServeは実験でOrcaと比較して平均JCTを最大5.1x低減。
- FastServeは実験でOrcaと比較してテール(パーセンタイル)JCTを最大6.4x低減。
- スキップ-ジョインMLFQスケジューラは初回反復時間を予測子として活用することで naive MLFQ よりSRPTをより正確に近似。
- 積極的なKVキャッシュのスワッピングによりメモリ圧力を軽減し、崩壊的なメモリオーバーフローを避けつつより多くの同時ジョブをスケジューリング可能に。
- テンソル並列性とパイプライン並列性を用いた分散実行により、GPT-3 175Bのような非常に大規模なモデルを複数GPUに分散してスケール可能に。
- 実験結果は、16台のNVIDIA A100 GPUを用いたGPT-3 175Bワークロードでエンドツーエンドのパフォーマンス改善を示す。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。