GGUFはLM Studio・Ollama・llama.cppでどこまで互換?

目次
GGUFはllama.cpp、LM Studio、Ollamaのいずれでも利用経路があるが、「3つともGGUF対応だから同じファイルを無条件に使い回せる」と考えるのは正確ではない。
違いは、GGUFという形式を受け付ける方法と、その中に入っている個別モデルを実際に扱えるかが別の確認だからだ。
| 実行環境 | GGUFの扱い | 次に確認すること |
|---|---|---|
| llama.cpp | native | モデルのアーキテクチャとビルド・実行条件 |
| LM Studio | runtime | LM Studio側のモデル・ランタイム対応 |
| Ollama | import | Modelfile経由の取り込みとモデル対応 |
図: 主な比較軸を1枚に整理。細かな条件は本文と表で確認する。
GGUFは共通形式でも、モデル互換性までは保証しない
GGUFはモデルの重みやメタデータを格納するファイル形式だ。同じGGUF形式でも、中に入っているモデルのアーキテクチャ、量子化、必要な補助ファイルは異なる。
そのため、ソフトがGGUFに対応していることだけから次の項目は判断できない。
- そのモデルアーキテクチャを現在のバージョンが扱えるか
- マルチモーダル用の補助ファイルまで対応するか
- 同じチャットテンプレートや設定が使えるか
- 同じ速度やメモリ使用量になるか
GGUFは互換性確認の最初の条件であり、最後の条件ではない。
llama.cppはGGUFをnativeで扱う
llama.cppはGGUFを直接読み込む実行環境で、Production KnowledgeでもGGUFはnative supportとして記録されている。
ただし、llama.cppがGGUF形式を読めることと、すべてのGGUFモデルアーキテクチャを任意のバージョンで扱えることは別だ。新しいモデル構造では、対応が追加されたバージョンやビルドが必要になることもある。
CUDA、Metal、Vulkanなどの実行バックエンドも別の条件になる。GGUFの読み込み可否とGPU利用可否は分けて確認したい。
LM Studioは対応ランタイム経由で扱う
LM StudioではGGUFを対応ランタイム経由で利用する。実行エンジンとしてllama.cpp系が使われる経路もあるが、LM Studioとraw llama.cppを完全に同じものとして扱うことはできない。
LM Studio側にはアプリのバージョン、利用できるランタイム、モデル検出や設定の仕組みがある。そのため、llama.cppで読めるGGUFだからLM Studioでも必ず同じように使える、という保証にはならない。
LM Studioで利用する場合は、対象モデルがアプリ側で扱えるか、選択されるランタイムがそのモデル構造に対応しているかを見る必要がある。
OllamaはModelfile経由でimportする
Ollamaの公式ドキュメントには、GGUFモデルやアダプターをModelfileのパスから取り込む方法が案内されている。
ここではGGUFが「nativeな単体ファイルをそのまま開く」というより、Ollamaのモデルとしてimportする経路になる。
重要なのは、OllamaのGGUF対応がconditionalであることだ。GGUFという形式だから、Ollamaがすべてのモデルアーキテクチャを扱えるとは言えない。取り込み方法に加えて、そのモデル自体が対応範囲に入っているかを確認する必要がある。
同じGGUFでも3者で同じ結果になるとは限らない
同一のGGUFを読み込めたとしても、3つの実行環境で出力、速度、メモリ使用量が完全に一致するとは限らない。
ランタイムのバージョン、GPUバックエンド、コンテキスト設定、チャットテンプレート、サンプリング設定などが異なる可能性があるためだ。
互換性の記事から性能順位を作ることもできない。速度を比べる場合は、同じGGUF、同じハードウェア、同じコンテキストと生成設定で測る必要がある。
手元のGGUFを使えるか確認する順番
実際には次の順で見ればよい。
- そのGGUFの元モデルとアーキテクチャを確認する
- 使いたいソフトがGGUFをどの方法で扱うか確認する
- 対象モデルのアーキテクチャが現在のランタイムで対応しているか確認する
- 必要ならmmprojなど補助ファイルの対応も確認する
- OS・GPUバックエンドなど実行条件を確認する
配布元や量子化、ライセンスをまだ確認していない場合は、GGUFモデルをダウンロードする前に確認したい5項目から見る方がよい。そもそもどの実行環境を使うか決めていない場合は、LM Studio・Ollama・llama.cppの比較が先になる。
GGUF対応という表示だけで利用可否を決めず、形式 → 利用経路 → 個別モデル対応 → 実行条件の順で確認すれば、互換性の問題を切り分けやすくなる。
まとめ
- GGUF対応はファイル形式を扱えるという入口で、個別モデルの動作保証ではない
- llama.cppはGGUFをnativeで扱う
- LM Studioは対応ランタイム経由でGGUFを扱う
- OllamaはModelfileを使うimport経路で、形式名だけから全アーキテクチャ対応を判断できない
公式サイトで次に進む
この記事で明示的に扱うソフトだけを表示します。配布・手順は各公式ページで確認してください。
LM Studio
Ollama
llama.cpp
local-gen.jpがファイルを配布するものではなく、互換性を保証するものでもありません。
この記事で扱ったデータ
モデル・GPU・実行ソフトの確認済みデータを、記事とは別に確かめられます。