Home / ネットワーク・IT / パソコン スマホ 周辺機器 / 【2026年最新版】OllamaでローカルLLMの推論速度が遅い・レスポンスが遅い原因と対処法【完全ガイド】

【2026年最新版】OllamaでローカルLLMの推論速度が遅い・レスポンスが遅い原因と対処法【完全ガイド】

※本ページにはプロモーション(広告)が含まれています

【2026年最新版】OllamaでローカルLLMの推論速度が遅い・レスポンスが遅い原因と対処法【完全ガイド】

Ollamaでローカル LLM(Llama 3、Mistral、Gemmaなど)を動かしているのに、レスポンスが極端に遅い。1トークンごとに数秒かかる…。本記事では、OllamaでのLLM推論速度が遅い原因を徹底解説し、GPUアクセラレーションの有効化から最適な量子化レベルの選択まで、速度を劇的に改善する方法をまとめました。

この記事でわかること

  • Ollama推論が遅い主な原因(GPU未使用・量子化・コンテキスト長など)
  • GPU加速の有効化(CUDA・ROCm・Metal)の確認と設定方法
  • 量子化レベルの選択方法(Q4_K_M推奨の理由)
  • コンテキスト長(num_ctx)削減によるVRAM節約と速度向上
  • RAM実行とVRAM実行の速度差と対処法
  • OLLAMA_NUM_GPU環境変数の設定方法
  • モデルサイズと速度のトレードオフ比較表
Ollama 推論速度改善手順

Ollama推論速度が遅い主な原因

Ollamaの推論速度が遅い場合、最も多い原因はGPUが使われていないことです。CPUだけで処理するとGPUの100倍以上遅くなることも珍しくありません。

原因 症状 速度への影響
GPU加速が無効 CPU使用率100%・GPU使用率0% 10〜100倍遅い
モデルがRAMで実行 VRAMに収まらずRAMに溢れた 5〜20倍遅い
量子化レベルが高すぎる Q8やfp16モデルを使っている 2〜4倍遅い
コンテキスト長が長すぎる num_ctxが大きくメモリを圧迫 2〜5倍遅い
モデルが大きすぎる 70Bモデルを低スペックPCで実行 実質使用不可レベル
並列処理の競合 他のAIアプリが同時起動中 2〜3倍遅い

対処法1:GPU加速が有効になっているか確認する

まず最初にGPUが使われているか確認します。これが最も重要なステップです。

Ollamaがどのデバイスで実行されているか確認する

# Ollamaのログを確認(ターミナルでOllamaを起動した場合)
ollama run llama3

# または別のターミナルで実行中のOllamaプロセスを確認
ps aux | grep ollama

NVIDIAのGPU使用率を確認する(Windows/Linux)

# リアルタイムでGPU使用率を確認
nvidia-smi dmon -s u

# 結果で「sm」の値が0%のままなら、GPUが使われていない

MacのGPU(Metal)使用率を確認する

  1. アクティビティモニタを開く(Finder → アプリケーション → ユーティリティ)
  2. 「GPU履歴」タブで使用率を確認する
  3. ollama実行中にGPU使用率が上昇すればMetalが有効

NVIDIA GPU(CUDA)のセットアップ確認

Windowsの場合

  1. NVIDIAドライバーが最新かどうかを確認する(デバイスマネージャー → ディスプレイアダプター → プロパティ)
  2. ドライバーバージョンが古い場合は、nvidia.com/downloadからダウンロード
  3. OllamaをアンインストールしてGPUドライバー更新後に再インストールする

Linuxの場合

# NVIDIAドライバーとCUDAの確認
nvidia-smi
nvcc --version

# CUDAが入っていない場合
sudo apt install nvidia-cuda-toolkit

# Ollamaを再インストール
curl -fsSL https://ollama.com/install.sh | sh

AMD GPU(ROCm)のセットアップ確認(Linux)

# ROCmのインストール確認
rocm-smi

