言語を切り替える
テーマを切り替える

Ollama GPU アクセラレーション設定:CUDA、ROCm、Metal 全プラットフォーム実践ガイド

ターミナルでゆっくりと流れていく文字列を見つめながら、思わず時間を確認しました——47秒。これは古いノートパソコンで Llama 3 8B を実行した時の速度です。CPU は最大稼働、ファンは唸りを上げ、毎秒約5トークンというペースでした。正直なところ、かなり残念な体験でした。コード補助に使おうと思っていたのに、回答を待つ時間があれば自分で Google で調べた方が早いという状態でした。

その後、同じグラフィックボードをデスクトップPCに移し、CUDA ドライバーをインストールしました。同じモデル、同じパラメータで実行すると——3秒です。

大げさではなく、ほぼ1分から数秒への変化です。「質問して、すぐに答えを知りたい」という感覚が、ようやく戻ってきました。

この記事では、Ollama の GPU アクセラレーション設定を徹底解説します。NVIDIA、AMD、Apple Silicon のどの環境でも、設定方法、検証手順、トラブルシューティングまで詳しく説明します。待ち時間を減らして、もっと有意義なことに時間を使いましょう。

GPU アクセラレーションの効果:30秒から3秒への実測データ

結論から言うと、GPU でローカル大規模言語モデル(LLM)を実行すると、速度は10〜20倍向上します。これは誇張ではなく、実測データであり、コミュニティでも多くのユーザーが確認している事実です。

「CPU でも動くのでは? なぜ GPU を使う必要があるのか?」と思うかもしれません。

確かに動きますが、体験は全く異なります。CPU で7B パラメータのモデルを実行すると、毎秒3〜8トークン程度です。500文字の出力を得るのに20〜60秒待つことになります。GPU に切り替えると、同じモデルで毎秒40〜80トークンになり、数秒で完了します。この差は「少し速い」ではなく、「使える」から「快適」への質的な変化です。

お使いのグラフィックボードは対応していますか?

Ollama は3つの GPU プラットフォームに対応しており、それぞれ要件が異なります。

NVIDIA グラフィックボード:最も一般的で、最も手間がかかりません。公式要件は Compute Capability 5.0 以上です。基本的に GTX 900 シリーズ以降のカードであれば問題ありません。GTX 1060、RTX 3060、RTX 4090 などは全て対応しています。手元の RTX 3060 12GB であれば、14B 以下のモデルを快適に実行できます。

AMD グラフィックボード:設定は少し複雑ですが、問題なく動作します。Linux では ROCm v7 が必要です。Windows では現在 ROCm v6.1 のプレビュー版のみ対応しています。対応するグラフィックボードのモデルにも制限があり、RX 6000 と RX 7000 シリーズが比較的安定しています。古いカードは追加設定が必要です。

Apple Silicon:M1/M2/M3/M4 全シリーズが対応しており、自動的に有効になります。Mac ユーザーは基本的に設定不要で、Ollama をインストールするだけで Metal アクセラレーションが使えます。2026年以降は MLX バックエンドの選択肢も追加され、さらに性能が向上しました。

VRAM は十分ですか?

多くの人が見落としがちなポイントです。GPU でモデルを実行する場合、ビデオメモリ(VRAM)が重要な制約となります。

簡単な計算をしてみましょう:7B モデルを4ビット量子化で実行するには約5〜6GB、14B は10〜12GB、70B になると40GB以上の VRAM が必要です。お使いのグラフィックボードの VRAM サイズによって、実行できるモデルの大きさが決まります。手元の RTX 3060 12GB であれば、Llama 3 8B は快適に動作しますが、Mixtral 8x7B では苦しくなり、CPU で一部メモリを補う必要があります。

そのため、GPU を設定する前に、ご自身のグラフィックボードのモデルと VRAM サイズを確認しておくことをお勧めします。

NVIDIA CUDA:最も手間のかからないソリューション

NVIDIA のグラフィックボードをお使いであれば、おめでとうございます。設定プロセスは3つのプラットフォームの中で最もシンプルです。

まずドライバーがインストールされているか確認

ターミナルを開いて、次のコマンドを入力してください:

nvidia-smi

