project
HPC-Ops - テンセント・フンユアンのオープンソース産業グレード高性能大規模モデル推論演算子ライブラリ
HPC-Opsは、Tencent Hunyuan AI Infraチームが開発した、オープンソースの産業グレード高性能大規模モデル推論演算子ライブラリです。アテンション、MoE、GEMM、サンプリング、通信融合などのコアモジュールを網羅し、BF16/FP8および混合精度をネイティブにサポートしています。
HPC-Opsとは何ですか?
HPC-Opsは、Tencent Hunyuan AI Infraチームが開発した、オープンソースの産業グレード高性能大規模モデル推論演算子ライブラリです。アテンション、MoE、GEMM、サンプリング、通信融合などのコアモジュールを網羅し、BF16/FP8および混合精度をネイティブにサポートしています。HPC-OpsはNVIDIA H20などのGPU向けに最適化されており、動的スケジューリングと演算子融合により、エンドツーエンドのQPMが30%以上向上しています。多くのパフォーマンス指標において、vLLM、FlashInfer、SGLangといった主流のベースラインを大幅に上回り、既にTencent Hunyuanの大規模プロダクションレベルの推論サービスをサポートしています。
HPC-Opsの主な機能
-
動的注意スケジューリング長文と短文が混在するオンライン推論負荷に対しては、ランタイムタイルレベルの動的タスクスケジューリングを採用することでCTAレベルの負荷分散を実現し、長文テキストのシナリオでは最大2.95倍の高速化を実現しています。
-
Router GEMMこれは、デュアルBF16 GEMMを組み合わせてFP32精度の計算をシミュレートし、オフラインでの重み分割と推論ステージの融合を単一のカーネルに統合することで、数値的に敏感なシナリオでの高精度とテンソルコアの高いスループットのバランスを取っています。
-
FusedMoEルーティングインデックス、ゲートアップGEMM、活性化量子化、ダウンGEMM、およびトップK重み付き集約の5つの段階をバブルフリーのパイプラインに再構築することで、メモリ転送とカーネル起動のオーバーヘッドを排除します。
-
Fused AllReduce+Normこれは、GPU間の通信、残差加算、およびRMSNorm正規化を深く統合し、NVLinkマルチキャストおよびP2P技術に基づいて統合された通信と計算を実現し、テンソル並列処理のボトルネックを緩和します。
-
サンプラー ラージ オペレーター フュージョン反復ペナルティ、温度スケーリング、Top-K、Top-P、Softmax、ランダムサンプリングなど、10種類以上のカーネルを2つのCUDAカーネルに統合することで、推論後の後処理におけるギャップを埋めます。
-
GroupGEMM FP8エキスパート並列処理とグループ化されたエキスパート行列乗算をサポートし、テンソルごとおよびブロックごとのFP8量子化をネイティブにサポートし、MoEモデルの効率的な推論に適応しています。
HPC-Opsの技術的原理
- 注意力動的スケジューリング従来の静的なスプリットKVでは、長いリクエストと短いリクエストが混在する動的な負荷には対応できません。HPC-Opsは、すべてのリクエストを均一なタイル粒度で分割し、各CTAタスクのサイズをグローバルタイルの総数全体に均等に分散させ、その後、貪欲バケットアルゴリズムを使用して最も均等な分散を実現します。タスク割り当てモジュールは、各推論の前に専用のタスクマッピングテーブルを生成します。アテンションカーネルの各レイヤーは、このテーブルに従ってタスクを正確に選択し、最後に結合カーネルが結果をマージして、プロセス全体で負荷分散を実現します。
- ルーター GEMM Dual BF16 アナログ FP32MoEルーティングのような精度が重要なシナリオでは、FP32重みはオフラインで高次のBF16と低次の残差BF16(スケーリング係数1/256)に分割されます。推論フェーズでは、BF16テンソルコアGEMMが2回実行され、線形結合されます。活性化値は全体を通してBF16のままです。デュアルパス計算は単一のカーネルに統合され、入力は1回だけ移動され、中間結果はデュアルレジスタアキュムレータによってキャッシュされ、結果はエピローグフェーズで1回のFMA補正後に書き出され、プロセス全体を通してHBMの往復オーバーヘッドはありません。
- FusedMoEパイプラインのリファクタリングルーティングフェーズでは共有メモリブロック統計を使用し、各エキスパートに連続したビデオメモリ出力範囲を予約します。Gate-Up GEMMはルーティングインデックスを介して元の入力を直接読み取り、独立したギャザー転送の必要性を排除します。ワープ特化は排除され、データ転送と計算は同じワープグループによって完了し、メモリアクセス遅延マスキングロジックがCTA内のソフトウェアパイプラインからクロスCTAハードウェアスケジューリングにアップグレードされます。PDLテクノロジーはリンク全体を接続してバブルフリー実行を実現します。
- AllReduce + Norm 通信コンピューティング融合CUDAマルチメモリとP2P技術に基づいており、ネイティブなNVLink統合操作にカプセル化されています。
RMSNorm(AllReduce(x) + residual, weight)高スループット版はNVSwitchマルチキャスト機構を利用してプリフィルシナリオに対応し、低遅延版はLamport P2P機構に基づいてPDLを介したデュアルカーネルのオーバーラップ実行を実現し、デコードシナリオに対応します。
HPC-Opsの使い方
-
ハードウェア環境NVIDIA SM90アーキテクチャのGPU(H2Oなど)を搭載したサーバーを用意し、Python 3.8以降、CUDA 12.8以降、およびC++17コンパイラをインストールしてください。
-
リポジトリのクローン作成GitHubからHPC-Opsのソースコードリポジトリをローカルマシンにクローンしてください。
-
コンパイルとパッケージ化プロジェクトディレクトリに移動し、コンパイルおよびパッケージ化コマンドを実行して、ホイールインストールファイルを生成します。
-
インストールと展開生成されたwheelファイルをインストールし、環境のデプロイを完了するには、pipコマンドを使用してください。
-
インポートモジュールhpcモジュールをPythonスクリプトにインポートしてください。
-
データの準備対象となる演算子の種類に基づいて、精度要件を満たす入力テンソルと構成パラメータを準備します。
-
発信者オペレーター: 対応するPython API(Attention、FusedMoE、Samplerなど)を呼び出して、高性能な推論を実行します。
-
テストと検証演算子の正確性と具体的な使用方法を確認するには、testsディレクトリにあるテストスクリプトを参照してください。
-
フレームワーク統合提供されるPython APIを通じて、HPC-OpsをvLLMやSGLangなどの主要な推論フレームワークにシームレスに組み込むことができます。
-
パフォーマンスベンチマークベンチマークディレクトリにあるスクリプトを使用して、対象ハードウェア上でパフォーマンス再現テストおよび比較テストを実行してください。
HPC-Opsの主な利点
-
エンドツーエンドの最適化これは、単一点のオペレータ最適化ではなく、アテンション→ルータ→MoE→通信収束→サンプラーという推論チェーン全体を網羅し、エンドツーエンドのQPMを30%以上向上させます。
-
動的負荷分散によりロングテールが解消されるランタイムタイルレベルの動的スケジューリングと貪欲バケットアルゴリズムにより、長文と短文のリクエストが混在するシナリオでは、長文テキストの処理速度を最大2.95倍向上させ、エンドツーエンドのQPMを17%改善できます。
-
高精度ルーター GEMMデュアルBF16の組み合わせは、TF32のわずか1/36の誤差でFP32精度をシミュレートし、数値感度と計算能力の解放のバランスを取りながら、cuBLAS FP32よりも最大3.22倍高速なパフォーマンスを実現します。
-
教育省の気泡のない生産ラインFusedMoEは、ルーティング、ゲートアップ、量子化、ダウン、トップK集約の5つのステージを単一の実行リンクに再構築し、メモリ転送とカーネル起動のオーバーヘッドを排除することで、vLLM/SGLangと比較して1.2倍~1.6倍のパフォーマンス向上を実現します。
-
通信とコンピューティングの深い統合Fused AllReduce+Normは、ネイティブNVLink統合操作としてカプセル化されており、テンソル並列処理のボトルネックを解消し、NCCL/FlashInferと比較して最大1.68倍の高速化を実現しています。
HPC-Opsプロジェクトのアドレス
- GitHubリポジトリ:https://github.com/Tencent/hpc-ops
HPC-Opsと類似製品との比較
| 寸法 | HPC-Ops | FlashInfer |
|---|---|---|
| プロジェクトの性質 | テンセントのオープンソースで長期にわたりメンテナンスされている産業グレードのオペレータライブラリ「Hunyuan」は、大規模な本番環境で検証済みです。 | コミュニティ主導型のオープンソース高性能演算子ライブラリであり、vLLMやSGLangなどのフレームワークに広く統合されている。 |
| 注意力動的スケジューリング | 実行時タイルレベルの動的タスク割り当てと貪欲バケット化をサポートし、長文と短文のリクエストが混在するシナリオにおいて、長文テキストの処理速度を最大限に向上させます。 2.95x混合バッチ加速 1.59x~1.76x | 主なスケジューリング方法は静的分割k方式であり、均一に長い負荷がかかる状況では安定したパフォーマンスを発揮するが、長い負荷と短い負荷が混在する状況ではCTAレベルのロングテールレイテンシが発生しやすい。 |
| 注意基準パフォーマンス | BF16 プレフィル(最高) 1.33x、Decode 2.22x;FP8 Decode 2.0x(FlashInferのベースラインとの比較) | コミュニティにおける主流のベースラインとして、優れた性能を発揮するが、動的負荷や疎なシナリオにおいては最適化の余地がある。 |
| Sparse Attention | FP8ブロックスパースプリフィルは、無関係なKVタイルをスキップするための事前計算されたブロックマスクをサポートしており、FlashInferなどのベースラインと比較して最高のパフォーマンスを提供します。 3.16x | ブロックスパースモードをサポートしていますが、HPC-OpsはFP8精度でのスパーススケジューリングとタイル量子化のより洗練された実装を提供します。 |
| MoE Fusion | FusedMoEは、ルーティングインデックス→ゲートアップ→量子化→ダウン→トップK集約をバブルのないパイプラインに再構築し、優れたパフォーマンスを実現します。 1.2x~1.6x | 基本的なMoEサポートは提供するものの、フルモジュールパイプライン統合には対応しておらず、多段階メモリ再配置やカーネル起動によるオーバーヘッドが発生する。 |
| Router GEMM | 独自のデュアルBF16アナログFP32精度により、TF32のわずか1/36の誤差で優れた性能を発揮します。 3.22x数値的に敏感なルーティングモジュールに適しています | 高精度ルーターGEMM最適化専用の機能はありません。cuBLAS FP32を使用するか、BF16/TF32の精度低下を受け入れる必要があります。 |
| 通信とコンピューティングの融合 | Fused AllReduce+Residual+RMSNormは、ネイティブNVLink統合操作にカプセル化されており、FlashInferと比較して最高のパフォーマンスを提供します。 1.68x~1.76x | 基本的な通信演算子は提供するが、AllReduce、残差、正規化のネイティブな統合機能は備えていない。 |
HPC-Opsの応用シナリオ
-
高スループットのオンライン推論サービスダイナミックアテンションスケジューリングとサンプラーを組み合わせることで、ロングテールレイテンシが大幅に削減され、長短さまざまなリクエストが混在する実際の業務負荷に適しています。
-
MoE大規模モデル推論FusedMoEは、DeepSeek-V3やQwen3-235BなどのMoEモデルに対する高度な最適化であり、TP/EP並列シナリオにおける推論効率を向上させます。
-
テンソル並列分散推論Fused AllReduce + Normは、複数のGPUにおける通信ボトルネックを解消するため、複数のGPUを搭載した単一ノード上での大規模モデルの展開に適しています。
-
精度重視の推論Router GEMMは、BF16演算能力でFP32精度を実現し、MoEルーティングやスパースアテンションなどの数値精度が求められるモジュールのニーズを満たします。