記事一覧へ戻る
推論・デプロイ

vLLMのArm CPU最適化:LLM推論を「動く」から「使える」へ

読了目安 3 分

導入

LLM推論においてCPUは依然として重要な選択肢だ。専用アクセラレータほどのピーク性能を狙うものではないが、入手性が高く、運用が比較的単純で、既存のクラウドや企業データセンターに組み込みやすい。Arm Neoverseベースのサーバーが広がるなか、vLLMのArm CPU対応を強化する意味は大きい。vLLM Blogは、vLLM、PyTorch、oneDNN、KleidiAIなどとの協力による数カ月の改善内容を公開した。

主なポイント

  • まず使いやすさを改善:Arm CPU向けに事前ビルド済みwheelとDockerイメージが用意され、クラッシュ、精度、スレッド、CPU使用率に関する問題が修正された。chunked prefill、prefix caching、INT8 W8A8 / W4A8推論、GPT-OSS、Whisper、Qwen 3.5 / 3.6などのモデル対応も進んだ。
  • GEMMだけが原因ではなかった:2025年10月時点の測定では、モデル実行時間の約80%がdense layerに費やされ、そこでは最適化済みのBF16 GEMMが使われていた。しかし単体GEMMはすでに期待効率に近く、真の問題はアロケータ、ランタイム同期、フレームワークのオーバーヘッド、attention、量子化実行の組み合わせにあった。
  • メモリ確保の改善が大きい:PyTorchのglibc malloc利用では、大きなメモリ領域の再利用が不十分で、ページフォルトやスレッド競合が発生していた。Arm CPU上でmimallocをデフォルトにした結果、Llama 3.1 8Bのオフラインスループットは2.3倍、低並列のサービングでは約7倍の改善が報告されている。
  • 高コア数では同期が壁になる:paged attentionの時間の74%がOpenMP動的スケジューリングに使われるケースが観測された。Neoverse V2はLSEによるハードウェアアトミック命令を備えるが、従来のランタイムはそれを十分に使っていなかった。LSEアトミック対応のlibgompにより、Llama 3.1 8Bのオフラインスループットは9%向上し、低並列TPOTは15%低下した。
  • BF16重みの事前パッキング:高性能GEMMは、カーネルに適したブロック化レイアウトを好む。毎回レイアウト変換を行うと、とくに低並列時にコストが目立つ。oneDNNとCompute Library for Arm Architectureを使う経路では、warmup時にBF16重みをパックして推論中に再利用できる。これによりオフラインスループットは16%向上し、低並列TPOTは60%削減された。
  • paged attentionをArm向けに最適化:従来のCPU paged attentionでは、QK、PV、softmaxの指数計算が参照実装に頼っていた。新しい実装はArm BFMMLA Advanced SIMD命令を使ったカスタムGEMMと、ベクトル化された三次多項式近似によるsoftmax exponentialを採用した。paged attentionは最大4倍高速化し、Llama 3.1 8Bのオフラインスループットは12%向上した。

意義

この取り組みは、Arm CPUでvLLMを単に動かす段階から、実際の推論基盤として評価できる段階へ近づけるものだ。企業にとっては、低並列、コスト重視、既存サーバー活用といった場面でCPU推論の選択肢が広がる。

同時に、LLM推論の性能は単一の行列積カーネルだけでは決まらないことも明確になった。メモリ管理、スレッドランタイム、重み配置、attention実装、量子化パスが積み重なって、エンドツーエンドの性能を左右する。Arm CPUが推論基盤として存在感を増すには、このようなスタック全体の最適化が不可欠だ。

出典:vLLM Blog

コメント

ログイン状態を確認中…

コメントを読み込み中…

関連記事

CCTest · Blog
HyQuant、混合精度でLLMの注意機構とKVキャッシュを圧縮
推論・デプロイ
cctest.ai
推論・デプロイ

HyQuant、混合精度でLLMの注意機構とKVキャッシュを圧縮

HyQuantは、大規模言語モデルの注意機構を対象にした混合精度量子化手法です。重要なトークンと直近の局所ウィンドウを高精度で保持し、それ以外のコンテキストを低ビット化することで、精度低下とメモリ使用量のバランスを図ります。

続きを読む
CCTest · Blog
ボトルネックを追う:AMD MI355XでMiniMax M3を高速化した方法
推論・デプロイ
cctest.ai
推論・デプロイ

ボトルネックを追う:AMD MI355XでMiniMax M3を高速化した方法

vLLMは、AMD Instinct MI355X上のMiniMax M3を継続的に高速化した過程を公開した。単一のカーネルに頼るのではなく、ローカル形状、重複計算、データ移動、ディスパッチ、待ち行列を順に確認する方法が中心となっている。

続きを読む
CCTest · Blog
vLLMの階層型KVキャッシュ、GPU外への拡張とノード間共有を実現
推論・デプロイ
cctest.ai
推論・デプロイ

vLLMの階層型KVキャッシュ、GPU外への拡張とノード間共有を実現

vLLMのTiered KV Cache Offloadingは、KVキャッシュをGPUメモリからホストRAM、ファイルシステム、オブジェクトストレージ、リモートノードへ拡張します。再計算の一部を再読み込みに置き換え、複数インスタンス間の共有も可能にします。

続きを読む