[論文レビュー] Fiddler: CPU-GPU Orchestration for Fast Inference of Mixture-of-Experts Models
Fiddlerは、リソース制約のある環境における非圧縮Mixture-of-Experts(MoE)モデルの効率的推論のためのCPU-GPUオ케ストレーションシステムを提案する。専門家計算をCPUにオフロードし、GPU-CPU間のデータ移動を最小限に抑えることで、24GBのGPU上で90GBのMixtral-8x7Bモデルに対して1秒あたり3トークン以上の性能を達成し、先行手法と比較して遅延面で最大10.1倍の高速化を実現した。
Large Language Models (LLMs) with the Mixture-of-Experts (MoE) architectures have shown promising performance on various tasks. However, due to the huge model sizes, running them in resource-constrained environments where the GPU memory is not abundant is challenging. Some existing systems propose to use CPU resources to solve that, but they either suffer from the significant overhead of frequently moving data between CPU and GPU, or fail to consider distinct characteristics of CPUs and GPUs. This paper proposes Fiddler, a resource-efficient inference system for MoE models with limited GPU resources. Fiddler strategically utilizes CPU and GPU resources by determining the optimal execution strategy. Our evaluation shows that, unlike state-of-the-art systems that optimize for specific scenarios such as single batch inference or long prefill, Fiddler performs better in all scenarios. Compared against different baselines, Fiddler achieves 1.26 times speed up in single batch inference, 1.30 times in long prefill processing, and 11.57 times in beam search inference. The code of Fiddler is publicly available at https://github.com/efeslab/fiddler.
研究の動機と目的
- 制限されたGPUメモリを有するローカルで単一GPUの環境において、大規模で非圧縮のMixture-of-Experts(MoE)モデルの効率的かつ低遅延な推論を可能にすること。
- 現在のMoEモデル向けオフロードシステムにおいて、頻繁なCPU-GPU間データ転送が引き起こす高いランタイムオーバーヘッドを解消すること。
- スパースなMoEアーキテクチャにおけるデータ移動を削減し、推論効率を向上させるために、CPUの計算リソースを有効に活用する可能性を検討すること。
- モデルの量子化やマルチGPU構成を用いずに、シングルバッチかつ遅延に敏感な推論において高いパフォーマンスを達成すること。
提案手法
- Fiddlerは、データ転送遅延と計算コストを比較するコストモデルに基づき、専門家レイヤーをCPUまたはGPUに動的に割り当てる。
- CPUの計算を活用して専門家レイヤーを実行することで、CPUからGPUメモリへの重み転送を回避し、PCIe帯域幅のボトルネックを軽減する。
- システムは、計算とデータ移動のオーバーヘッドのバランスを取るために、専門家をCPUで実行するかGPUで実行するかを決定するコストモデルを活用する。
- FiddlerはPyTorchと統合されており、最適化されたメモリ管理と実行スケジューリングを備えたプリフィル段階とデコード段階の両方をサポートする。
- 実行戦略としてハイブリッド方式を採用し、専門家の一部のみをGPUにロードし、残りはCPUで計算する。
- システムは、シングルバッチかつローカルデプロイのシナリオを想定しており、エンドツーエンドの遅延を最小限に抑えることを最優先に設計されている。

実験結果
リサーチクエスチョン
- RQ1MoEモデルの推論において、CPU計算を活用することでGPU-CPU間のデータ移動を効果的に削減できるか?
- RQ2PCIeを介した専門家重みの転送に伴うオーバーヘッドと比較して、CPUベースの専門家実行の遅延はどの程度か?
- RQ3GPUメモリやデータ転送に依存するのではなく、専門家計算をCPUにオフロードすることで、どの程度のパフォーマンス向上が得られるか?
- RQ4制限されたGPUメモリを有するさまざまなハードウェア構成において、Fiddlerのオーケストレーション戦略はどの程度スケーラブルか?
- RQ5モデルの量子化やマルチGPU構成を用いずに、Fiddlerは非圧縮MoEモデルに対して高いスループットを達成できるか?
主な発見
- Fiddlerは、単一の24GB GPU上で非圧縮のMixtral-8x7Bモデルに対して1秒あたり3トークン以上の性能を達成し、ローカル環境でのリアルタイム推論を可能にした。
- Quadro RTX 6000では、FiddlerはEliseev & Mazur (2023)と比較して8.2倍、DeepSpeed-MIIと比較して19.4倍の低遅延を達成した。
- L4 GPUでは、FiddlerはEliseev & Mazur (2023)と比較して10.1倍、DeepSpeed-MIIと比較して22.5倍の高速化を実現した。
- 生成長が長い場合に性能向上が顕著であり、プリフィルの遅延が長時間にわたって均等化されるためである。
- PCIe帯域幅の制限により、CPUの計算スループットが低くても、FiddlerのCPUベースの専門家実行戦略はGPUへのデータ転送を上回る性能を発揮した。
- システムにより、Mixtral-8x7Bのような90GB以上のモデルが、量子化やマルチGPU構成を用いずに、エントリーレベルのGPUでもデプロイ可能になった。

より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。