Ollama GPU アクセラレーション設定:CUDA、ROCm、Metal 全プラットフォーム実践ガイド
初めてローカルで7Bモデルを動かしたとき、純粋な CPU を使用していました。その体験はどうだったかというと…1秒に2トークンも出力されない状態で、一文が終わるのを待つ間にコーヒーを半杯飲み終わってしまうほどでした。その後、RTX 3080 に交換すると、同じモデル、同じパラメータで速度が一気に40トークン/秒以上に跳ね上がりました。その差は約50倍です。
これだけではありません。より大きなモデル、より長いコンテキスト、複数ターンの対話となると、CPU では基本的に諦めるしかありません。GPU アクセラレーションは「あれば便利」ではなく、「使えるかどうか」の違いなのです。
お使いのコンピュータにグラフィックカードがあるなら、NVIDIA、AMD、Apple Silicon のいずれであっても、おそらく Ollama を高速化できます。ただし、設定方法は各プラットフォームで異なります。NVIDIA ユーザーは最も手間がかからず、ドライバーをインストールすれば完了です。AMD ユーザーは ROCm の設定が必要で、Windows では Vulkan を使う必要があります。Mac ユーザーは最も恵まれており、何も設定する必要がありません。
この記事では、3大プラットフォームの設定方法、よくある問題点、トラブルシューティングのアプローチを一度に詳しく解説します。
GPU アクセラレーションが重要な理由
まずデータを見てみましょう。実測値によると、7Bモデルの推論速度はハードウェアによって大きく異なります。
| アクセラレーション方式 | 典型的な性能(7Bモデル) | 適用シーン |
|---|---|---|
| CPU のみの推論 | 0.5-2 トークン/秒 | テスト、デバッグ |
| NVIDIA CUDA | 30-80 トークン/秒 | 日常使用、本番環境 |
| Apple Metal | 20-50 トークン/秒 | Mac ユーザー |
| AMD ROCm | 25-60 トークン/秒 | Linux AMD ユーザー |
なぜこれほどの差が生じるのか。簡単に言えば、GPU は「反復作業」を得意とするからです。大規模モデルの推論は本質的に行列演算、それも数千億回の行列演算です。CPU でこれを行うのは、博士課程の学生に一つ一つ数学の問題を解かせるようなものです。正確ですが遅い。一方、GPU はどうでしょうか。数千人の作業員が同時に作業し、各々はほんの一部だけを計算します。個々の作業員はそれほど賢くありませんが、人数が多いためパワーがあります。
さらに、メモリ帯域幅も重要です。推論速度が速いかどうかは、データがどれだけ速く計算ユニットに送られるかに大きく依存します。GPU のメモリ帯域幅は通常、CPU の数倍あります。RTX 3080 は912 GB/sですが、通常の DDR4 メモリは約50 GB/s程度です。データが渋滞に巻き込まれては、計算が速くても意味がありません。
では、いつ GPU が必要になるのか。基本的に7B以上のモデルを動かすなら必須です。チャット、コーディング、長文生成では、GPU がないと非常に悪い体験になります。たまに遊んでみる、小さなモデルをデバッグするだけなら、CPU でもなんとか使えます。
NVIDIA CUDA 設定の実践
NVIDIA は最も手間のかからない選択肢です。エコシステムが成熟しており、ドキュメントも充実、コミュニティの経験も豊富です。先人たちがすでに問題を解決してくれています。
ハードウェアとドライバーの要件
すべての NVIDIA グラフィックカードが使えるわけではありません。Ollama は Compute Capability 5.0 以上を必要とします。どういうことか、表で見てみましょう。
| Compute Capability | 代表的なカード | 使用可否 |
|---|---|---|
| 8.9 | RTX 4090/4080/4070 | 完璧 |
| 8.6 | RTX 3090/3080/3070 | 完璧 |
| 7.5 | RTX 2080 Ti/2080 | 完璧 |
| 6.1 | GTX 1080 Ti/1080 | 使用可能 |
| 5.2 | GTX 980 Ti/980 | 使用可能 |
| 5.0 未満 | GTX 7xx 以前 | 非対応 |
ドライバーバージョンにも要件があります。公式には531以上(Windows)または535以上(Linux)が必要です。バージョンが低すぎると、CUDA が動作しません。
検証とインストール手順
まず、グラフィックカードがシステムに認識されているか確認します。ターミナルで次のコマンドを実行します。
nvidia-smi
グラフィックカード情報、ドライバーバージョン、CUDA バージョンが表示されれば正常です。「command not found」というエラーが表示される場合、ドライバーがインストールされていないか、パスが正しく設定されていません。
Ollama はインストール後に自動的に CUDA を検出します。追加の設定は不要で、ドライバーが正常であれば問題ありません。モデルを動かして確認してみましょう。
ollama run llama3.2
ollama ps
ollama ps の出力に GPU 情報が表示されます。例えば、以下のように:
ID MODEL SIZE PROCESSOR UNTIL
abc123 llama3.2:7b 4.7 GB 100% GPU 2 minutes from now
もし CPU と表示される場合は、問題があります。
よくある問題点
ドライバーバージョンが正しくない。NVIDIA 公式サイトから最新のドライバーをダウンロードしてください。Linux ユーザーは、ディストリビューションのデフォルトドライバーが古い可能性があるため注意が必要です。
CUDA Toolkit が不足している。実際には Ollama は完全な CUDA Toolkit を必要とせず、簡易版を同梱しています。ただし、一部のシステム設定では、CUDA runtime を手動でインストールする必要がある場合があります。Linux では次のようにインストールできます。
# Ubuntu/Debian
sudo apt install nvidia-cuda-toolkit
コンテナ内で Ollama を実行する場合。Docker ユーザーは --gpus all パラメーターを追加して、コンテナが GPU にアクセスできるようにする必要があります。
docker run --gpus all ollama/ollama
AMD ROCm 設定の実践
AMD ユーザーは少し手間がかかります。ROCm(AMD 版 CUDA)の成熟度は CUDA に劣りますが、ここ2年で大きく進歩しています。Linux では比較的スムーズに設定できますが、Windows では少し工夫が必要です。
どの AMD グラフィックカードが使えるか
ROCm は RDNA アーキテクチャを最もよくサポートしています。
| アーキテクチャ | シリーズ | サポートレベル |
|---|---|---|
| RDNA3 | RX 7900 XTX/XT、RX 7800/7700 | 最高 |
| RDNA2 | RX 6800/6700/6600 | 良好 |
| RDNA1 | RX 5700/5600/5500 | 基本的に使用可能 |
| GCN | RX Vega、RX 500/400 | 公式保証なし |
要するに、RX 7000 と 6000 シリーズは問題ありません。5000 シリーズはまあ使えます。それより古いカードは期待しない方がいいでしょう。
Linux での ROCm インストール
Ubuntu/Debian ユーザーは以下の手順で進めてください。
# まずシステムを更新
sudo apt update
# ROCm コアをインストール
sudo apt install rocm-dkms rocm-dev rocm-libs
# HIP runtime をインストール
sudo apt install hip-runtime-amd
# インストールを確認
rocminfo
rocminfo でグラフィックカード情報が表示されれば、正しくインストールされています。その後、再起動してカーネルモジュールをロードしてください。
Ollama はインストール後に自動的に ROCm を検出します。CUDA と同様、追加の設定は不要です。
Windows ユーザーはどうすればいいか
ROCm の Windows サポートはまだ開発中です。ただし、代替手段として Vulkan があります。環境変数を設定するだけで使えます。
# Windows PowerShell
$env:OLLAMA_VULKAN = "1"
ollama run llama3.2
Vulkan の性能は ROCm に劣りますが、使用可能です。実測では、ROCm の約70-80%の速度が出ます。
マルチ GPU の選択
複数の AMD GPU を持っている場合、どの GPU を使用するか指定できます。
# 1枚目の GPU のみ使用
export ROCR_VISIBLE_DEVICES=0
# 1枚目と3枚目を使用
export ROCR_VISIBLE_DEVICES=0,2
性能比較
AMD 公式とコミュニティがいくつかのデータを測定しています。RX 7900 XTX(AMD フラッグシップ)で7Bモデルを動かすと約35-45 トークン/秒、RTX 4090(NVIDIA フラッグシップ)では50-70 トークン/秒です。差はありますが、価格差はさらに大きいです。7900 XTX は約40%安いです。
コストパフォーマンスの観点から、AMD ユーザーは ROCm を試す価値があります。
Apple Metal ゼロ設定体験
Mac ユーザーは最も恵まれています。Ollama の Apple Silicon サポートはゼロ設定です。Ollama をインストールして実行すれば、GPU アクセラレーションが自動的に有効になります。
どの Mac が使えるか
すべての Apple Silicon Mac がサポートされています。
- M1 / M1 Pro / M1 Max / M1 Ultra
- M2 / M2 Pro / M2 Max / M2 Ultra
- M3 / M3 Pro / M3 Max
- M4 シリーズ
Intel Mac は Metal アクセラレーションをサポートしておらず、CPU のみ使用可能です。ただし、Intel Mac もそろそろ引退時期でしょう。
自動検出メカニズム
Ollama は起動時に自動的に Metal を検出します。設定ファイル、環境変数、ドライバーインストールは一切不要です。Apple は Metal をシステムに深く統合しています。
確認してみましょう。
ollama run llama3.2
ollama ps
出力には GPU が表示されるはずです。例えば:
PROCESSOR: 100% GPU
CPU と表示される場合は、問題があります。ただ、正直なところ、Mac ではこの問題は稀です。
性能はどの程度か
M2 ベースモデルで7Bモデルを動かすと、約25-35 トークン/秒です。Pro/Max 版はさらに速く、GPU コアが多いためです。実測では M2 Max は約45 トークン/秒に達し、中程度の NVIDIA カードと同等です。
一つ注意点があります。Apple Silicon のメモリは統合アーキテクチャです。GPU と CPU がシステムメモリを共有しています。メリットは VRAM が制限されないこと、デメリットは大規模モデルを動かすと大量のメモリを消費することです。M2 8GB モデルで7Bモデルを動かすのはまだ大丈夫ですが、14B では厳しく、70B は諦めた方がいいでしょう。
よくある誤解
多くの人が Mac で Metal を設定する必要があると思っていますが、完全に不要です。Ollama の公式コードには Metal 検出ロジックが既に書き込まれており、インストール後に自動的に有効になります。
また、ROCm や CUDA をインストールする必要があるかと質問する人もいますが、Mac ではこれらは一切不要です。Metal は Apple 自社の技術で、システムに組み込まれています。
マルチ GPU と VRAM 管理
複数の GPU を持っている場合、または VRAM が十分でない場合、このセクションが重要になります。
レイヤー分散メカニズム
大規模モデルはすべて GPU 上で動作するわけではありません。モデルは多くの「レイヤー」に分割され、GPU が一部を実行し、残りは CPU が処理します。この比率は動的に計算されます。Ollama は利用可能な VRAM に基づいて、何レイヤーを GPU に配置するかを自動的に決定します。
例えば、7Bモデルは約80レイヤーあります。GPU に8GB の VRAM がある場合、60レイヤーが GPU に、20レイヤーが CPU に配置されるかもしれません。VRAM が不足する場合、より多くのレイヤーがシステムメモリに溢れます。
Pack と Spread モード
マルチ GPU 環境では2つの戦略があります。
- Pack モード(デフォルト):モデルをできるだけ1枚の GPU に詰め込み、収まらない部分を別の GPU に渡します。2枚の GPU の性能差が大きい場合に適しています。
- Spread モード:すべての GPU に均等に分散します。2枚の GPU の性能が近い場合に適しています。
Spread モードを有効にするには:
export OLLAMA_SCHED_SPREAD=1
正直なところ、ほとんどの人はデフォルトの Pack モードで問題ありません。Spread は主に VRAM 利用率で優位性がありますが、設定が複雑で、チューニングには経験が必要です。
VRAM が足りない場合はどうするか
大規模モデルを動かす最も頭の痛い問題が VRAM 不足です。いくつかの解決策があります。
1. 量子化モデルを使用する。Q4_K_M 量子化は、7Bモデルの VRAM 使用量を約14GB から4GB 前後に削減でき、性能低下は約5-10%です。非常にお得です。
# 量子化バージョンを取得
ollama pull llama3.2:7b-q4_K_M
2. コンテキスト長を短縮する。長い対話や大きなドキュメントは大量の VRAM を消費します。単純な質問応答なら、コンテキストを短くしても問題ありません。
3. マルチ GPU で分散。2枚の8GB カードを組み合わせると、1枚の16GB カードより使い勝手が良い場合があります。各カードに独自の計算ユニットがあるためです。
動的割り当てロジック
Ollama はこれらを自動的に管理するため、レイヤー数を手動で指定する必要はありません。ただし、強制的に調整したい場合は、モデルパラメータを変更できます(上級者向けで、通常は不要です)。
トラブルシューティングガイド
GPU アクセラレーションの設定では、常にいくつかの問題が発生します。ここでは、よくあるトラブルシューティングのアプローチをまとめています。
GPU が検出されない問題のチェックリスト
順番に確認してください。
-
ドライバーのインストールを確認
# NVIDIA nvidia-smi # AMD rocminfoエラーが表示される場合、まずドライバーをインストールしてください。
-
Ollama バージョンの確認
ollama --version古いバージョンは一部の GPU をサポートしていない可能性があります。更新してください。
# Linux/macOS curl -fsSL https://ollama.com/install.sh | sh # Windows # 公式サイトから最新のインストーラーをダウンロード -
CUDA/ROCm バージョンの確認
# NVIDIA CUDA バージョン nvcc --version # ROCm バージョン rocm-smiOllama は CUDA 12.3以上または ROCm 6.0以上を必要とします。バージョンが古い場合はアップグレードしてください。
-
サービスの再起動
# Linux sudo systemctl restart ollama # macOS/Windows # プロセスを終了して再起動一部の設定変更は、再起動しないと反映されません。
スリープ後の GPU 消失
Mac と Windows でこの問題が発生することがあります。コンピュータがスリープから復帰した後、GPU アクセラレーションが無効になります。
解決方法:
- Mac:Ollama サービスを再起動するか、コンピュータを再起動
- Windows:ドライバーが正常か確認し、必要に応じて再読み込み
- Linux:通常この問題はありませんが、時々 GPU を手動でウェイクアップする必要がある
コンテナ内での GPU 権限問題
Linux ユーザーが Docker 内で Ollama を実行すると、SELinux 権限の問題が発生することがあります。
解決方法:
# SELinux を一時的に無効化(長期的な使用は推奨されません)
sudo setenforce 0
# または、Docker GPU アクセスを正しく設定
docker run --gpus all --security-opt seccomp=unconfined ollama/ollama
その他のよくある問題
“out of memory” エラー:モデルが大きすぎて VRAM が不足しています。量子化バージョンを使用するか、より小さなモデルに切り替えてください。
推論速度が向上しない:ollama ps で GPU が表示されているか確認してください。CPU と表示される場合は、上記の問題をトラブルシューティングしてください。
AMD GPU が動作しない:まず ROCm が正しくインストールされているか確認してください。Windows ユーザーは Vulkan モードを試してください。
まとめ
これだけ説明しましたが、どう選べばいいでしょうか。
| お使いのハードウェア | 推奨方式 | 設定難易度 |
|---|---|---|
| NVIDIA GPU | CUDA 自動有効 | 低い、ドライバーをインストールすれば完了 |
| AMD GPU + Linux | ROCm | 中程度、手動インストールが必要 |
| AMD GPU + Windows | Vulkan | 低い、環境変数を設定 |
| Apple Silicon | Metal 自動有効 | 極めて低い、ゼロ設定 |
| Intel Mac または GPU なし | CPU のみ | 設定不要だが、非常に遅い |
簡単に言えば、NVIDIA ユーザーは最も楽で、Mac ユーザーは最も恵まれています。AMD ユーザーは Linux では良好ですが、Windows では回避策が必要です。GPU がない場合は…なんとか手に入れることをお勧めします。
GPU アクセラレーションはオプションの最適化ではなく、ローカルで LLM を動かすための基本条件です。正しく設定すれば、体験の差は質的な飛躍となります。
NVIDIA CUDA GPU アクセラレーション設定
NVIDIA グラフィックカードで Ollama GPU アクセラレーションを設定し、大規模モデルの高速推論を実現
⏱️ 目安時間: 10 分
- 1
ステップ1: グラフィックカードとドライバーの確認
`nvidia-smi` コマンドを実行して、グラフィックカード情報、ドライバーバージョン、CUDA バージョンを確認します。エラーが表示される場合、ドライバーがインストールされていないか、パスの設定に問題があります。 - 2
ステップ2: ドライバーのインストールまたは更新
NVIDIA 公式サイトから最新のドライバーをダウンロードします。Linux ユーザーは、ディストリビューションのデフォルトドライバーが古い可能性があるため注意してください。Windows は531以上、Linux は535以上のドライバーが必要です。 - 3
ステップ3: Ollama の起動とテスト
`ollama run llama3.2` を実行してモデルを起動し、その後 `ollama ps` を実行してプロセッサの状態を確認します。GPU の割合が表示されれば、アクセラレーションが有効です。 - 4
ステップ4: 問題のトラブルシューティング(必要に応じて)
CPU と表示される場合、CUDA Toolkit が不足している可能性を確認(Linux では nvidia-cuda-toolkit をインストール可能)、Docker ユーザーは --gpus all パラメーターを追加、または Ollama サービスを再起動してください。
FAQ
Ollama は AMD グラフィックカードに対応していますか?
GPU アクセラレーションが有効かどうかを確認するには?
VRAM が足りず大規模モデルを実行できない場合は?
Mac で Metal を設定する必要がありますか?
NVIDIA グラフィックカードの要件は?
6 min read · 公開日: 2026年5月16日 · 更新日: 2026年5月17日
Ollama ローカル LLM 実践ガイド
検索からこのページに来た場合は、前後の記事もあわせて読むと同じテーマの理解がかなり早く深まります。
関連記事
Ollama 入門:ローカルで大規模言語モデルを実行する第一歩
Ollama 入門:ローカルで大規模言語モデルを実行する第一歩
Ollama モデル管理完全ガイド:ダウンロード、切り替え、削除とバージョン管理
Ollama モデル管理完全ガイド:ダウンロード、切り替え、削除とバージョン管理
Ollama Modelfile パラメータ詳解:カスタムモデル作成の完全ガイド
コメント
GitHubアカウントでログインしてコメントできます