# ROCmが未インストールの場合
# AMD公式サイト(rocm.docs.amd.com)のインストール手順に従う
Macユーザー向け: M1/M2/M3/M4チップのMacではApple Metal(MPS)が自動的に使用されます。特別な設定は不要ですが、Ollamaを公式サイトから最新版をインストールしていることを確認してください。

対処法2:OLLAMA_NUM_GPU環境変数を設定する

OllamaがGPUを正しく認識していても、モデルの一部がCPUで処理されている場合があります。OLLAMA_NUM_GPUで明示的にGPUを指定することで速度が改善します。

Windowsでの設定方法

  1. 「スタート」→「環境変数の編集」を検索して開く
  2. 「システム環境変数」の「新規」をクリック
  3. 変数名: OLLAMA_NUM_GPU、変数値: 1(GPUが1枚の場合)
  4. OKを押してPCを再起動する

Mac/Linuxでの設定方法

# 一時的に設定(ターミナルで実行)
export OLLAMA_NUM_GPU=1
ollama run llama3

# 永続的に設定(~/.bashrc または ~/.zshrc に追加)
echo 'export OLLAMA_NUM_GPU=1' >> ~/.zshrc
source ~/.zshrc

複数GPUがある場合

# GPU 2枚で実行
export OLLAMA_NUM_GPU=2

# 特定のGPUを指定(0番目のGPUを使用)
export CUDA_VISIBLE_DEVICES=0
Ollama 推論速度改善手順

対処法3:量子化レベルを最適化する(Q4_K_M推奨)

量子化はモデルの精度を少し下げる代わりに、使用するメモリを大幅に削減する技術です。適切な量子化レベルを選ぶことで速度と品質のバランスが取れます。

量子化レベルの比較

量子化 Llama 3 8B サイズ 推論速度 品質低下
fp16 約16GB 基準 なし(フル精度)
Q8_0 約8.5GB fp16より1.5倍速 ほぼなし
Q4_K_M(推奨) 約4.8GB fp16より3倍速 わずか(実用レベル)
Q4_0 約4.4GB fp16より3倍速 少し低下
Q3_K_M 約3.7GB fp16より4倍速 目立つ低下
Q2_K 約2.9GB fp16より5倍速 大きく低下

Q4_K_Mモデルをダウンロードする方法

# デフォルトで最適な量子化(通常Q4_K_M相当)が選ばれる
ollama pull llama3

# 明示的にQ4_K_Mを指定する場合
ollama pull llama3:8b-instruct-q4_K_M

# Mistralの場合
ollama pull mistral:7b-instruct-q4_K_M

# 利用可能なタグ一覧を確認
ollama list

対処法4:コンテキスト長(num_ctx)を削減する

コンテキスト長(num_ctx)はLLMが一度に処理できるトークン数です。デフォルト値が大きい場合、VRAMを大量に消費し速度が遅くなります。

num_ctxとVRAM使用量の関係(Llama 3 8B Q4_K_Mの場合)

num_ctx(コンテキスト長) 追加VRAMコスト 用途
2048(最小) 約0.5GB 短い会話・チャット
4096(デフォルト) 約1GB 一般的な用途
8192 約2GB 長い文書処理
32768 約8GB 大量ドキュメント処理
128000(最大) 約30GB以上 超長文処理(高スペック必須)

num_ctxをModelfileで設定する

# Modelfileを作成
cat > Modelfile << 'EOF'
FROM llama3
PARAMETER num_ctx 2048
PARAMETER num_gpu 1
EOF

# カスタムモデルとして登録
ollama create llama3-fast -f Modelfile

# 実行
ollama run llama3-fast

APIリクエスト時にnum_ctxを指定する(Python例)

import requests
import json

response = requests.post('http://localhost:11434/api/generate', json={
    "model": "llama3",
    "prompt": "こんにちは。自己紹介してください。",
    "options": {
        "num_ctx": 2048,
        "num_gpu": 1
    }
})
Ollama 推論速度改善手順