表形式でグラフィックボードのモデル、VRAM サイズ、ドライバーバージョンなどの情報が表示されれば、ドライバーは既にインストールされています。Ollama は自動的に CUDA を検出して使用するため、CUDA Toolkit を別途インストールする必要はありません——その通り、Ollama に必要な CUDA ライブラリは同梱されています。

コマンドが見つからないというエラーが出る場合は、まずドライバーをインストールする必要があります。Ubuntu ユーザーは次のコマンドを実行できます:

sudo apt install nvidia-driver-535  # または最新バージョン

インストール完了後に再起動し、再度 nvidia-smi で確認してください。

マルチ GPU 環境の場合は?

複数のグラフィックボードを搭載している場合(例:RTX 3090 を2枚)、デフォルトでは Ollama がモデルを全てのカードに分散します。しかし、特定のカードを指定したい場合もあります。例えば、1枚でモデルを実行し、もう1枚で別の作業を行うなど。

この場合は環境変数を設定します:

# 0番目のグラフィックボードのみ使用
export CUDA_VISIBLE_DEVICES=0

# 0番目と2番目のグラフィックボードを使用
export CUDA_VISIBLE_DEVICES=0,2

この行を ~/.bashrc または systemd サービスの設定に追加すれば、永続的に有効になります。

Docker コンテナで Ollama を実行する場合

すべてのサービスをコンテナで管理したい方もいるでしょう。Ollama もコンテナで実行可能です。ただし、Docker コンテナはデフォルトではホストの GPU にアクセスできないため、追加の設定が必要です。

NVIDIA 公式の nvidia-container-toolkit を使用します:

# toolkit のインストール
sudo apt install nvidia-container-toolkit

# Docker runtime の設定
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

その後、Ollama コンテナを起動する際に --gpus all パラメータを追加します:

docker run -d --gpus all -v ollama:/root/.ollama -p 11434:11434 ollama/ollama

GPU が実際に使用されているか確認する方法

簡単な検証方法は、モデルを実行している間に別のターミナルで次のコマンドを実行することです:

ollama ps

出力には現在実行中のモデルと GPU 使用率が表示されます。GPU: 100% のような表示があれば、アクセラレーションが有効になっています。

また、nvidia-smi -l 1 でリアルタイムに VRAM 使用量を監視することもできます。モデル実行時に VRAM 使用量が明らかに増加するはずです。

AMD ROCm:設定は少し面倒だが、速度は同等

AMD ユーザーの苦労は理解しています——ネット上のチュートリアルは基本的に NVIDIA のことばかり、AMD のドキュメントは少なく断片的です。しかし安心してください。Ollama の ROCm サポートはかなり安定してきており、設定手順も数ステップ増えただけです。

Linux ユーザーの正解:ROCm v7

Ubuntu 22.04 以降のディストリビューションをお使いであれば、ROCm のインストールはそれほど大変ではありません:

# AMD 公式リポジトリの追加
sudo apt update
sudo apt install amdgpu-install
sudo amdgpu-install --usecase=rocm

# ユーザーを render グループに追加
sudo usermod -aG render,video $USER

# 再起動して反映
sudo reboot

再起動後、rocminfo コマンドでグラフィックボードが認識されているか確認します。GPU 情報が表示されれば、Ollama をインストールできます。AMD 版の Ollama は自動的に ROCm 環境を検出するため、追加設定は不要です。

Windows ユーザー:現在はプレビュー版

正直なところ、Windows 上の ROCm サポートはまだ成熟していません。公式から ROCm v6.1 のプレビュー版が提供されていますが、対応するグラフィックボードのモデルに制限があり、安定性も Linux に劣ります。Windows を主に使用し、かつ AMD のグラフィックボードをお持ちの場合は、次のアプローチをお勧めします:

WSL2 + Ubuntu を優先的に検討してください。Linux サブシステムで Ollama を実行する方が、ネイティブ Windows よりも性能と安定性が大幅に向上します。

古いグラフィックボードの場合は?HSA_OVERRIDE が救世主

AMD のグラフィックボードのアーキテクチャコードネームは少し複雑です。ROCm は公式には比較的新しいアーキテクチャ(gfx900、gfx1030 など)のみサポートしています。古いグラフィックボード、例えば RX 580(gfx803)の場合、ROCm はデフォルトで認識しません。

