[論文レビュー] First-Generation Inference Accelerator Deployment at Facebook
Facebookは、PCIe経由で接続された6枚の低消費電力カード(1枚あたり13W)を共同設計し、高性能でエネルギー効率の高い推論アクセラレーターシステムを実現した。このシステムは、180–270 TOPS(int8)の性能と96 GBのLPDDRメモリを実現し、91Wの消費電力で動作する。オープンエコシステムはOCPハードウェアとオープンソースソフトウェア(PyTorch、Caffe2、Glow)に基づいて構築されており、大規模な機械学習モデル(特に複雑なNLPおよびレコメンデーションシステム)の効率的なデプロイを可能にし、レイテンシとスループットにおいてCPUを上回る性能を発揮した。
In this paper, we provide a deep dive into the deployment of inference accelerators at Facebook. Many of our ML workloads have unique characteristics, such as sparse memory accesses, large model sizes, as well as high compute, memory and network bandwidth requirements. We co-designed a high-performance, energy-efficient inference accelerator platform based on these requirements. We describe the inference accelerator platform ecosystem we developed and deployed at Facebook: both hardware, through Open Compute Platform (OCP), and software framework and tooling, through Pytorch/Caffe2/Glow. A characteristic of this ecosystem from the start is its openness to enable a variety of AI accelerators from different vendors. This platform, with six low-power accelerator cards alongside a single-socket host CPU, allows us to serve models of high complexity that cannot be easily or efficiently run on CPUs. We describe various performance optimizations, at both platform and accelerator level, which enables this platform to serve production traffic at Facebook. We also share deployment challenges, lessons learned during performance optimization, as well as provide guidance for future inference hardware co-design.
研究の動機と目的
- Facebookのデータセンタで増加する大規模な機械学習モデルに起因する、高計算能力かつ低レイテンシを要する推論ニーズに対応する。
- スパースなメモリアクセス、大規模なモデルサイズ、高帯域幅要件を伴う大規模モデルにおけるCPUベース推論の限界を克服する。
- 自然言語処理(NLP)、コンピュータービジョン(CV)、レコメンデーションシステムを含む多様な機械学習ワークロードを、高いパフォーマンスとエネルギー効率でサポートする、ハードウェア・ソフトウェアスタックを共同設計する。
- 複数ベンダーのAIアクセラレーターとフレームワークとの相互運用性および拡張性を実現するオープンエコシステムを構築する。
- モデル、カード、オペレータ、システムレベルの最適化を通じて、生産環境におけるリソース利用率の最大化とレイテンシの最小化を実現する。
提案手法
- PCIeスイッチを介して接続された低消費電力で高TOPS/W性能のカード(int8で30–45 TOPS、FP16で4–6 TFLOPS)を6枚使用したアクセラレーターシステムを共同設計し、パフォーマンスとメモリ容量をスケーリングした。
- 大規模なレコメンデーションシステムモデルに特化したマルチカードパーティショニング戦略を導入し、埋め込みテーブルと計算をカード間で効率的に分散可能にした。
- モデルレベル(量子化、オペレータ共同設計)、カードレベル(グラフパーティショニング、バッチ処理、コア配置)、システムレベル(サービングスタックの変更)のソフトウェアスタック最適化を実装した。
- PyTorch、Caffe2、Glowなどのオープンソースフレームワークと、ONNXifiなどのツールを活用し、複数のアクセラレーターとモデルタイプへの移植性とサポートを確保した。
- ベクトルコアのプログラマビリティを活用し、4ビット量子化やローワイズプルーニングといった将来のモデル圧縮技術の実行時サポートを可能にした。
- 将来的なハードウェア拡張として、統合型動画デコーダーやプログラマブルなメモリ内処理(PIM)を検討し、将来のモデルとワークロードの変化に適応できるようにした。
実験結果
リサーチクエスチョン
- RQ1Facebookの生産環境における大規模な機械学習ワークロードに特化した、スケーラブルでエネルギー効率の高い推論アクセラレーターシステムを共同設計するには、どのようなアプローチが有効か?
- RQ2複雑なモデルをマルチカードアクセラレータープラットフォームにデプロイする際、高いリソース利用率と低レイテンシを達成するために必要なソフトウェアおよびシステムレベルの最適化は何か?
- RQ3多様なAIアクセラレーターとフレームワーク間での相互運用性を実現するオープンハードウェアおよびソフトウェアエコシステムをどのようにアーキテクチャ設計すべきか?
- RQ44ビット量子化やローワイズプルーニングといった進化するモデル圧縮・最適化技術のサポートを可能にするために、プログラマビリティはどのような役割を果たすか?
- RQ5動画デコーダーやメモリ内処理(PIM)といった特殊なコンponentsをアクセラレーターシステムに拡張するにあたり、主な課題と機会は何か?
主な発見
- 6枚カードのアクセラレーターシステムは、180–270 TOPS(int8)および24–36 TFLOPS(FP16)を達成し、96 GBのLPDDRメモリを搭載。ピーク効率は2.0–3.0 TOPS/Wであった。
- ソフトウェア最適化を経て、CPUではメモリおよび計算制約により実行不可能な大規模なレコメンデーションシステムモデル(現在のモデルの300倍以上)を効率的に提供可能となった。
- OCPハードウェアとオープンソースソフトウェア(PyTorch、Caffe2、Glow、ONNXifi)に基づくオープンエコシステムは、複数のベンダーとフレームワークをサポートし、イノベーションの拡大と移植性を実現した。
- 量子化やオペレータ共同設計といったモデルレベルの最適化により、アクセラレーターカードのメモリ圧迫が顕著に軽減され、パフォーマンスが向上した。
- プログラマブルなベクトルコアにより、初期ハードウェア設計後であっても、4ビット量子化やローワイズプルーニングといった新技術の実行時サポートが可能になった。
- 特に自然言語処理(NLP)およびレコメンデーションシステム分野の高複雑度モデルにおいて、CPUベース推論に比べてスループットとレイテンシの両面で顕著な改善が確認された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。