対処法5:RAM実行とVRAM実行の速度差を理解する

モデルがVRAMに完全に収まらない場合、一部がシステムRAM(CPU RAM)で処理されます。これは速度に致命的な影響を与えます。

VRAM vs RAMの速度比較

実行場所 速度(tokens/秒の目安) 帯域幅
NVIDIA RTX 4080 VRAM 50〜100 tokens/秒 716 GB/s
Apple M3 Max(統合メモリ) 30〜80 tokens/秒 400 GB/s
DDR5 システムRAM(CPU) 5〜15 tokens/秒 100 GB/s
DDR4 システムRAM(CPU) 2〜8 tokens/秒 50 GB/s

モデルの一部でもRAMで処理されると速度が急激に落ちます。解決策としては以下のいずれかです:

  • より小さいモデルに切り替える(7B → 3B など)
  • より軽い量子化に切り替える(Q8 → Q4 など)
  • コンテキスト長を削減する
  • Macの場合は統合メモリが大きいモデル(M3 Max 128GB等)にアップグレード

対処法6:モデルサイズと速度のトレードオフを理解する

使用するモデルのパラメータ数(7B、13B、70Bなど)は速度に直接影響します。用途に合ったモデルサイズを選ぶことが重要です。

モデルサイズ別の推奨環境と速度(Q4_K_M量子化)

モデルサイズ ファイルサイズ 最低VRAM 速度目安 品質
1B〜3B 1〜2GB 2〜3GB 80〜150 t/s △(単純タスク向け)
7B 約4〜5GB 4〜6GB 40〜80 t/s ◎(実用レベル)
13B 約8GB 8〜10GB 20〜40 t/s ◎(高品質)
34B 約21GB 24GB 8〜20 t/s ◎(非常に高品質)
70B 約43GB 48GB以上 3〜10 t/s ◎(最高品質)

用途別おすすめモデル

用途 推奨モデル Ollamaコマンド
日常会話・コード補完 Llama 3.2 3B ollama pull llama3.2:3b
一般タスク全般 Llama 3.1 8B ollama pull llama3.1:8b
日本語重視 Gemma 2 9B ollama pull gemma2:9b
コーディング専用 Qwen2.5-Coder 7B ollama pull qwen2.5-coder:7b
高品質回答 Mistral 7B ollama pull mistral

対処法7:Ollamaのその他の最適化設定

並列処理の数を制限する

# 同時処理数を1に制限(デフォルトは複数のリクエストを並列処理)
export OLLAMA_NUM_PARALLEL=1

# リクエストキューのサイズ
export OLLAMA_MAX_QUEUE=1

モデルのアンロード時間を調整する

# モデルを常時メモリに保持(次のリクエストを高速化)
export OLLAMA_KEEP_ALIVE=-1  # 永続的に保持

# または5分間保持
export OLLAMA_KEEP_ALIVE=5m

フラッシュアテンション(Flash Attention)を有効化する

Ollama 0.3以降では、フラッシュアテンションのサポートが改善されました。これにより長いコンテキストでの処理が高速になります。最新版のOllamaを使っていることを確認してください。

# Ollamaのバージョン確認
ollama --version

# 最新版に更新
curl -fsSL https://ollama.com/install.sh | sh
🛒

この記事に関連するおすすめ商品

GPU(RTX 4070 Ti SUPER 16GB)

約75,000円〜

16GB VRAMで13Bクラスのモデルも高速動作


🛒 Amazonで探す

DDR5 RAM 32GB×2枚(64GB)

約22,000円〜

VRAMに収まらない大型モデルをRAMで高速実行


🛒 Amazonで探す

NVMe SSD 2TB(高速読み込み)

約15,000円〜

大型LLMモデルのロード時間を短縮


🛒 Amazonで探す

