Hugging Face、「transformers」のvLLMバックエンドを大幅強化 手書きのカスタム実装と同等以上の高速化を実現
要点
-
Hugging Faceは、機械学習ライブラリ「transformers」のvLLM用モデリングバックエンドを大幅に改善したと発表した。
-
動的なレイヤー融合技術の導入により、多くの大規模言語モデルにおいてvLLMのカスタム実装と同等かそれ以上の推論速度を達成した。
-
モデル開発者は追加の移植作業をすることなく、簡単なフラグ設定だけでvLLMの高速な推論環境を利用できるようになる。
-
ベンチマークでは、単一GPUから複数GPUによる大規模な混合専門家(MoE)モデルにいたるまで、ネイティブ実装に匹敵する処理能力を確認した。
-
Hugging Faceは2026年7月8日、同社が提供する機械学習ライブラリ「transformers」のvLLM用モデリングバックエンドにおいて、パフォーマンスを大幅に向上させるアップデートを発表した。このアップデートにより、多くの大規模言語モデル(LLM)アーキテクチャにおいて、vLLM専用に手書きで最適化されたカスタム実装と同等、あるいはそれ以上の処理速度が実現したという。モデルの作成者は、自身の実装をそのまま活用し、追加の移植作業やコストなしで超高速な推論処理を実行できるようになった。
「transformers」とvLLM統合の背景
「transformers」は、現在の機械学習における標準的なモデリングライブラリとして広く認知されている。一貫したAPI(アプリケーション・プログラミング・インターフェース)を介して450以上のモデルアーキテクチャをサポートしており、コードの独立性と理解しやすさを重視して設計されているのが特徴だ。開発者は「transformers」のコードを通じてアーキテクチャの動作を学び、それをvLLMやSGLang、MLX、llama.cppといった他の推論フレームワークへ移植してきた。
こうしたエコシステムにおける役割を支援するため、Hugging Faceは昨年、「transformers」をvLLM(LLMの推論を高速に行うためのエンジン)のモデリングバックエンドとして統合した。これにより、モデル開発者は個別にコードを移植することなく、「transformers」モデルをvLLM上で直接動かせるようになった。この統合では、「transformers」がモデルの定義コードを提供し、vLLMが「連続バッチング(時間差で届くリクエストを効率的にまとめて処理する技術)」や「カスタムアテンションカーネル(注意機構の計算を高速化する専用プログラム)」といった高度な推論最適化技術を担う仕組みをとっている。
以前の課題と今回の新アプローチ
しかし、従来の統合方法には性能面での限界があった。従来のバックエンドは、推論の最大のボトルネックである「アテンション(モデルがどの言葉に注目するかを計算する機構)」の処理を実行時にvLLMのものへ差し替えることに特化していた。
一方で、GPU間での並列化処理やコンパイル、そして複数の計算処理を一つにまとめる「融合カーネル」といった最適化は、手書きのカスタム移植コードでしか十全に適用できなかった。そのため、極限のパフォーマンスを求めるモデル開発者たちは、依然としてvLLM向けに専用のカスタム実装コードを書き直す必要があったという。
今回の最新アップデートでは、互換性のあるアーキテクチャに対して、実行時に推論専用の「レイヤー融合(複数の計算層を結合してメモリアクセスの無駄を省く最適化技術)」を動的に適用する仕組みが導入された。
具体的には、PyTorchのモデルの計算グラフ(処理の接続関係)を静的に解析するツールである「torch.fx」を利用して、最適化可能な既知の計算パターンを探索する。パターンが特定されると、プログラムの構造を表現する「ast(抽象構文木)」を用いてソースコードを動的に書き換え、最適化を実行する仕組みだ。これにより、手書きのコードを書くことなく、カスタム実装と同等の実行速度を引き出すことに成功した。
3つのモデルでの性能比較
Hugging Faceは、この新しいバックエンドの性能を検証するため、3種類の異なる「Qwen3」モデルを用いて、vLLMの従来の手書き実装(ネイティブ)と、今回のアップデート適用前後の「transformers」バックエンドの処理能力(スループット)を比較した。検証環境は以下の通りである。
- 4B Dense(密)モデル: 単一のGPU環境で実行。
- 32B Dense(密)モデル: 2台のGPUを用いたテンソル並列(モデルの計算を分割して並列実行する手法)環境で実行。
- 235B Mixture-of-Experts(混合専門家モデル、MoE): FP8(8ビット浮動小数点数)精度で、データ並列とエキスパート並列(MoEモデルの専門家ネットワークをGPU間で分割処理する手法)を組み合わせ、8台のH100 GPUを搭載した同一ノード上で実行。
ベンチマークの結果、新しい「transformers」モデリングバックエンドは、検証したすべての構成において、手書きのネイティブ実装と同等か、それを上回るスループットを記録したことが確認された。
利用方法と対応状況
この高速化されたバックエンドを利用する方法は非常にシンプルである。vLLMでモデルを起動する際のコマンドに、--model-impl transformers というフラグを追加するだけで適用できる。既存の各種並列化オプションとも完全に組み合わせて使用可能だ。
例えば、単一GPUで「Qwen3-4B」を起動する場合は、以下のコマンドを実行する。
vllm serve Qwen/Qwen3-4B --model-impl transformers
また、2台のGPUでテンソル並列を用いて「Qwen3-32B」を起動する場合は以下のようになる。
vllm serve Qwen/Qwen3-32B --model-impl transformers --tensor-parallel-size 2
なお、今回の対応において、リニアアテンション(計算量を抑えた線形注意機構)を使用するモデルは現時点ではサポートされていないが、近日中に対応予定とされている。また、コードがHugging Face Hubのリポジトリ上に直接置かれているカスタムモデルについては、規格に準拠した書き方になっていない可能性があるため、動作しない可能性が高いと説明されている。