AIモデルの推論を支える低レベルライブラリ「llama.cpp」において、MTP(Multi-Token Prediction)と呼ばれる次世代推論手法の内部実装が大きく整理された。複数のトークンを同時に予測する際に使われる「リカレントキャッシュ」の設計を見直し、不要なデータ複製やパディングを排除することで、メモリ効率とコードの明快さを両立させる変更がGitHub上でマージされた。この変更はApple SiliconやCUDA、Vulkan、ROCmを含む幅広いバックエンドに適用されており、エッジデバイスからデータセンターまで推論スタック全体に波及する構造的な改良といえる。
この記事を一言でいうと
MTP推論時に発生していた余分なメモリ操作とパディングを除去し、単一のストライドコピーで全スナップショットをキャッシュへ書き込む設計に統一した。これによりコードの複雑性が下がり、幅広いハードウェアで動作確認が行われている。
なぜ話題なのか
大規模言語モデルの推論速度を高める手法として、次の1トークンだけでなく複数トークンを同時に予測するMTPが注目されている。しかし実装面では、リカレント状態をキャッシュに保存する際に不要なパディング(詰め物)を挿入したり、データを複数回コピーする非効率な処理が残っていた。今回の変更は、こうした技術的負債を解消し、推論エンジンとしての完成度を一段引き上げるものであり、オープンソースの推論コミュニティ全体にとって意味のある改善となる。
一般読者や企業にどう関係するのか
今回の改良は、AIモデルを自社環境で動かす企業や、オンデバイス推論を製品に組み込む開発者に直接関係する。特にスマートフォンやPC上で動作するAIアシスタント、ローカルでの文書生成、コード補完といったユースケースでは、メモリ使用量の削減と推論速度の向上がユーザー体験を左右する。日本企業においても、エッジAIやオンプレミスでのLLM活用を検討する動きが広がっており、推論ライブラリの効率化は導入ハードルを下げる要素として注目される。
AI業界の構造で見ると何が変わるのか
今回の変更は、AI推論スタックの「ボトムレイヤー」に位置する最適化技術の進化を示している。OpenAIやGoogleのようなフロントエンドのモデル提供者ではなく、その下で動く推論エンジンの効率が体系的に改善されることで、特定のGPUベンダーに依存しない「マルチバックエンド戦略」の実現性が高まる。Apple Silicon(arm64, KleidiAI有効)、Intel(x64)、AWS Graviton(arm64)、IBM Z(s390x)、さらにはVulkan、ROCm、OpenVINO、SYCLと、多様なバックエンドでテストが通過している事実は、特定ハードウェアの囲い込みが効きにくくなる構造変化を示唆する。
一次情報から確認できる事実
- 変更対象は
ggml_gated_delta_net関数で、初期リカレント状態を形状 (D, 1, n_seqs) で受け取り、スナップショット数Kをオペレータパラメータとして明示的に渡す設計に改められた - 従来は state->ne[1] からKを推論していたが、この暗黙的依存が除去された
- パディング除去とともに、複数回のD2D(デバイス間)コピーを単一のストライド付き
ggml_cpyに統合 - macOS(Apple Silicon arm64/KleidiAI有効/無効、Intel x64)、iOS XCFramework、Ubuntu(x64 CPU、arm64 CPU、s390x CPU、Vulkan x64/arm64、ROCm 7.2 x64、OpenVINO x64、SYCL FP32 x64)、Android arm64 CPU、Windows(x64/arm64 CPU、CUDA 12/13、Vulkan x64、HIP x64)でテスト済み
- SYCL FP32(Ubuntu/Windows)、macOS Apple Silicon arm64(KleidiAI有効)、openEuler全構成はCI上で無効化(DISABLED)
関連企業・関連技術
- llama.cpp: MetaのLLaMA系モデルを中心に、多様なハードウェアでLLM推論を可能にするオープンソースライブラリ
- MTP(Multi-Token Prediction): 次の1トークンではなく複数トークンを同時予測し、推論効率や生成品質を向上させる手法
- ggml: 軽量なテンソル演算ライブラリで、llama.cppのコアを構成
- KleidiAI: ARMが提供するAI推論最適化ライブラリで、Apple SiliconやAndroid arm64で活用が進む
- マルチバックエンド対応: CUDAに依存せず、ROCm(AMD)、Vulkan(クロスプラットフォーム)、OpenVINO(Intel)、SYCL(Intel/汎用)を同一コードベースでサポートする動き
今後の論点
- パディング除去とコピー統合による実際の推論速度向上幅はどの程度か(ベンチマーク結果は本PRでは示唆されていない)
- KleidiAI有効時のmacOSテストが無効化されている理由と、再有効化の時期
- MTPのリカレントキャッシュ設計が他のアテンション機構(例:GQAやMamba)とどのように相互作用するか
- 日本語モデルやモバイル向け軽量モデルへの波及効果はあるか