「昨日まで速かったローカルLLMが急に遅い」「GPUがあるのにCPUで動いている気がする」——ローカルAIでよくある詰まりの一つです。原因のほとんどはモデルがVRAMに載りきらず、一部(または全部)がCPUにあふれていること。切り分けと対処を、当サイトの実測とあわせて整理します。
30秒でわかる結論
- まず
ollama psを見る。PROCESSOR が「100% GPU」でなければ、モデルはVRAMに載りきらずCPUにあふれている=これが遅さの主因。 - 対処は3つ:①モデルを小さく/量子化を強く(Q4_K_M)②VRAMを食う同居プロセスを止める ③そもそも載るかを動くか診断で先に確認。
- CPUに落ちると激遅。当サイト実測では、JetsonでGPU 12.6 tok/s → CPUフォールバック時 約3.8 tok/sまで落ちた。
まず切り分け:本当にGPUで動いているか
「遅い」と感じたら、体感でなく数字で確認します。
ollama ps:実行中モデルのPROCESSOR列を見る。100% GPUなら正常、XX% CPU / YY% GPUの混在や100% CPUなら、VRAMに載りきっていない。- NVIDIA GPU:
nvidia-smiでGPUメモリ使用量と利用率を見る。モデルサイズよりVRAMが小さいと、llama.cppはレイヤーをCPUにオフロードする。 - Jetson:
tegrastatsでGR3D(GPU)利用率。Raspberry Pi 5はLLMのGPU推論に非対応でCPUのみ。
遅い・GPUが使われない原因と対処
- VRAM不足でCPUにオフロード(よくある原因):モデル+KVキャッシュがVRAMを超えると、あふれた分がCPU/RAMに回り激遅化する。→ 量子化を強める(Q8→Q4_K_M)/小さいモデルに変える。必要量は必要VRAM早見表で確認。
- 同居プロセスがVRAMを占有:別モデルの常駐・デモ・ブラウザのGPU使用などでVRAMが埋まっている。当サイトのJetson実測でも、同居プロセスの影響でGPUが使われずCPU推論にフォールバックし、約10W・3.8 tok/sまで落ちた。→ 不要なGPUプロセスを止める。
- モデルがそもそも大きすぎる:VRAMに対してモデルが大きい。→ 動くか診断で載るサイズを先に確認する。
- 長い文脈でKVキャッシュが膨張:コンテキストを長く使うほどKVキャッシュがVRAMを食い、途中からあふれる。→ 文脈長を絞る/モデルを小さくする。
- 初回だけ遅い(ロード時間):モデルの初回ロードはディスク読み込みで遅い。2回目以降の値で判断する。
実測:CPUに落ちるとどれだけ遅いか
- GPU実行(A6000・検証DB)102
- CPU実行(num_gpu=0・診断)10
黙読に追いつく目安 10 tok/s
GPUは検証DBの実測、CPUは同一プロトコルでnum_gpu=0に切替えた直接診断(ともにgranite3.3:8b・Q4_K_M・num_predict=256・2回平均・temp0)。載せる場所を変えただけで約10倍。AI PCのNPUは主要ランタイム(ollama/llama.cpp)が使わないため、実態はCPU側に近づく。
同じ8Bモデルでも、GPU実行とCPU実行で約10倍違います。つまり「動くか」と「実用速度で動くか」は別問題。CPUフォールバックは"動いてはいる"ので気づきにくく、体感だけだと見逃します。
遅さを防ぐ:載るかを先に確認
このトラブルの大半は「載らないものを無理に動かしている」ことが原因です。動かす前に:
- ローカルLLMが急に遅くなったのはなぜ?
- 多くはモデルがVRAMに載りきらず、あふれた分がCPUで動いているためです。ollama ps の PROCESSOR が 100% GPU か確認し、混在やCPUなら、量子化を強める・小さいモデルに変える・VRAMを食う同居プロセスを止めるのが対処です。
- GPUがあるのにCPUで動いていないか確認するには?
- ollama ps の PROCESSOR 列、NVIDIAなら nvidia-smi の利用率とメモリ、Jetsonなら tegrastats のGPU利用率で確認できます。100% GPU でなければ、モデルがVRAMに載りきらずCPUにあふれています。
- CPUに落ちるとどのくらい遅い?
- 当サイトのA6000実測では、同じ8BモデルでGPU実行とCPU実行が約10倍(102→10 tok/s)でした。別途Jetsonでは、通常12.6 tok/sのGPU実行がCPUフォールバック時に約3.8 tok/sまで落ちました。版・量子化・入力長で変動します。
- 遅くならないようにするには?
- モデルをVRAMに収めるのが基本です。動くか診断で載るサイズを先に確認し、量子化はQ4_K_Mを既定にすると多くの環境で収まりやすくなります。長い文脈を使う場合はKVキャッシュ分の余裕も見ます。
- Raspberry Pi 5はGPUで速くなりますか?
- Pi 5はLLMのGPU推論に対応せずCPUのみです。1B級の軽量モデルなら実用、4B級は遅くなります。ビジョンなどを速くしたい場合はAIカメラ等の別アクセラレータが必要です。
精度等について
- 本記事の対処は一般的なケースの整理で、環境(ランタイム版・OS・ドライバ)により挙動は変わります。
- 実測値は当サイトの保有機材での測定です。数値は版・量子化・入力長で変動します。