3行でいうと

  • 遅いときは、ollama psの「PROCESSOR」で、モデルがGPUに載っているかを見るのが公式の入口です。
  • 途中で切れるのは、会話の長さの上限に当たった可能性があります。Ollamaは標準値の説明が2か所で食い違います。
  • 同じ言葉の繰り返しには、繰り返しを抑える設定(repeat penaltyなど)が用意されています。
  • 文字化けは、日本語に限った公式の対処は見つからず、端末の不具合の記述があるだけでした。

この記事は、実際に使って確かめた記録ではありません。この記事は公式の文書を読んでまとめたものです。「症状と原因の結びつけ」は、僕らの見立てを含みます。

先に結論

まず、次の3つを確かめると、多くの症状の入口が分かります(見立てです)。

  1. モデルが、GPU(やMacの統一メモリ)に載っているか
  2. 会話の長さ(コンテキスト長)が、足りているか
  3. 使っているモデルの推奨の設定を、守っているか

言葉の整理

症状1:遅い

Ollamaの公式の説明(FAQ)によると、ollama ps の「PROCESSOR」の欄で、場所が分かります。

別のページ(Context length)は、最高の速さを出すには、CPUに追い出さない(100% GPU)ほうがよい、と案内しています。

見立てです。「100% CPU」や分かれた表示なら、モデルや会話の長さが、メモリに対して大きいのかもしれません。小さいモデルか、短い会話長で読み込み直すと、変わるかもしれません。

ほかに、公式から読み取れる点です。

症状2:メモリ不足

公式に書かれている、メモリを減らす方法です。

方法 出典
会話の長さを短くする Ollama(アプリのスライダー、または OLLAMA_CONTEXT_LENGTH)
同時に処理する数を減らす Ollama(OLLAMA_NUM_PARALLEL、標準は1。数に応じて必要なメモリが増える)
使わないモデルを早く降ろす Ollama(ollama stop、または keep_alive)
Flash Attention(会話が長いときのメモリを減らす仕組み)を使う Ollama(OLLAMA_FLASH_ATTENTION)
過去の計算結果の置き場(KVキャッシュ)を圧縮する Ollama(OLLAMA_KV_CACHE_TYPE。q8_0やq4_0で、f16より小さい。q4_0は約4分の1、ただし精度が少し落ちる)
読み込みの設定を保存しておく LM Studio(My Modelsの歯車。コンテキスト長、GPUオフロード、Flash Attention)

見立てです。最初に試すのは、「小さいモデルにする」「会話の長さを短くする」の2つが分かりやすいと考えます。ファイルの大きさとメモリの関係は、別の記事(モデルの大きさ別の早見)で扱っています。

症状3:同じ言葉を繰り返す

llama.cppの公式の説明には、繰り返しを抑える設定があります。

Qwen3.5のモデルカードも、presence_penaltyを0〜2で設定すると、終わらない繰り返しを減らせる、と書いています。ただし、高すぎると、言語が混ざったり、性能が少し下がったりすることがある、とも注意しています。

llama.cppの文書は、「繰り返しの暴走」を専用の不具合としては説明していません。原因の特定は、公式の文書からは言えません。

見立てです。まず、モデルカードの推奨の設定に戻します。次に、繰り返しを抑える設定を少しずつ上げます。

症状4:途中で切れる

原因は、大きく2つ考えられます。どちらも、公式の文書から読み取れる範囲の話です。

会話の長さの上限

llama.cppの説明では、出力の長さの標準値は-1(無限)です。会話の長さがいっぱいになると、古い部分(--keep で残す分より後の半分)が捨てられ、計算し直すので、一瞬止まることがあります。すぐ止めたい場合は、-n -2 を使う、とあります。

Ollamaの標準値は、公式の2つのページで食い違っています。

どちらが今の動きかは確認できていません。ollama ps の CONTEXT の欄で、自分の環境の値を確かめられます。

出力の長さの上限

出力の長さの上限(max tokensなど)に当たった可能性もあります。LM Studioの公式の資料では、これを直す画面の説明は見つかりませんでした。

見立てです。Ollamaなら、会話の長さを上げる(アプリのスライダーか OLLAMA_CONTEXT_LENGTH)。LM Studioなら、読み込みのときにコンテキスト長を大きくします。長い入力を一度に渡している場合は、分けて渡します。

llama.cppで「いっぱいになったか」を知る方法

llama.cppのサーバーの文書によると、応答には「truncated」という真偽の値が含まれます。これは、入力と生成した分の合計が、会話の長さを超えたときに真になる、と説明されています。ほかに、コンテキストのシフト(古い部分を捨てて続ける)は、標準では無効、とあります。

この記事では、これらを動かしていません。

症状5:文字化け

「文字化け」について、日本語に限った公式の対処は、今回読んだ範囲では見つかりませんでした。公式から読み取れる関連の記述は、次の2つです。

見立てです。モデルの返事そのものが乱れるなら、テンプレートや量子化、モデルの相性を疑います。記号が並ぶなら、端末の問題を疑います。この切り分けは、公式の文書には書かれていません。

ログを見る

公式のログの置き場所です(2026年10月8日確認)。

Ollamaで詳しいログを出すには、OLLAMA_DEBUG=1 を設定します。GPUが見つからない理由の手がかりも出る、と書かれています。

よくあるつまずき

気をつけること

出典

更新履歴