1. 要旨
HPC-Opsは、騰訊のHunyuan AI Infraチームによるオープンソースの実用グレードLLM推論オペレーターライブラリであり、主流の推論カード(特にNVIDIA Hopper/SM90、例えばH20)をハードウェアの利用率に近づけることを目的としています。 このプロジェクトは、SOTAカーネルをゼロユースCUDA + CuTe/CUTLASSから磨き上げることに焦点を当てており、vLLMやSGLangなどの推論フレームワークへの比較的クリーンな統合を提供します。また、BF16/FP8のような多精度推論シナリオに適しています。
2. コア機能
1. 生産における最終性能:推論クリティカルパスの詳細な最適化のために、Attention / GroupGEMM / FusedMoEの公式最大観測加速度比(最大2.22倍)が示されています。
2. 主要な演算子カバレッジ:注意(プリフィル/デコード、ページ付き注意を含む)、グループ化GEMM、融合MoEおよびその他の推論高周波演算子を含む。
3. 多重精度および量子化サポート:BF16およびFP8をネイティブにサポートし、ブロック単位やテンソルごとの異なる量子化スケーリング手法をカバーしています。
4. 統合の容易さと可読性:「クリーンな抽象化+カスタマイズ性」を強調しつつ、カーネル実装を現代的なCUDA学習サンプルにまとめて二次開発の閾値を下げること。
3. 設置
1. 環境要件:NVIDIA SM90 アーキテクチャのGPU; Python 3.8+; C++17をサポートするコンパイラ; CUDA Toolkit 12.8+。
- ソースコードのインストール(ビルドホイール):
git clone https://github.com/Tencent/hpc-ops.gitcd hpc-opsmake wheelpython3 -m pip install dist/*.whl- 3. 依存関係の提案:リポジトリの
requirements-dev.txtに応じて開発・テスト依存関係を準備し、実行中のユースケースやバージョンの整合を容易にします。
4. 典型的なユースケース
1. MoEモデル推論加速:FusedMoE / GroupGEMMを用いて、エキスパートルーティング後のGEMMおよび融合オーバーヘッドを削減し、QPS/QPMを向上させます。
2. 長いコンテキストと高同時実行サービス:注意(ページ付き注意を含む)はプリフィル/デコードのスループットや遅延により敏感であり、高負荷時にGPUを圧縮するのに適しています。
3. 推論フレームワークの二次統合:vLLM、SGLangなどのキーオペレーターを置き換え・拡張し、「ローカルカーネルの置き換えと全体的な利益」というエンジニアリングパスを実現します。
4. カーネルの研究開発と教育:CuTe/CUTLASSのエンジニアリング実装は、チームトレーニングや新規オペレーターの反復のための読みやすいサンプルとして使用されます。
5. 生態系と競合製品
- 生態学的配置:HPC-Opsは「高性能オペレーターベース」のようなものであり、推論フレームワーク(vLLM、SGLang)と組み合わせて使用することに適しており、完全な推論エンジンの直接的な代替ではありません。
- 競合他社/ベンチマーク:注意方向の共通比較 FlashAttention/FlashInfer/TensorRT-LLM; MoEおよびGEMMの方向は、一般的にTensorRT-LLM、DeepGEMMなどと比較されます。 HPC-Opsの違いは、特定のハードウェアや本番ワークロードのより積極的なマイクロアーキテクチャ最適化とエンジニアリング抽象化にあります。
6. 制限事項と注意事項
1. ハードウェアの閾値:現在SM90(ホッパー)GPUが明確に必要です。 他のアーキテクチャの利用可能性や利点は、それ自体で検証する必要があります。
2. バージョン結合:CUDAのバージョン、コンパイラ、依存関係に敏感であり、リポジトリの指示に従って環境を厳密にロックすることが推奨されます。
3. 「最大観測加速比」は安定したリターンとは等しくありません。バッチ数、シーケンス長、並行性や演算子融合法の違いによってリターンに差が生じ、自身のワークロードをベンチマークする必要があります。
4. 統合コスト:演算子を既存の推論スタックに置き換える際は、数値の整合性、精度戦略(BF16/FP8)、およびフォールバックパスに注意を払い、オンライン制御不能なリスクを回避すべきです。
7. プロジェクトアドレス
https://github.com/Tencent/hpc-ops
8. よくある質問
Q: HPC-Opsとは何で、どのような用途に適していますか?
A: これは、vLLM/SGLangのようなフレームワークで主要な演算子を置き換え、スループットとGPU利用率を向上させるのに適した高性能なLLM推論演算子ライブラリです。
Q: HPC-OpsはどのGPUおよびCUDAバージョンをサポートしていますか?
A: NVIDIA SM90(Hopper)アーキテクチャGPUは公式に必須で、CUDA Toolkitは12.8以上が必要です。
Q: HPC-Opsのコアオペレーターはどのような推論リンクをカバーしていますか?
A: Attention(プリフィル/デコード、ページ付き注意を含む)、Grouped GEMM、Fused MoEなどの推論クリティカルパス演算子をカバーします。
Q: HPC-OpsのFP8量子化/スケーリング手法はどのように選べますか?
A: まずリポジトリが提供するインターフェースとテストケースを実行し、その後、精度目標やパフォーマンス指標に基づいてブロック単位やテンソル単位などのスケーリング戦略を選択し、エンドツーエンド回帰を行います。
Q: 自分のモデルやビジネスにおけるHPC-Opsの利点をどのように評価すればよいですか?
A: 実際のリクエスト分布(シーケンス長、バッチ、並行性、MoE構成)をA/Bベンチマークとして使い、プリフィル、デコード、エンドツーエンドのスループット/レイテンシをそれぞれ測定します。