目錄

Ollama GPU 設定與效能調校:為什麼這麼慢?

本機模型最常見的抱怨就是「太慢」。大多數情況下,原因不是電腦不夠好,而是模型沒有完整放進 GPU。

第一步:確認有沒有用到 GPU

先執行一個模型,再查看:

ollama run qwen3:8b "你好" --verbose
ollama ps
ollama ps 的 PROCESSOR意思速度
100% GPU完整放在顯示卡上最快
30%/70% CPU/GPU顯示卡放不下,部分放在系統記憶體明顯變慢
100% CPU完全沒用 GPU最慢

--verbose 輸出的 eval rate 是每秒產生的 token 數,可以拿來比較調整前後的差異。

NVIDIA 顯示卡沒有被使用

  1. 更新驅動程式。過舊的驅動程式是最常見的原因。

  2. 確認系統認得顯示卡:

    nvidia-smi
  3. 查看 Ollama 的日誌,搜尋 GPU 相關訊息:

    • Linux:journalctl -u ollama --no-pager | grep -i -E "gpu|cuda"
    • Windows:%LOCALAPPDATA%\Ollama\server.log
    • macOS:~/.ollama/logs/server.log
  4. 筆電若有內顯與獨顯,確認 Ollama 使用的是獨立顯示卡(Windows 的「圖形設定」可以指定應用程式使用高效能 GPU)。

  5. 多張顯示卡時,可以用 CUDA_VISIBLE_DEVICES=0 指定使用哪幾張。

AMD 顯示卡

Ollama 透過 ROCm 支援部分 AMD 顯示卡,支援的型號清單請見官方文件。不在清單中的顯示卡,有時可以透過 HSA_OVERRIDE_GFX_VERSION 環境變數強制指定相近的架構,但不保證穩定。

Apple Silicon Mac

M 系列晶片會自動使用 GPU。Mac 的「統一記憶體」由 CPU 和 GPU 共用,但系統預設只讓 GPU 使用其中一部分(大約三分之二到四分之三),模型加上上下文不能超過這個額度。

模型放不進 GPU 怎麼辦

依效果排序:

1. 換小一點的模型或量化版本

例如從 14b 換成 8b,或從 q8_0 換成 q4_K_M。速度通常會比「大模型但一半在 CPU」快很多。詳見 模型選擇與硬體需求。

2. 縮短上下文長度

上下文需要的記憶體(KV cache)會隨長度增加。如果 ollama ps 的 CONTEXT 很大,試著調小 OLLAMA_CONTEXT_LENGTH 或 num_ctx。

3. 量化 KV cache

OLLAMA_FLASH_ATTENTION=1
OLLAMA_KV_CACHE_TYPE=q8_0

q8_0 可以讓上下文的記憶體用量約減半,品質影響很小;q4_0 省更多,但品質影響較明顯。KV cache 量化需要 Flash Attention。

4. 關閉其他佔用顯示卡記憶體的程式

瀏覽器、遊戲、其他 AI 工具都會佔用 VRAM。用 nvidia-smi 可以看到各程式的用量。

5. 一次只載入一個模型

同時載入多個模型會互相搶記憶體:

ollama ps
ollama stop 不需要的模型

或設定 OLLAMA_MAX_LOADED_MODELS=1。

其他影響速度的因素

現象原因與對策
第一次回答特別慢模型正在載入。提高 OLLAMA_KEEP_ALIVE 讓它常駐
開始回答前停頓很久輸入(提示詞)很長,模型需要先處理。這段時間主要受 GPU 運算能力影響
推理模型回答很慢它在「思考」。不需要深度推理時可以關閉思考模式
多人同時使用時變慢請求在排隊,見 OLLAMA_NUM_PARALLEL

粗略的速度參考

產生速度主要受記憶體頻寬限制,大致規律是:

  • 同一張顯示卡上,模型越大越慢,大約和模型檔案大小成反比。
  • 每秒 20 token 以上,閱讀起來就很順暢;10 token 以下會覺得在等待。

如果你的速度遠低於同級硬體的一般水準,幾乎可以確定是模型溢出到 CPU,回到第一步檢查。

更新於 2026年10月12日