この場合、環境変数で強制的に上書きできます:

export HSA_OVERRIDE_GFX_VERSION=10.3.0  # gfx1030 互換モードを強制使用

この方法はすべてのケースで有効とは限りませんが、コミュニティのフィードバックでは多くの古いカードで効果があるとのことです。試してみて、ダメなら CPU に戻すしかありません。

マルチ GPU 設定

NVIDIA と同様に、AMD も使用するグラフィックボードを指定できます:

export ROCR_VISIBLE_DEVICES=0,1  # 0番目と1番目のグラフィックボードを使用

グラフィックボードの番号は rocm-smi コマンドで確認できます。

主な AMD グラフィックボードのアーキテクチャコード

一般的なモデルと対応するアーキテクチャをまとめました。トラブルシューティングの参考にしてください:

グラフィックボードアーキテクチャコードROCm サポート
RX 7900 XTXgfx1100ネイティブサポート
RX 6800 XTgfx1030ネイティブサポート
RX 5700 XTgfx1010ネイティブサポート
RX 580gfx803HSA_OVERRIDE 必要
Vega 56/64gfx900ネイティブサポート

総じて言うと、AMD の設定は NVIDIA よりもいくつかのハードルがありますが、一度動作すれば性能差はほとんどありません。

Apple Metal:Mac ユーザーの隠れたメリット

Apple Silicon 搭載の Mac(M1/M2/M3/M4)をお使いであれば、朗報があります:何も設定する必要はありません。

本当に、何もしなくて大丈夫です。Ollama をインストールして、モデルを実行するだけで、GPU アクセラレーションが自動的に有効になります。Apple の Metal フレームワークは Ollama に組み込まれており、システムが自動的にモデルを GPU にロードします。

M シリーズチップの性能

コミュニティの実測データによると、Mac でのローカル LLM の実行速度はかなり良好です:

  • M1/M2 8GB:7B モデルを実行、約15〜20 tok/s
  • M2 Pro 16GB:14B モデルを実行、25〜30 tok/s 達成可能
  • M3 Max 36GB:30B 以上のモデルでも、30+ tok/s を維持

CPU オンリーの古いマシンと比較すると、この速度は実用的です。RTX 4090 のような「即座に回答」レベルには及びませんが、日常的なコード補助や翻訳・推敲などの用途では十分です。

2026年の新機能:MLX バックエンド

M シリーズチップ搭載で、ユニファイドメモリが32GB以上(M3 Max、M4 Pro など)の場合、MLX バックエンドを有効にできます——Apple が自社チップ向けに最適化した機械学習フレームワークです。

開発者コミュニティのデータによると、MLX バックエンドは推論速度を93%向上させます。具体的には、元々 Llama 3 8B が毎秒57.8トークンだったのが、MLX では111.4 tok/sに達します。この差は、「そこそこ快適」から「本当に速い」への変化です。

有効にする方法も簡単で、パラメータを追加するだけです:

ollama run llama3 --backend mlx

ただし、MLX はメモリ要件が比較的高く、32GB 未満では安定しない可能性があります。また、MLX をサポートしているのは一部のモデルのみで、主に mlx 形式で公開されているバージョンです。

GPU が動作しているか確認する方法

Activity Monitor(アクティビティモニタ)を開き、GPU History タブに切り替えます。モデル実行時に、GPU 使用率が明らかに上昇するはずです。もし CPU だけが動いていて GPU に全く動きがない場合は、Metal が有効になっていない可能性があります。この場合は稀ですが、通常は Ollama を再インストールすれば解決します。

GPU 検出に失敗した場合:一般的な問題のトラブルシューティング

ハードウェア設定を行う際、問題に遭遇するのはほぼ避けられません。私が経験した問題と解決策をまとめました。少しでも役に立てば幸いです。

問題1:no compatible GPUs were discovered

このエラーは最も一般的で、Ollama が使用可能なグラフィックボードを見つけられないことを意味します。

