【Ollama】マルチモデル同時実行時のメモリ管理エラー解決法

Ollamaで発生するマルチモデル実行時のメモリエラー

Ollamaを使用中にマルチモデル実行時のメモリエラーに遭遇することがあります。本記事では、原因の特定から解決までを順を追って解説します。

エラーの症状

複数のOllamaモデルを同時に実行しようとした際、2つ目以降のモデルでCUDA OOMエラーやシステムメモリ不足が発生します。

原因

1. GPUメモリの競合
各モデルがVRAMを占有するため、2つ目のモデルをロードする空きがなくなります。7Bモデルでも4〜6GB程度のVRAMが必要です。

2. モデルのメモリ常駐
Ollamaはパフォーマンスのためにモデルをメモリに保持します。デフォルトでは5分間アンロードされません。

3. 量子化レベルの選択ミス
Q8やFP16などの高精度モデルはメモリ消費が大きく、同時実行に向きません。

解決方法

手順1: モデルの保持時間を短縮する

# 環境変数でキープアライブ時間を設定
OLLAMA_KEEP_ALIVE=30s ollama serve

# またはAPIで個別に設定
curl http://localhost:11434/api/generate -d '{
  "model": "llama3.1:8b",
  "prompt": "hello",
  "keep_alive": "30s"
}'

手順2: 量子化モデルを使用する

# Q4_K_Mなど軽量な量子化を選択
ollama pull llama3.1:8b-instruct-q4_K_M

# モデルサイズを確認
ollama list

手順3: GPUレイヤー数を制限する

# Modelfileでnum_gpuを設定
FROM llama3.1:8b
PARAMETER num_gpu 20  # 全レイヤーではなく一部のみGPUに載せる

手順4: OLLAMA_NUM_PARALLELを設定する

# 並列リクエスト数を制限
OLLAMA_NUM_PARALLEL=2 ollama serve

まとめ

Ollamaのマルチモデル実行時のメモリエラーは、環境設定やバージョンの不整合が主な原因です。上記の手順で解決できない場合は、公式リポジトリのIssuesを確認してください。

☁️ ローカル環境のトラブルを回避するなら

環境構築やGPUの問題に悩まされない、クラウドGPUという選択肢:

  • RunPod — RTX 4090が$0.44/h〜、環境構築済みテンプレートですぐ開始
  • Vast.ai — 最安値GPU マーケットプレイス、コスパ重視ならこちら

※ 上記はアフィリエイトリンクです。サイト運営のサポートになります。

💡 この問題を根本的に解決するには

ローカル環境のGPUトラブルが頻発する場合、ハードウェアの見直しも検討してみてください:

💡 この問題を根本的に解決するには

ローカル環境でGPUトラブルが頻発する場合、クラウドGPUサービスの利用も検討してみてください。環境構築の手間なく、すぐにAI開発を始められます。

  • RunPod — RTX 4090が$0.44/h〜、ワンクリックでJupyter環境が起動
  • Vast.ai — コミュニティGPUマーケットプレイス、最安値でGPUレンタル
この記事は役に立ちましたか?