llama.cpp v0.6.0リリース:新バッチAPIやMetal高速化、新モデル対応

llama.cpp v0.6.0リリース:新バッチAPIやMetal高速化、新モデル対応

基本情報

項目 内容
リポジトリ ggml-org/llama.cpp
版 v0.6.0
公開日 2026-10-06
ライセンス MIT
出典の種類 公開元の一次情報(公式GitHubリポジトリのリリース情報)

情報を集めた時点で、当サイトのコードが確定させた値です。日付はJSTで表示しています。

概要

C++によるLLM推論エンジンである llama.cpp の最新バージョン v0.6.0 がリリースされました。llama.cpp は、コンシューマー向けのハードウェアで大規模言語モデルを効率的に動作させることを目的とした、MITライセンスで開発されているオープンソースプロジェクトです。

今回のアップデートで最も影響が大きい変更は、新しいバッチ処理APIである llama_batch_ext の導入です。これにより、単一のバッチ内でトークンと埋め込み(embedding)を混在させて処理することが可能になり、MTP(Multi-Token Prediction)などの高度な推論手法への対応が強化されました。APIを利用して自作ツールを開発しているユーザーや、最新の投機的デコード機能を活用したいユーザーにとって、移行を検討すべき重要なリリースです。

破壊的変更・非推奨

内部的なセッション形式およびAPIの仕様が変更されており、これまでの設定やコードの一部がそのままでは動作しなくなります。

旧要素 新要素
llama_batch llama_batch_ext (推奨)
LLAMA_SESSION_VERSION 10以下 LLAMA_SESSION_VERSION 11
LLAMA_STATE_SEQ_VERSION 3以下 LLAMA_STATE_SEQ_VERSION 4

セッションおよびシーケンスの状態バージョンが更新されたため、以前のバージョンで保存したセッションファイルや状態データは、本バージョンでは読み込めなくなる可能性があります。また、開発者向けには、従来の llama_batch APIに代わり、より柔軟な llama_batch_ext への移行が推奨されています。

主な変更点

拡張バッチAPI「llama_batch_ext」の導入

推論の柔軟性を高める新しいAPI llama_batch_ext が実装されました。このAPIでは、トークンと埋め込みを同一のバッチに含めることができるほか、トークンごとに「状態」埋め込みを付与することが可能です。これにより、MTPやDeepstackといった特殊なモデル構造のサポートが容易になりました。ライブラリとして llama.cpp を組み込んでいる開発者は、新しいAPIへの書き換えが必要になりますが、より複雑な推論パイプラインを構築できるようになります。

Metalバックエンドの大幅な高速化

Apple Silicon環境(Mac)での推論性能が大きく向上しました。F16 KVキャッシュ向けのFlash Attentionカーネルが新たに追加されたほか、投機的デコードやバッチ処理に最適化された新しい行列計算(mat-mul)カーネルが導入されています。これにより、Apple GPU上での行列演算が最大で約3倍高速化されると報告されています。MacでローカルLLMを動かしているユーザーは、更新後に明らかな速度向上を体感できる可能性があります。

Web UIの刷新とHugging Face Hub連携

組み込みのWebサーバーで提供されるUIが大幅に強化されました。Hugging Face Hubのデータレイヤーが統合され、ブラウザ上から直接モデルを検索・ダウンロードできるパイプラインが実装されています。また、選択したモデルが現在のPCのメモリに収まるかどうかを推定する機能も追加されました。これまでコマンドラインでモデルを管理していたユーザーも、より直感的にモデルの試行錯誤が行えるようになります。

Qwen4ExpとMTP投機的デコードのサポート

Qwen4Expモデルにおいて、MTP(Multi-Token Prediction)を用いた投機的デコードが利用可能になりました。DGX Spark環境でのテストでは、デコード速度が約1.5倍向上したとされています。あわせて、インデクサのスコア計算に使用するメモリを半分に削減する最適化や、マスク生成の効率化も行われています。これらの機能を利用するには、対応するモデルの再ダウンロードや設定の確認が必要です。

意思決定モデル専用API「/v1/systemone」の追加

サーバー機能に、意思決定モデル(Decision Models)を扱うための新しいエンドポイント /v1/systemone が追加されました。Laya、Julia-1、Lev、OpenJev、Kevといったモデルがサポートされており、これらは従来の埋め込みモデルを特定の意思決定タスク向けに拡張したものです。OpenJevについては画像入力にも対応しており、マルチモーダルな意思決定タスクをAPI経由で実行できます。

コアライブラリ ggml v0.26.0 への更新