考えられる原因

  • ドライバーがインストールされていない、またはバージョンが古い
  • グラフィックボードのモデルがサポートされていない(GTX 700 シリーズのような古いカードなど)
  • Docker コンテナに GPU アクセス権限が設定されていない

トラブルシューティング手順

# NVIDIA:ドライバー確認
nvidia-smi

# AMD:ROCm 確認
rocminfo

# コマンドがエラーになる場合は、まずドライバーをインストール

問題2:Not compiled with GPU offload support

このエラーは、ダウンロードした Ollama バージョンに GPU サポートが含まれていないことを意味します。

解決方法:公式サイトから正しいバージョンを再ダウンロードしてください。AMD ユーザーは注意が必要です。Ollama には ROCm 版があり、ダウンロードリンクが CUDA 版とは異なります。間違ってダウンロードしないようにしてください。

問題3:NVIDIA ドライバーバージョンが古い

Ollama は NVIDIA ドライバーのバージョンが450以上であることを要件としてしています。システムが400番台の古いバージョンを使用している場合、CUDA は動作しません。

# 現在のドライバーバージョンを確認
nvidia-smi | grep "Driver Version"

# バージョンが古い場合は、ドライバーを更新
sudo apt install nvidia-driver-535

問題4:AMD amdgpu ドライバーが不足

Linux で AMD のグラフィックボードを使用する場合、amdgpu ドライバーが必要です。一部のシステムでは古い radeon ドライバーがデフォルトでインストールされており、ROCm をサポートしていません。

# 現在ロードされているドライバーを確認
lsmod | grep amdgpu

# 出力がない場合は、手動でインストール
sudo apt install amdgpu-dkms

問題5:SELinux がコンテナの GPU アクセスを拒否

CentOS/RHEL 系のシステムで遭遇した問題です。SELinux のデフォルトポリシーは、コンテナが GPU デバイスにアクセスするのをブロックします。

一時的な解決策:

sudo setenforce 0  # SELinux を一時的に無効化

永続的な解決には SELinux ポリシーの調整が必要で、少し複雑です。Red Hat の公式ドキュメントを参照してください。または、Ubuntu に切り替える方が簡単です。

検証コマンドまとめ

最後に、迅速な検証のためのコマンドリストをまとめました。問題が発生した場合は、この順序で確認してください:

# 1. グラフィックボードがシステムに認識されているか確認
nvidia-smi       # NVIDIA
rocminfo         # AMD
system_profiler SPDisplaysDataType  # macOS

# 2. Ollama プロセスの状態を確認
ollama ps

# 3. GPU 使用状況をリアルタイム監視(モデル実行時)
watch -n 1 nvidia-smi    # NVIDIA
rocm-smi -a              # AMD

# 4. 環境変数を確認
echo $CUDA_VISIBLE_DEVICES
echo $ROCR_VISIBLE_DEVICES

ほとんどの問題は、これらのコマンドで特定できます。どうしても解決しない場合は、Ollama の GitHub Issues で検索してください。コミュニティには同様の問題を経験した人が多くいます。

まとめ

最後に、クイックリファレンス表をまとめます:

プラットフォーム前提条件設定難易度推奨度
NVIDIAドライバー 450+簡単(ほぼ設定不要)第一選択
AMD (Linux)ROCm v7中程度(数コマンド)第二選択
AMD (Windows)ROCm v6.1 Previewやや困難(WSL2 推奨)一般的
Apple Silicon設定不要最も簡単Mac ユーザーの第一選択

GPU アクセラレーションは、一度設定すれば長期的に恩恵を受けられます。CPU の「動く」から GPU の「快適」への体験の差は、本当に大きいです。お使いのグラフィックボードはどのプラットフォームですか?設定中に何か問題がありましたか?コメント欄で共有していただければ、できる限りお返事します。

Ollama GPU アクセラレーション設定

3プラットフォームの GPU アクセラレーション設定完全手順

