【Ollama】GPUが検出されない問題の完全解決法

GPUが検出されない問題の概要

Ollamaを使用中に「No compatible GPUs were detected」や「GPU not detected」といったエラーが発生し、GPU而不是使用而是Fallback到CPU运行。この种情况在Windows、Linux、Docker等多种环境中都可能发生,表现为推理速度显著下降,token生成变慢,系统资源消耗增加。

問題の具体的な症状

代表的な症状は以下の通りです:

  • Ollama実行中にGPUが使用されず、CPUだけで処理される
  • 推論速度が著しく低下する(例:30 token/s → 5 token/s以下)
  • エラー画面に「No compatible GPUs were discovered」と表示される
  • nvidia-smiではGPU認識されているが、Ollamaでは認識されない

結論:解決策の要約

GPU検出の問題は主に①CUDA Driver・Ollamaバージョンの不一致、②環境変数の設定不足、③DockerコンテナのGPUアクセス設定、④パーミッション設定の4つの原因で発生します。順に排查を行うことでほとんどの問題を解決できます。

具体的な解決手順

ステップ1:環境の確認

まず、現在の環境を確認します。以下のコマンドを実行してください:

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

# CUDA Driverバージョン確認
nvidia-smi

# GPU情報の詳細確認
nvidia-smi --query-gpu=name,driver_version,memory.total --format=csv

ステップ2:DriverとOllamaの互換性確認

Ollamaは特定のCUDA Driverバージョン以上が必要です。最新のOllamaにアップデートしてください:

# Ollamaのアップデート(Windows)
winget upgrade Ollama.Ollama

# Ollamaのアップデート(Linux)
curl -fsSL https://ollama.com/install.sh | sh

ステップ3:環境変数の設定

環境変数にCUDA相關設定を追加します:

# Linuxの場合
export CUDA_VISIBLE_DEVICES=0

# 永続的に設定する場合
echo 'export CUDA_VISIBLE_DEVICES=0' >> ~/.bashrc
source ~/.bashrc

ステップ4:Ollamaサービスの再起動

設定変更後、Ollamaサービスを再起動します:

# Ollamaサービスの停止
ollama stop

# Ollamaの再起動
ollama serve

# バックグラウンドで実行
nohup ollama serve > /dev/null 2>&1 &

ステップ5:Dockerを使用する場合のGPU設定

DockerコンテナでOllamaを実行している場合、GPUアクセス用のフラグが必要です:

# 正しいDocker実行コマンド
docker run -d --gpus=all --network=host --restart=always ollama/ollama

# 旧バージョンの場合
docker run -d --runtime=nvidia --network=host ollama/ollama

ステップ6:Linuxでのパーミッション確認

Linux環境では、GPUアクセスに適切なグループ membershipが必要です:

# 現在のユーザーのグループ確認
groups

# videoグループへの参加(必要な場合)
sudo usermod -aG video $USER

# renderグループへの参加(AMD GPUの場合)
sudo usermod -aG render $USER

# グループ変更後、ログインし直すか再起動

ステップ7:Driverの再インストール

上記で解决しない場合、Driverを再インストール试试:

# NVIDIA Driverのインストール確認
sudo apt-get install nvidia-driver-535  # バージョン一例

# Driverの再読み込み
sudo modprobe nvidia

# システムログの確認
dmesg | grep -i nvrm

補足・注意点

バージョン依存的问题

Ollamaのバージョンが上がると、必要なCUDA Driverバージョンも変更されます。古いOllamaを使用している場合、最新版にアップデートすることで解决するケースが多くあります。

Windows特有の注意事项

WindowsではOllamaをサービスとして実行している場合があります。その場合はGUI或者コマンドラインからサービスを再起動してください。

GPU対応の確認

使用するGPUがOllamaの動作要件を満たしているか确认してください。一般的には、Compute Capability 7.0以上のGPUが必要です。

AMD GPUの場合

AMD GPUを使用する場合、ROCm対応バージョンまたはCPU推論の使用を検討してください。

参考元

おすすめ環境

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

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

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