推論基盤ライブラリ「ggml v0.26.0」公開、各バックエンドの最適化と対応拡大

推論基盤ライブラリ「ggml v0.26.0」公開、各バックエンドの最適化と対応拡大

基本情報

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

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

概要

ggml-org/ggmlは、llama.cppなどの推論エンジンの基盤となるC++製のテンソルライブラリ(MITライセンス)です。機械学習モデルの演算グラフ構築・実行やバックエンド抽象化を担っており、llama.cppやそれを使う多くのツールの土台になっています。今回リリースされた v0.26.0 は、v0.25.3以降の変更をまとめたものです。

このリリースで最も広範囲に影響するのは、スパースなFlash Attentionカーネルが SYCL・Vulkan・Metal の各バックエンドに追加・最適化された点です。量子化されたKVキャッシュに対するスパースFAが新たに実装され、長いコンテキストを扱う際のメモリ使用量や速度に関わるため、Intel GPU(SYCL)、AMD/Intel系のVulkan環境、Apple Silicon(Metal)のいずれかでllama.cpp系ツールを動かしているユーザーは更新の効果を受けやすいと考えられます。

主な変更点

Lightning indexer のメモリ半減とタイリング最適化

CUDA/Metal/Vulkanにおいて、lightning indexerのスコア用メモリを半減させ、キーとトークンに対してタイリングを行う最適化が加えられました。あわせてMUSA(Moore Threads)バックエンドでもベクトル版のlightning indexerカーネルが使われるようになっています。indexerを利用するモデルを動かしている場合、メモリ使用量や速度の改善が見込まれます。

CPUバックエンドのBF16対応とk-quant向けタイルmul_mat

CPU側にBF16のunary/GLU/binary/scale演算が追加され、mul_matのsrc1としてもBF16を受け付けるようになりました。また、int8アンパックタイルと16×16マイクロカーネルを用いたk-quant向けのタイルmul_matが導入されています。GPUを持たずCPUのみでBF16モデルやk-quant(Q3_K/Q4_K/Q5_K/Q6_Kなど)量子化モデルを動かしているユーザーに関係する変更です。

CUDAのNVFP4/MXFP4向けW4A4パスとMMVQのshared-expert融合

llama_prec_policyによってモデル側から制御できるW4A4(NVFP4/MXFP4)向けのmul_matパスが追加され、NVFP4のMMQ側の演算やcuBLASパスでの計算タイプの扱いも最適化されています。さらに、MoEモデルのshared expertをMMVQに融合する最適化も入りました。NVFP4/MXFP4形式のモデルやMoEモデルをNVIDIA GPUで動かしている場合に関係します。

Hexagonバックエンドの量子化対応とサンプラー追加

Hexagon(Snapdragon NPU)バックエンドにサンプラー機能が追加され、対応する量子化タイプにq2_k・q3_k・q5_kが加わりました。動的量子化器の改善も行われています。Snapdragon搭載端末上でHexagonバックエンドを使ってモデルを動かしているユーザーに関係します。

モデルロードの高速化とGGUF検証の強化

モデルロードの高速化に加え、KV次元が極端に大きい不正なGGUFを読み込んだ際にハングするバグが修正されました。また、整数オーバーフローやパディング後にラップしてしまうテンサーサイズを検出して拒否するよう、GGUFのサイズ検証が厳格化されています。配布元が不明なGGUFファイルを扱う際の安定性・安全性に関わる変更です。

Windows ARM64(MSVC)ビルドの有効化

Windows ARM64環境でMSVCのcl.exeを使ったビルドが有効になりました。Snapdragon搭載のWindows PCなどでネイティブビルドを行いたいユーザーに関係します。

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

このバージョンでは、多岐にわたるバックエンドで新しいアーキテクチャや量子化形式への対応が進みました。特定のハードウェア環境で動作させているユーザーにとって、パフォーマンスの向上や実行可能なモデルの拡大に直結する変更が含まれています。

GPU・アクセラレータの対応拡大

