ニュースブリーフ · 2026年11月4日

llama.cpp v0.9.0がOCP FP8 E4M3量子化とバッチ化テンソルコピーAPIを追加

11月のリリースでは、FP8ファイル形式、複数シーケンスのサービング向けに効率化された統合KVキャッシュ、4つの新アーキテクチャ、そして初期のマルチノードテンソル並列を備えたggml v0.29.0が加わりました。

llama.cppは2026年11月4日にv0.9.0をタグ付けし、ggml v0.29.0を同梱しました。目玉となる追加は、飽和モードのOCP FP8 E4M3テンソル型で、新しいファイル形式LLAMA_FTYPE_MOSTLY_F8_E4M3と変換ヘルパーを通じて公開されます。リリースノートには、新形式の速度やメモリの数値は示されていません。2つ目の中核的な変更であるflash_attn_ext_rowsは、複数のシーケンスを同時にサービングする際の統合KVキャッシュを効率化し、そのモードで失われていたプリフィル性能を回復します。汎用のバッチ化テンソルコピーAPI(ggml_backend_tensor_copy_nとそのsetおよびgetの変種)が従来の_2d呼び出しを置き換え、MetalとCUDAで実装されています。

新たに4つのアーキテクチャに対応しました。自己回帰モードで動かす拡散モデルのClover-35B-A3B-Preview、Limite 1B、Mamba-2とGQAのハイブリッド設計で約2.9 Bと10.2 Bのサイズを持つMetis-1.6、そしてMistral Large 4です。音声では、Chatterbox TTS、40言語のオフライン文字起こし向けNemotron 3.5 Transcribe、定義済みのPocket TTS音声が加わりました。Gemma 4 E2BとE4Bはグラフ最適化を受け、ノートはこれを大きなプリフィルの向上と表現していますが、ここでも数値はありません。

ggml自体には、マルチノードテンソル並列向けの初期のマルチプロセス通信機構、CPUの新しいSVEカーネル、CUDAでの融合MoE行列乗算、Metalでの高速化されたMXFP4行列ベクトルカーネル、OpenCLとHexagonでの量子化GEMMの対応範囲拡大が加わりました。同梱の依存ライブラリはminiaudio 0.11.26とcpp-httplib 0.64.0に更新され、プロジェクトは3年連続でGitHubのOctoverseレポートに登場しています。

なぜ重要か

llama.cppのFP8 E4M3は、FP8の重みが当たり前になっていたvLLMやTensorRTとの差を埋めるものですが、ノートにベンチマークがないため、Q8_0から切り替える前に自分のハードウェアでパープレキシティとスループットを測定すべきです。この形式が報われるのはネイティブのFP8演算を持つシリコンだけなので、古いGPUやほとんどのApple製品では速度面の恩恵はわずかでしょう。バインディングを保守しているなら、バッチ化コピーAPIと_2d呼び出しの廃止が追うべき変更です。マルチノードテンソル並列は「初期」と明記されており、実験的なものとして扱うべきです。