※ 価格は変動します。最新価格はリンク先でご確認ください

よくある質問(FAQ)

Q1. nvidia-smiでGPUが表示されているのにOllamaがCPUで動いています

A. NVIDIAドライバーは認識されていてもCUDAライブラリが不足している可能性があります。OllamaをアンインストールしてCUDAドライバーを最新版に更新してから再インストールしてください。Linuxでは nvidia-cuda-toolkit のインストールも必要な場合があります。

Q2. MacBook Air(M1/M2)でOllamaを動かしていますが遅いです

A. MacBook Airは8GB統合メモリが多く、OSやその他のアプリが消費するため、実際にLLMに使えるメモリが少なくなります。7Bモデルより小さい3Bモデルを試すか、16GBモデルへのアップグレードを検討してください。

Q3. Ollamaのモデルはどこに保存されていますか?

A. Windowsでは C:\Users\[ユーザー名]\.ollama\models\、Mac/Linuxでは ~/.ollama/models/ に保存されています。使わないモデルは ollama rm モデル名 で削除してディスクスペースを節約できます。

Q4. 複数のモデルを切り替えると毎回ロードが遅いです

A. Ollamaはデフォルトで5分後にモデルをメモリから解放します。OLLAMA_KEEP_ALIVE=-1 を設定すると常時メモリに保持しますが、VRAMを占有し続けます。頻繁に切り替える場合は1つのモデルに集中するか、RAMが十分あれば OLLAMA_KEEP_ALIVE を長めに設定してください。

Q5. 日本語の処理が特に遅いです

A. 日本語はマルチバイト文字のため、1文字が複数トークンになります(英語の2〜4倍)。Gemma 2 9Bなど日本語特化チューニングされたモデルを使うと改善する場合があります。また日本語プロンプトは英語より多くのトークン数を使うため速度が遅く感じる側面もあります。

Q6. コンテキスト長を短くすると回答品質が落ちますか?

A. コンテキスト長を削減すると「過去の会話を覚えられる範囲」が短くなります。短い会話や単発の質問なら2048で十分ですが、長い会話が必要な用途では最低でも4096以上が推奨です。

Q7. Ollamaの代わりになる高速なローカルLLMツールはありますか?

A. llama.cpp(CLIベース)は速度面で非常に優れています。また、LM StudioはOllamaに似たGUIツールで、llama.cppをバックエンドに使うため速度が高いです。それぞれに特徴があるので用途に合わせて選んでください。

Q8. GPU温度が高くなって性能が下がります(サーマルスロットリング)

A. LLMの推論はGPUを継続的に高負荷で使用するため、サーマルスロットリングが起きやすいです。ケース内のエアフロー改善、GPUファンの設定調整(MSI Afterburnerなど)、またはサイドパネルを開けての動作をお試しください。

まとめ:Ollama推論速度改善の優先順位

速度改善の確認手順(優先度順)

  1. GPU使用率を確認nvidia-smi でGPUが使われているか確認
  2. GPUが使われていなければドライバー更新+Ollama再インストール
  3. OLLAMA_NUM_GPU=1環境変数に設定
  4. Q4_K_Mモデルを使う(重い量子化から軽量化)
  5. num_ctxを2048に削減(Modelfileで設定)
  6. モデルがVRAMに収まらない場合は小さいモデルに変更(7B→3Bなど)
  7. OLLAMA_KEEP_ALIVE=-1でモデルをメモリに常駐させる
  8. 根本解決はVRAMを増やす(GPU交換・Mac買い替え)

Ollamaの速度問題は多くの場合、GPUが正しく使われていないか、モデルサイズがVRAMに収まっていないかのどちらかです。本記事のチェックリストを順番に試すことで、多くの環境で劇的な速度改善が期待できます。

Check Also

【2026年最新版】Stable DiffusionでVRAM不足エラーが出る・画像生成できない原因と対処法【完全ガイド】

【2026年最新版】Stabl …