Vulkanバックエンドでは、AMDのRDNA3およびRDNA4アーキテクチャ向けに int8 coopmat1 を用いた行列演算(matmul)が実装されました。これにより、最新のRadeonシリーズやRyzen内蔵GPUでの推論効率の向上が期待できます。また、Intel GPU向けのGDNカーネルのチューニングや、32KBの共有メモリを持つSamsung製GPU向けのタイルサイズ調整、Adreno GPU向けのargsortカーネル選択の最適化など、デバイスごとの細かな調整が行われています。

Apple Silicon(Metal)環境では、F16形式のKVキャッシュに対するFlash Attentionカーネルが追加されました。さらに、MXFP4形式の行列演算においてBF16精度での計算がサポートされるようになり、精度の維持と速度の両立が図られています。また、スパースなFlash Attentionの最適化も進められています。

Intel GPU向けのSYCLバックエンドでは、スパースなFlash Attentionのサポートに加え、Q8_0形式のDMMV ESIMDおよびMMVQのワイドロードに対応しました。これにより、Intel Arcやデータセンター向けGPUでの量子化モデルの実行速度が改善されます。また、ピン留めされたホストバッファを利用することで、テンソルのAllReduce同期のオーバーヘッドが削減されています。

WebGPUおよびモバイル・エッジ環境の強化

ブラウザ上で動作するWebGPUバックエンドでは、対応する量子化形式が大幅に増えました。Q1_0、Q5_0、Q5_1、Q3_K、Q5_K、Q6_K、そしてMXFP4のMMVQ(Matrix-Matrix Vector Quantization)がサポートされています。また、bfloat16形式の行列演算や行取得(GET_ROWS)も可能になり、Webブラウザ環境でのローカル推論の選択肢が大きく広がりました。

QualcommのSnapdragonに搭載されているHexagon NPU向けには、q2_k、q3_k、q5_kといった量子化タイプが新しく追加されました。サンプラー機能のサポートや動的量子化器の改善と合わせ、モバイル端末での省電力かつ高速な推論がより多くのモデルで利用可能になります。また、OpenCLバックエンドでもAdreno向けにQ5_K gemm_nonshuffleカーネルの修正が行われています。

エンタープライズ・特殊アーキテクチャ

OpenVINOバックエンドはバージョン 2026.4.1 へとアップデートされました。これにより、パフォーマンスの最適化、サポートされる演算(op)の拡大、デバイス一覧表示の改善が行われています。また、重みのビューからGET_ROWSを処理する最適化も含まれています。

IBMのz Systems(zDNN)バックエンドでは、バッファリセットの実装やメモリリークの修正、0行のテンソルによるクラッシュの修正が行われ、メインフレーム環境での安定性が向上しました。さらに、SpacemiT X60(RISC-V)向けにQ8_0 IME1行列カーネルが追加されるなど、エッジからエンタープライズまで幅広いアーキテクチャへの対応が強化されています。RPCバックエンドでは、RDMA完了チャネルを使用してスピンを回避する改善が入っています。

アップデート方法

ggmlをソースからビルドして利用している場合は、材料のクイックスタートガイドに従い、以下の手順で最新版をコンパイルできます。

git clone https://github.com/ggml-org/ggml
cd ggml

mkdir build && cd build
cmake..
cmake --build. --config Release -j 8

既存の環境を更新する場合は、リポジトリ内で git pull を実行した後に、上記の手順で再ビルドを行ってください。特定のバックエンド(CUDA、Vulkan、Metal等)を有効にする場合は、cmake.. の際に適切なフラグを付与する必要があります。各バックエンドの具体的なビルドフラグについては、プロジェクトのドキュメントを確認してください。

前回の記事からの更新履歴

当サイトがGitHubのリリース一覧から機械的にまとめた、この版と前回取り上げた版の間に出た版です(単独記事にはしていません)。 全ての版はエンジン別ページにあります。

版 公開日 リリースノート
v0.25.3 2026-09-25 GitHub

関連記事

次に読むなら

出典