llama.cppでGGUFを動かす方法|導入から実行まで
CHATGPT / AIChatGPTなどの生成AIを活用して運営・記事制作・更新を行っています。制作方針
llama.cppでGGUFモデルを動かす手順を、導入、モデル選択、固定リビジョンでのダウンロード、対話実行、API起動、ログ確認まで順番に解説します。2026年8月2日時点の公式情報に基づく机上調査です。

先に結論
- 最短で試すなら、llama.cppをRelease構成で用意し、
llama-cli -hf リポジトリ:量子化を実行します。モデルを手元で管理したい場合は、GGUFを固定リビジョンで保存して-mへ渡します。 - 最初は小型のInstruct/Chatモデル、4K程度のコンテキスト、
-ngl auto -fit on -fa autoから始めると、モデル・メモリ・GPU設定を同時に増やさずに済みます。 - 「起動した」だけで終わらせず、バイナリの版、認識device、GGUFのハッシュ、ロードログ、チャットテンプレートを記録すると、更新後の不具合を切り分けやすくなります。
おすすめ読者: GGUFを入手したものの実行方法が分からない人、llama.cppを初めてCLIから動かす人。
確認日時: 2026年8月2日 14:20(Asia/Tokyo)
固定した版: llama.cpp master HEAD11924d4c17abc27383376a1ac6a24fa3e36c1c0c、例示モデル ggml-org/Qwen3.5-0.8B-GGUF revision8fea6208
検証区分: 公式README、build/models/CLI資料、Hugging Face公式リポジトリを照合した机上調査です。掲載コマンドはBash/Zshとして構文を確認しましたが、ビルド、約563MBのモデル取得、推論、速度・品質測定は実施していません。
画像: アイキャッチはGGUFをローカル実行する流れを表した当サイトの要点図解で、実際の端末画面ではありません。
まず選ぶ:自動取得かローカルGGUFか
llama.cppでGGUFを動かす方法は、大きく2つあります。どちらも同じ推論機能を使いますが、再現性と手軽さが異なります。
| 方法 | 向く場面 | 利点 | 確認点 |
|---|---|---|---|
-hf owner/repo:quant | まず1回動かしたい | 選択したGGUFを取得してそのまま起動できる | 初回は通信が発生し、cacheへ保存される |
-m /path/model.gguf | 版を固定して継続利用したい | ファイル名・保存場所・ハッシュを管理できる | 自分で正しいGGUFを選び、容量を確保する |
本記事では両方を扱います。業務や比較検証では、モデルの更新で結果が変わらないよう、後者でリビジョンとSHA-256を固定する方法が安全です。
GGUFを選ぶ前に見る4項目
GGUFは単なる「軽量化済みモデル」という意味ではありません。公式のGGUF仕様では、tensorに加えてモデル構造やtokenizerなどのmetadataも格納できます。選択時は次の順で確認します。
- 用途: Baseではなく、会話に使うならInstruct/Chat版を選ぶ。
- 対応状況: モデルカードにllama.cppまたはGGUFでの利用方法があるかを確認する。
- 量子化とファイル容量: 搭載メモリいっぱいを使わず、KV cacheと実行buffer、OS用の余裕を残す。
- ライセンスと利用条件: GGUFの配布者だけでなく、元モデルのlicense、用途制限、gated repositoryの条件も読む。
必要容量を先に見積もる場合はローカルLLMに必要なVRAMの計算方法、Macの搭載メモリから候補を絞る場合はMacのメモリ別・動かせるローカルLLM一覧を参照してください。
手順1:llama.cppをRelease構成で用意する
公式READMEには、公式アプリ、Docker、release配布物、source buildの選択肢があります。ここでは版を記録しやすく、macOS/Linuxで流れを共通化できるsource buildを使います。Git、CMake、C/C++ compilerを事前に用意してください。
git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
git checkout --detach 11924d4c17abc27383376a1ac6a24fa3e36c1c0c
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release -j
Apple Siliconでは公式build資料上、Metalが既定で有効です。NVIDIA GPUを使うLinux/Windows環境は、対応するCUDA toolkitを確認したうえで構成時に-DGGML_CUDA=ONを付けます。CPUだけで確認する段階なら追加backend指定は不要です。backend別の選択はllama.cpp GPUバックエンド比較で整理しています。
Windowsのmulti-config generatorでは実行ファイルがbuild/bin/Release/配下になる場合があります。以降の./build/bin/llama-cliは、手元の生成先へ読み替えてください。公式release archiveを使う場合も、展開したllama-cliへのpathだけが変わります。
手順2:版とdeviceを先に確認する
モデルを読み込む前なら確認は短時間で終わります。
./build/bin/llama-cli --version
./build/bin/llama-cli --list-devices
./build/bin/llama-cli --help
記録するのはcommit/build番号と、--list-devicesに表示されたbackend・device名です。GPUを使うつもりなのに一覧へ現れなければ、実行optionではなくbuild設定へ戻ります。llama.cppは更新頻度が高いため、記事と異なるSHAが出ること自体は異常ではありません。ただし、エラーを相談するときは「最新版」と書かず、表示された版を添えます。
手順3A:Hugging Faceから直接取得して動かす
2026年8月2日の公式READMEに掲載されている小型repositoryを、量子化まで明示して起動する例です。
./build/bin/llama-cli \
-hf ggml-org/Qwen3.5-0.8B-GGUF:Q4_0 \
-c 4096 \
-n 256 \
-ngl auto \
-fit on \
-fa auto \
-cnv
-hfはGGUF repositoryと量子化を選び、初回にdownloadします。量子化を省略するとQ4_K_M、存在しなければ別fileへfallbackする規則なので、再現性が必要なら:Q4_0のように明示します。-c 4096は開始点です。モデルが持つ最大contextを使い切る指定ではありません。-ngl autoはGPU layer数、-fit onは未指定の値をdevice memoryへ収める調整、-fa autoはFlash Attentionの可否を自動判定します。-cnvはconversation modeです。GGUFに対応chat templateがない場合、期待する会話形式にならないためモデルカードと起動警告を確認します。
tokenを必要とするgated repositoryでは、tokenをコマンド履歴へ直書きせずHF_TOKEN環境変数またはHugging Face CLIの認証機能を使います。
手順3B:GGUFを固定リビジョンで保存して動かす
Hugging Face公式CLIを利用する例です。--revisionを付けると、後日repositoryのmainが変わっても同じsnapshotを取得できます。
mkdir -p models/qwen35-08b
hf download \
ggml-org/Qwen3.5-0.8B-GGUF \
Qwen3.5-0.8B-Q4_0.gguf \
--revision 8fea620810c4afa23dd6443f999a48574c1611a3 \
--local-dir models/qwen35-08b
2026年7月17日確認時の対象fileは563,036,064 byte、LFS SHA-256は次の値です。download後にどちらかのcommandで照合します。
# macOS
shasum -a 256 models/qwen35-08b/Qwen3.5-0.8B-Q4_0.gguf
# Linux
sha256sum models/qwen35-08b/Qwen3.5-0.8B-Q4_0.gguf
57d1997790d1744fba5b40a7317df71ea5e2acee28c47e78f0cce39c0703f8cf
一致したら、絶対pathを変数へ入れて実行します。
MODEL_GGUF="$PWD/models/qwen35-08b/Qwen3.5-0.8B-Q4_0.gguf"
./build/bin/llama-cli \
-m "$MODEL_GGUF" \
-c 4096 \
-n 256 \
-ngl auto \
-fit on \
-fa auto \
-cnv
別のdirectoryから実行するなら、$PWDがllama.cpp repositoryを指しているか確認します。相対pathの間違いを避けるには、最初から/absolute/path/to/model.ggufを指定する方が確実です。
起動ログで成功を判断する
画面に入力欄が出ても、意図した構成で動いたとは限りません。次を確認します。
| ログで見るもの | 判断 |
|---|---|
| model architecture・parameter・quantization | 選んだGGUFと一致しているか |
| context sizeとKV cache | 想定外に大きなcontextを確保していないか |
| backend・device・offloaded layers | GPU対応buildが実際に使われたか |
| chat template | Instructモデルの会話形式が認識されたか |
| prompt eval/eval timings | 入力処理と生成を分けて記録できるか |
出力が遅い場合は、すぐにoptionを大量追加せず、llama.cppが遅い原因と高速化設定の順番でbaselineを取ります。ロード時に止まる、metadata error、split file不足などの場合はGGUFモデルが読み込めないときの対処法へ進んでください。
APIで使う場合はlocalhostから始める
CLIで1回正常生成できた後に、同じGGUFをllama-serverへ渡します。
MODEL_GGUF="$PWD/models/qwen35-08b/Qwen3.5-0.8B-Q4_0.gguf"
./build/bin/llama-server \
-m "$MODEL_GGUF" \
--host 127.0.0.1 \
--port 8080 \
-c 4096 \
-ngl auto \
-fit on \
-fa auto
別terminalからOpenAI互換endpointを確認します。
curl --silent --show-error \
http://127.0.0.1:8080/v1/chat/completions \
-H 'Content-Type: application/json' \
--data-binary '{
"model": "local",
"messages": [{"role": "user", "content": "日本語で短く自己紹介してください。"}],
"max_tokens": 128,
"stream": false
}'
127.0.0.1は同じPCからだけ接続する開始設定です。Internetへ公開する場合は認証、TLS、rate limit、logの機密情報対策が別途必要です。llama-server本番運用ガイドを先に確認してください。複数requestの処理はllama-serverの連続バッチング設定で扱います。
初回に多い失敗と戻る場所
| 症状 | 最初の確認 | 次の対応 |
|---|---|---|
No such file | -mのpath、空白をquoteしたか | 絶対pathとls -lhで存在確認 |
unknown argument | --versionと手元の--help | 古い記事のoptionをそのまま使わない |
| GPUが使われない | --list-devices | Metal/CUDA等を有効にしてRelease buildし直す |
| load中にmemory error | file size、context、空きRAM/VRAM | -cを下げるか小さい量子化・modelへ変更 |
| 文字列が会話らしくない | Instruct版か、chat template警告 | 対応モデルカードとtemplateを確認 |
| downloadできない | repository名、revision、gated条件 | 認証・空き容量・通信を確認 |
設定名を詳しく調べるときはllama.cpp主要パラメータ一覧、用途別の完成形はllama.cppコマンド例10選が早見表になります。
FAQ
.binや.safetensorsをそのまま読める?
本記事の-mで指定するのはGGUFです。公式models資料では、他形式からの変換にrepository内のconvert_*.pyを使う経路が案内されています。配布済みGGUFがあるなら、初回は自分で変換せず対応fileを選ぶ方が切り分けやすくなります。
Q4_K_Mを常に選べばよい?
常にではありません。repositoryに存在する量子化、backendの対応、搭載メモリ、品質要件で決まります。-hfの既定選択に任せず、モデルカードとfile一覧を見て量子化名を明示してください。
Ollamaの方が簡単では?
モデル管理と標準的なAPIを短時間で整えたいなら有力です。一方、GGUF file、build、backend、KV cache、batchなどを直接比較したい場合はllama.cppが適します。判断基準はOllamaとllama.cppはどちらがおすすめ?で比較しています。
まとめ
llama.cppでGGUFを動かす最短ルートは、Release build、版とdeviceの確認、小型Instructモデル、4K context、自動offloadから始めることです。継続利用ではモデルrevisionとhashを固定し、起動logを残します。動かなければ「file」「版」「memory」「backend」「chat template」の順に切り分けると、設定を闇雲に増やさず原因へ近づけます。
参考資料
- llama.cpp公式README(commit 11924d4、2026年8月2日確認)
- llama.cpp公式Build guide(commit 11924d4、2026年8月2日確認)
- llama.cpp公式Models guide(commit 11924d4、2026年8月2日確認)
- llama-cli公式引数表(commit 11924d4、2026年8月2日確認)
- GGML公式GGUF仕様(commit 78de606、2026年7月31日更新、2026年8月2日確認)
- Hugging Face公式CLI guide(2026年8月2日確認)
- 例示モデルの固定revision(最終更新2026年7月17日、2026年8月2日確認)