基盤となる数値計算ライブラリ ggml が v0.26.0 に更新されました。この更新により、CPUバックエンドでのBF16演算のサポートが追加されたほか、VulkanやMetalでのスパースFlash Attentionの実装、Windows ARM64環境でのビルド対応など、多くの低レイヤーでの改善が含まれています。また、GGUF形式のサイズ検証が厳格化されたため、破損したモデルファイルの検出がより確実になっています。

対応モデル・ハードウェア

新しくサポートされたモデル

今回のアップデートでは、多くの新しいモデルアーキテクチャがサポート対象となりました。これにより、ユーザーはこれらの最新モデルをGGUF形式に変換し、ローカル環境で推論を実行できるようになります。

  • GLM-5.3-Flash (GLM5-Next): 320Bのパラメータを持つ、KDA/DSAハイブリッドのテキストおよびビジョン(画像)に対応したマルチモーダルMoE(Mixture of Experts)モデルが新たにサポートされました。mHCやMoEといった特徴的な構造に対応しています。
  • Clef: テキストとビジョンの両方に完全対応した新しい意思決定モデル(Decision Model)がサポートされました。サーバー側でもClefの画像入力を処理するためのサポートが追加されています。
  • Ling 3.0 VL: BailingMoeV3アーキテクチャに統合される形で新たにサポートされました。
  • Nimble: 新しい意思決定モデルとして追加され、サーバーAPIである /v1/systemone でも利用可能になりました。
  • LFM2.5-Encoder-230M / LFM2.5-Encoder-350M: Lfm2BidirectionalForMaskedLM として新たに登録され、エンコーダーモデルとしての利用が可能になりました。
  • リランカー向け分類器プーリング(classifier_pooling): Causal LLMをベースとしたリランカーモデルにおいて、分類器プーリング(classifier_pooling)のサポートが追加されました。

ハードウェアおよびアクセラレータの対応強化

基盤となる ggml が v0.26.0 に更新されたことに伴い、各ハードウェアバックエンドにおいて非常に多くの最適化や新しい演算カーネルが追加されています。

  • CPUバックエンド: BF16(Bfloat16)演算が追加されたほか、タイリングされたk-quantの行列掛け算(mul_mat)がサポートされました。
  • CUDAバックエンド: モデル駆動型のW4A4(NVFP4/MXFP4)行列掛け算パスが追加され、NVFP4タイプ向けにMMQ(Min-Max Quantization)での累積演算が最適化されました。また、共有エキスパートをMMVQに融合する処理(shared-expert fusion)が実装されています。一方で、Volta世代のFlash Attentionで発生していた2件の不具合が修正されています。
  • Vulkanバックエンド: 量子化されたK/V(キー・バリュー)キャッシュに対するスパースFlash Attentionカーネルが追加されました。また、Flash Attentionの共有メモリ書き込みにおける境界外アクセスの不具合などが修正されています。
  • Metalバックエンド: F16のK/Vキャッシュ向けに、新しいテンソルAPIによるFlash Attentionカーネルが実装されました。さらに、投機的デコードやバッチデコードを高速化するfew-row MMA行列掛け算カーネルが追加され、Apple GPU上で最大約3倍の高速化が実現されています。
  • SYCLバックエンド: スパースFlash Attentionカーネルが追加されたほか、Q8_0 DMMV ESIMDや、MMVQのワイドロードがサポートされました。また、D=512のFlash Attentionベクターカーネル向けに大きなレジスタファイルが追加され、低速なoneDNNの参照用行列掛け算およびFlash Attentionを使用しないように改善されています。
  • WebGPUバックエンド: Q1_0、Q5_0、Q5_1、Q3_K、Q5_K、Q6_K、MXFP4に対するMMVQサポートが追加されました。また、fillおよびset_rowsにおけるF16サポートや、MUL_MAT、MUL_MAT_ID、GET_ROWSにおけるBFloat16サポートが追加されています。
  • Hexagonバックエンド: サンプラーが追加され、q2_kおよびq3_kの量子化タイプがサポートされました。また、安全なスキャッターモードに対応したALLREDUCEの最適化や、DMAを用いたコピー・結合処理の改善が行われています。
  • Windows ARM64 MSVCビルド: WindowsのARM64環境において、MSVC(Microsoft Visual C++)を用いたビルドが正式に有効化されました。

アップデート方法

今回のバージョン v0.6.0 を導入するための具体的なインストールコマンドは、提供された資料内には明記されていません。

そのため、最新のソースコードからのビルド手順や、お使いの環境に合わせたプリコンパイル済みバイナリのダウンロード方法については、公式のGitHubリリースページおよびREADMEの指示を参照してください。

一般的には、リポジトリをクローンした上で、環境に応じたビルドコマンドを実行するか、リリースセクションから必要なアセットを取得することでアップデートが可能です。

関連記事

次に読むなら

出典