Ant GroupとvLLMコミュニティは共同で、量子化推論カーネルライブラリHummingをオープンソース化した。コードはvLLMプロジェクトの組織配下に置かれ、pip install humming-kernelsで直接インストールできる。vLLM 0.29.0以降は、CUDA版のパッケージにこの依存関係が最初から同梱されており、--linear-backend hummingまたは--moe-backend hummingを付けるだけで切り替えられる。
ブログに名前が挙がっているAnt側のコントリビューターはJinzhen Lin氏、Zekai Gu氏、Zhilin Huang氏で、コミュニティ側にはRed HatのMichael Goin氏らがいる。
1つのライブラリで多数のフォーマットをカバー
量子化推論の長年の悩みは、フォーマットが多すぎることだ。重み4ビット・活性化16ビットには専用のカーネルが要り、活性化を8ビットにすればまた別のカーネルが必要になる。FP4、MXFP4、NVFP4もそれぞれ書き方が異なる。Hummingは「量子化をどう記述するか」と「カーネルをどう実行するか」を切り離し、共有コンポーネントを組み合わせて個別のカーネルを作る方針をとる。ブログの表現では「separating quantization descriptions from execution choices」だ。
現時点で対応する組み合わせはWnA16、W8A8、W4A8、W4A4で、データ型はINT1からINT8、FP4からFP8、さらにMXFP4、MXINT4、NVFP4に及ぶ。ハードウェアはNVIDIAのTuring以降の全アーキテクチャをカバーし、HopperのH20やH200から、BlackwellのB300、コンシューマー向けのSM120まで含まれる。
単層の行列積について、いくつかの比較結果を示す(いずれもプロジェクト側の自己測定。条件はブログ内のグラフを参照)。
| シナリオ | 比較対象 | 高速化 |
|---|---|---|
| 密なW4A16、小バッチ | cuBLAS | 多くのデバイスで約3〜4倍 |
| W4A8-MXFP4、H200 | DeepGEMM W8A8 | 約4.5倍 |
| MoE W4A16、B300の大バッチ | Marlin | 約5倍 |
エンドツーエンドの検証にはDeepSeek-V4.1-Flash、H20を8基、テンソル並列8を使用した。MoE部分をMarlin W4A16からHumming W4A8に置き換えたところ、出力スループットは約14%から43%向上し、最初のトークンまでの遅延は約25%から32%短縮された。同時実行数が増えるほど効果は大きい。
中国の導入側にとっての意味
ブログの検証環境は、中国の推論クラスターの実情に沿って選ばれたかのようだ。H20はNVIDIAが中国市場向けに用意したカードで、演算性能は削られ、メモリ帯域は維持されている。大規模モデルの推論では、低ビット量子化がほぼ必須になる。エンドツーエンドの検証にはDeepSeek自身のMoEモデルが使われており、この組み合わせは中国の多くのチームが手元に持つ構成そのものだ。
もう1点はCUDA互換の国産デバイスへの対応だ。ブログは、阿里巴巴(Alibaba)系のT-Head(Pingtouge)が手がけるZhenwu 810Eを対応リストに入れており、ロードマップにはZhenwu M890など、より多くのT-Head PPUデバイスへの対応も記されている。AntとT-Headはともにアリババ系列に属する。この路線がどこまで進むかは、アップストリームへのマージの進み具合次第だ。
すでにvLLMを使っているチームにとって、移行コストは主に検証作業にある。Hummingが直接読み込めるフォーマットなら、モデルの再量子化は不要だ。GPTQ INT3のようにvLLMがネイティブ対応していないフォーマットは、--quantization hummingの互換パスで動かせる。
明記された弱点
ブログは制約を明確に列挙している。B300の新命令はINT8演算をサポートしなくなり、INT8の行列積は旧命令でしか実行できず、性能が目に見えて低い。次世代のRubinは、Blackwellにある2種類の隠れたTensor Coreフォーマットをサポートしない。カーネル構成は現状ヒューリスティックなルールで選んでおり、作者は大域的な最適解は選べないと認めている。自動チューニングも未完成だ。
コンパイル速度もセールスポイントだ。H200でキャッシュを無効にした場合、W4A16カーネル1本をHummingとNVRTCでコンパイルするのにかかる時間は1.88秒にすぎない。モデルのウォームアップ時には、単層のすべてのサイズをカバーするカーネルが約2〜4秒でビルドできる。モデルやフォーマットを頻繁に入れ替えて実験するチームにとっては、スループットの数字以上に時間の節約になる。
参考資料:vLLM公式ブログ、Humming GitHubリポジトリ、CocoLoop。スループット、遅延、コンパイル時間はいずれもプロジェクト側が公表した測定条件に基づく。