⏱️ 目安時間: 30 分

  1. 1

    ステップ1: グラフィックボードのモデルとドライバーを確認

    グラフィックボードの種類に応じて確認方法を選択:

    • NVIDIA:nvidia-smi を実行してグラフィックボード情報を確認
    • AMD:rocminfo を実行して ROCm の認識を確認
    • macOS:確認不要、Metal は自動有効
  2. 2

    ステップ2: NVIDIA CUDA 設定

    最もシンプルな方法、ドライバーをインストールすれば完了:

    1. ドライバーインストール:sudo apt install nvidia-driver-535
    2. システム再起動
    3. 検証:nvidia-smi でグラフィックボード情報を表示
    4. Ollama は自動で CUDA を検出、追加設定不要
  3. 3

    ステップ3: AMD ROCm 設定(Linux)

    ROCm v7 のインストールが必要:

    1. インストール:sudo apt install amdgpu-install
    2. 設定:sudo amdgpu-install --usecase=rocm
    3. 権限:sudo usermod -aG render,video $USER
    4. 再起動後に検証:rocminfo
    5. 古いグラフィックボードは export HSA_OVERRIDE_GFX_VERSION=10.3.0 が必要かも
  4. 4

    ステップ4: GPU アクセラレーションの有効化を確認

    モデル実行時に GPU が動作していることを確認:

    • ollama ps を実行して GPU 使用率を確認
    • NVIDIA:nvidia-smi -l 1 でリアルタイム監視
    • AMD:rocm-smi -a でリアルタイム監視
    • macOS:Activity Monitor で GPU History を確認
  5. 5

    ステップ5: マルチ GPU 環境の設定

    使用するグラフィックボードを指定:

    • NVIDIA:export CUDA_VISIBLE_DEVICES=0,2
    • AMD:export ROCR_VISIBLE_DEVICES=0,1
    • 環境変数を ~/.bashrc に追加して永続化

FAQ

Ollama はどの GPU プラットフォームをサポートしていますか?
Ollama は3つの主要プラットフォームをサポートしています:NVIDIA(CUDA、Compute Capability 5.0+)、AMD(ROCm v7 Linux / v6.1 Windows Preview)、Apple Silicon(Metal 自動有効)。NVIDIA が最も設定が簡単で、Apple Mac ユーザーは設定不要です。
グラフィックボードの VRAM が不足している場合はどうすればいいですか?
VRAM サイズで実行可能なモデルが決まります:7B モデルは 5〜6GB、14B は 10〜12GB、70B は 40GB以上が必要。VRAM が不足する場合は:1. より小さい量子化モデルを選択、2. Ollama に自動で CPU メモリを補完させる(速度は低下)、3. 複数のグラフィックボードで分散。
GPU アクセラレーションが有効かどうかを確認する方法は?
モデル実行中に ollama ps コマンドを実行し、GPU 使用率を確認します。NVIDIA ユーザーは nvidia-smi -l 1 で VRAM 使用量をリアルタイム監視できます。GPU 使用率が上昇していれば、アクセラレーションが有効です。
AMD の古いグラフィックボード(RX 580 など)は使用できますか?
一部の古いグラフィックボードは環境変数で強制的に有効にできます。export HSA_OVERRIDE_GFX_VERSION=10.3.0 を設定して gfx1030 互換モードを強制使用します。ただし、すべてのケースで有効とは限らないため、自己責任で試してください。
Docker コンテナ内で GPU を使用するにはどうすればいいですか?
NVIDIA は nvidia-container-toolkit のインストールが必要で、その後 Docker runtime を設定します。コンテナ起動時に --gpus all パラメータを追加します。AMD コンテナの GPU 設定はより複雑で、ホストマシンで直接 Ollama を実行することをお勧めします。
Apple Silicon の MLX バックエンドを有効にする方法は?
モデル実行時に --backend mlx パラメータを追加します。例:ollama run llama3 --backend mlx。MLX は32GB以上のユニファイドメモリが必要で、一部のモデルのみサポートしています。性能向上は約93%です。
エラー 'no compatible GPUs were discovered' が表示される場合はどうすればいいですか?
順番に確認:1. ドライバーがインストールされているか(nvidia-smi または rocminfo)、2. ドライバーバージョンが古すぎないか(NVIDIA は450+必要)、3. Docker コンテナに GPU アクセス権限が設定されているか、4. AMD の amdgpu ドライバーが不足していないか。

7 min read · 公開日: 2026年4月25日 · 更新日: 2026年4月25日

関連記事

コメント

GitHubアカウントでログインしてコメントできます