GPU環境の構築でこうした壁にぶつかるインフラエンジニアや自宅サーバー勢は、意外なほど多いものです。
この記事では、Ubuntu 24.04 LTSにNVIDIAドライバとCUDA Toolkitを導入し、OllamaのローカルLLMをGPU推論させるまでの手順を実機ベースで解説します。nvidia-smi認識・CUDAセットアップ・OllamaとのGPU連携確認まで、挫折しやすいポイントを正直に押さえます。Gemma 3やPhi-4をGPUで動かす実践例と、よくあるトラブルの対処法も含めます。「Failed to initialize NVML」のような具体的なエラーへの対処も解説します。
この記事のポイント
・nvidia-smi未認識の主因はドライバ未インストール。ubuntu-drivers autoinstallで解消できる
・CUDAはNVIDIA公式リポジトリ経由でインストールし、nvccコマンドで正常動作を確認する
・OllamaはCUDAが正しく入っていれば自動でGPU推論に切り替わる(設定変更は不要)
・CUDA ToolkitのバージョンがnvidiaドライバのCUDA対応上限を超えると「Failed to initialize NVML」が発生する
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
なぜGPUでローカルLLMを動かすのか|CPU推論との速度差
ローカルLLMをCPUだけで動かすことは、技術的には可能です。ただし、実際に使ってみると推論速度の遅さが作業効率を著しく損ないます。知人のインフラエンジニアが7Bパラメータのモデルをコアi7サーバーで動かしたところ、1トークン出力するのに3~5秒かかり「会話が成立する速度ではなかった」と話していました。GPUを使うと、この状況は一変します。VRAM 8GBのミドルレンジGPU(RTX 3060程度)でも、7Bクラスのモデルなら1トークンあたり50~80ミリ秒で推論できます。体感では「ほぼ即答」に近い応答速度です。30B~70Bの大型モデルを量子化して動かしても、CPU推論と比べて20倍以上の速度差が生まれます。
GPU推論を支えるのがNVIDIAのCUDA(Compute Unified Device Architecture)です。GPUの演算コアを並列に活用するための計算基盤であり、OllamaなどのLLMランタイムはCUDAを通じてGPUアクセラレーションを実現します。NVIDIAドライバとCUDA Toolkitが正しくインストールされていなければ、どれだけ高性能なGPUを搭載していても推論の恩恵は受けられません。
なお、動かせるモデルのサイズはVRAM容量と直結します。7Bパラメータのモデルは量子化後で約4~5GB、13Bモデルは約8GBのVRAMを必要とします。これがGPU選定でVRAMを最初に確認すべき理由です。
機密データを社内のローカル環境で処理したいという背景や、情シス担当が社内提案するための判断軸については、社内でChatGPTが使えないときの代替手段|機密データを守るローカルLLMという選択肢も参考にしてください。
GPU環境構築の前提確認|対応GPU・VRAMとUbuntuバージョン
手順を進める前に、環境の前提を整理します。本記事の手順はUbuntu 24.04 LTS(Noble Numbat)を対象にしています。Ubuntu 22.04 LTSでもほぼ同じ手順で対応できますが、パッケージ名やリポジトリのURLが一部異なる場合があります。1. Ubuntuのバージョンを確認する
以下のコマンドでOSバージョンを確認します。# Ubuntuバージョンの確認 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04.1 LTS Release: 24.04 Codename: noble
2. GPU型番とVRAMを確認する
NVIDIAのGPUが認識されているか、以下のコマンドで確認します。# PCIeデバイス一覧からNVIDIA GPUを抽出 $ lspci | grep -i nvidia 01:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060] (rev a1) 01:00.1 Audio device: NVIDIA Corporation GA106 High Definition Audio Controller (rev a1)
モデル選定においてVRAMが重要な理由は、動かせるモデルのパラメータサイズと直接対応するからです。参考として、よく使われるVRAM容量とモデルの関係をまとめます。
| VRAM容量 | 実用的なモデルの目安 | 具体例 |
|---|---|---|
| 8GB | 7B前後(量子化)まで | Gemma 3:4b(約3.3GB)・Gemma 3:12b(約8.1GB) |
| 12GB以上 | 10B前後まで | Phi-4(約9.1GB)・Gemma 3:12b |
| 16GB以上 | 27B前後(量子化) | Gemma 3:27b(約18GB)・量子化Llama3.3 |
NVIDIAドライバのインストール手順(Ubuntu 24.04)
NVIDIAドライバは、GPUとOSが通信するための基盤ソフトウェアです。Ubuntuには`ubuntu-drivers`コマンドが用意されており、推奨ドライバを自動判定してインストールできます。手動でバージョンを調べる必要はありません。1. ubuntu-drivers-commonをインストールする
# パッケージリストを更新してubuntu-driversをインストール $ sudo apt update $ sudo apt install -y ubuntu-drivers-common
2. 利用可能なドライバを確認する
# GPU対応ドライバ一覧を表示 $ ubuntu-drivers devices == /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 == modalias : pci:v000010DEd00002504sv... vendor : NVIDIA Corporation model : GA106 [GeForce RTX 3060] driver : nvidia-driver-550 - distro non-free recommended driver : nvidia-driver-535 - distro non-free driver : xserver-xorg-video-nouveau - distro free builtin
3. 推奨ドライバをインストールして再起動する
# 推奨ドライバを自動インストール $ sudo ubuntu-drivers autoinstall # インストール完了後に再起動する $ sudo reboot
4. nvidia-smiでドライバの動作を確認する
再起動後、nvidia-smiコマンドでドライバのインストールを確認します。# NVIDIAドライバとGPU状態を確認 $ nvidia-smi +-----------------------------------------------------------------------------+ | NVIDIA-SMI 550.54.15 Driver Version: 550.54.15 CUDA Version: 12.4 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 NVIDIA GeForce RTX 3060 On | 00000000:01:00.0 Off | N/A | | 30% 35C P8 10W / 170W | 300MiB / 12288MiB | 0% Default | +-----------------------------------------------------------------------------+
CUDA Toolkitのインストールと環境変数の設定
nvidia-smiでドライバの動作を確認したら、次はCUDA Toolkitを導入します。OllamaがGPUを使って推論するにはCUDA Toolkitが必要です。NVIDIA公式リポジトリを追加してからaptでインストールするのが最も確実な方法です。1. NVIDIAの公式リポジトリを追加する
# NVIDIAのCUDAキーリングパッケージをダウンロード(Ubuntu 24.04対応版) $ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb # キーリングをインストール $ sudo dpkg -i cuda-keyring_1.1-1_all.deb # パッケージリストを更新してNVIDIAリポジトリを反映 $ sudo apt update
2. CUDA Toolkitをインストールする
# CUDA Toolkit 12.4をインストール(nvidia-smiのCUDA Versionに合わせて指定) $ sudo apt -y install cuda-toolkit-12-4
バージョン指定の鉄則として、`cuda-toolkit-XX-X`の数字は前のステップでnvidia-smiに表示された`CUDA Version`(例:12.4)以下にする必要があります。上限を超えると次のエラーが発生します。
# CUDA Toolkitのバージョンがドライバ対応上限を超えた場合のエラー例 Failed to initialize NVML: Driver/library version mismatch
3. 環境変数を設定してnvccコマンドで確認する
CUDA Toolkitをインストールしても、PATHが通っていなければnvccコマンドが見つかりません。~/.bashrcに以下を追記します。# ~/.bashrcにCUDAのPATHを追記 $ echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc $ echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc $ source ~/.bashrc # nvccコマンドでCUDAバージョンを確認 $ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2024 NVIDIA Corporation Built on Thu_Sep_12_02:18:05_PDT_2024 Cuda compilation tools, release 12.4, V12.4.131 Build cuda_12.4.r12.4/compiler.34097967_0
OllamaがGPUを認識しているか確認する方法
NVIDIAドライバとCUDA Toolkitが正しくインストールされていれば、Ollamaは起動時に自動でGPUを検出します。Ollamaのインストール自体がまだの場合は、Ubuntu ServerでローカルLLMを構築する方法|Ollamaで機密データを外に出さず業務AIを動かす完全ガイドを先に参照してください。1. Ollamaサービスを再起動する
ドライバやCUDAのインストール後にOllamaがすでに起動していた場合、一度サービスを再起動することでGPU認識が有効になります。# Ollamaサービスを再起動 $ sudo systemctl restart ollama # サービスの状態を確認 $ sudo systemctl status ollama * ollama.service - Ollama Service Loaded: loaded (/etc/systemd/system/ollama.service; enabled; preset: enabled) Active: active (running) since Thu 2026-06-19 10:30:15 JST; 3s ago Main PID: 12345 (ollama)
2. モデル実行中にnvidia-smiでGPU使用率を確認する
別のターミナルを開き、モデルを実行している間にnvidia-smiを監視します。# ターミナル1:モデルを起動 $ ollama run gemma3:4b # ターミナル2:GPUの使用状況を1秒おきに確認 $ watch -n 1 nvidia-smi +-----------------------------------------------------------------------------+ | NVIDIA-SMI 550.54.15 Driver Version: 550.54.15 CUDA Version: 12.4 | |===============================+======================+======================| | 0 NVIDIA GeForce RTX 3060 On | 00000000:01:00.0 Off | N/A | | 45% 52C P2 75W / 170W | 3456MiB / 12288MiB | 89% Default | +-----------------------------------------------------------------------------+
3. ollama psでPROCESSOR列を確認する
# ロードされているモデルとPROCESSOR(GPU/CPU)を確認 $ ollama ps NAME ID SIZE PROCESSOR UNTIL gemma3:4b a72c7f4d3796 3.3 GB 100% GPU 4 minutes from now
Gemma 3・Phi-4をGPUで動かす実践例
GPU環境が整ったら、実際にモデルを動かしてみましょう。モデルはVRAM容量に合わせて選びます。VRAMが足りないモデルを指定すると、OllamaはCPUにフォールバックするかエラーになります。・VRAM 8GB:Gemma 3:4b(約3.3GB)、Gemma 3:12b(約8.1GB)が実用圏
・VRAM 12GB以上:Phi-4(約9.1GB)も安定稼働できる
・VRAM 16GB以上:Gemma 3:27b(約18GB)や量子化Llama3.3も視野に入る
Ollamaでのモデル取得と実行は以下のように行います。
# Gemma 3:4b を取得して実行(VRAM 8GB未満でも動作する軽量モデル) $ ollama run gemma3:4b pulling manifest pulling 3c5f6f8e... 100% ████████ 3.3 GB/3.3 GB verifying sha256 digest writing manifest success >>> Linuxサーバーのメモリ監視で使うコマンドを教えてください freeコマンドとvmstatコマンドが基本です。free -hで使用量を... (GPU推論のため応答が高速) # Phi-4 を取得して実行(VRAM 12GB以上推奨) $ ollama run phi4
GPU推論が有効な状態では、Gemma 3:4bで1トークン55~70ms程度の速度が出ます。CPU推論(同環境で1トークン3~5秒)と比べると、体感での差は歴然です。現場で使うアシスタントとして十分な応答速度になります。
「nvidia-smi: command not found」「GPUが使われない」エラーの対処法
GPU環境構築でつまずく原因は、ほぼパターン化されています。よくある4つのエラーパターンごとに対処法を整理します。「nvidia-smi: command not found」が出る場合
このエラーはNVIDIAドライバがインストールされていないか、インストールが不完全な場合に発生します。まずドライバの状態を確認します。# インストール済みNVIDIAドライバを確認 $ dpkg -l | grep nvidia-driver (何も表示されない場合 → ドライバ未インストール) # 再度インストールを実行 $ sudo ubuntu-drivers autoinstall $ sudo reboot
Ollamaが「100% CPU」で動いている場合
`ollama ps`のPROCESSOR列が`100% CPU`になっている場合、以下の順で確認します。・nvccが通るか確認:`nvcc --version`を実行してCUDA Toolkitが正常に入っているか確認する
・Ollamaを再起動:`sudo systemctl restart ollama`を実行してからモデルを再実行する
・Ollamaのログを確認:GPU認識失敗の原因をログから特定する
# Ollamaのサービスログを確認(直近50行) $ journalctl -u ollama -n 50 --no-pager # 「cuda」「GPU」「library load failed」等のキーワードを探す # 「msg="no nvidia devices found"」が出る場合はドライバ問題
「Failed to initialize NVML: Driver/library version mismatch」が出る場合
このエラーは、CUDA Toolkitのバージョンがnvidia-smiの`CUDA Version`(ドライバのサポート上限)を超えてインストールされた場合に発生します。まずCUDA Toolkitを削除し、正しいバージョンを再インストールします。# CUDA Toolkitをいったん削除する $ sudo apt-get remove --purge 'cuda-toolkit-*' $ sudo apt-get autoremove # nvidia-smiで正しいバージョンの上限を再確認する $ nvidia-smi | grep "CUDA Version" # 確認したバージョン以下で再インストールする(例:上限が12.4の場合) $ sudo apt-get install -y cuda-toolkit-12-4
ドライバとCUDA Toolkitのバージョン関係の早見表
NVIDIAドライバにはCUDA Toolkitのサポート上限があります。よく使われるドライバシリーズと対応CUDAバージョンの目安を示します。| NVIDIAドライバシリーズ | CUDA Toolkit 対応上限 | 推奨インストールバージョン |
|---|---|---|
| 535系(nvidia-driver-535) | CUDA 12.2まで | cuda-toolkit-12-2 |
| 550系(nvidia-driver-550) | CUDA 12.4まで | cuda-toolkit-12-4 |
| 560系(nvidia-driver-560) | CUDA 12.6まで | cuda-toolkit-12-6 |
PyTorchでGPUが認識されない(Falseが返る)場合
OllamaではなくPythonのPyTorchなどでGPUを使いたい場合、以下のコマンドでGPU認識を確認できます。# PyTorchのGPU認識を確認する $ python3 -c "import torch; print(torch.cuda.is_available())" False
# CUDA 12.4対応版PyTorchをインストールする $ pip install torch --index-url https://download.pytorch.org/whl/cu124 # 再確認 $ python3 -c "import torch; print(torch.cuda.is_available())" True
本記事のまとめ|GPU環境構築チェックリスト
Ubuntu ServerでローカルLLMをGPU推論させるには、ドライバ→CUDA Toolkit→Ollama再起動の順でセットアップし、各ステップを確認コマンドで検証するのが確実です。各項目の確認コマンドをまとめます。| 確認項目 | 確認コマンド | 期待する出力 |
|---|---|---|
| GPU認識 | lspci | grep -i nvidia |
NVIDIA GPU型番が表示される |
| ドライバ動作 | nvidia-smi |
Driver VersionとCUDA Versionが表示される |
| CUDA Toolkit | nvcc --version |
Cuda compilation tools, release X.X が表示される |
| OllamaのGPU使用 | ollama ps |
PROCESSOR列に「100% GPU」が表示される |
| 推論中のGPU使用率 | watch -n 1 nvidia-smi |
GPU-Utilが上昇し、VRAMに使用量が出る |
| PyTorchのGPU認識 | python3 -c "import torch; print(torch.cuda.is_available())" |
Trueが返る |
20年以上Linuxサーバーを現場で扱ってきた経験から言うと、GPU環境構築でつまずくインフラエンジニアの大半は「ドライバかCUDAのどちらかが抜けている、またはバージョンが合っていない」ケースです。nvidia-smiとnvccの両方が正常に動き、CUDA Toolkitのバージョンがドライバの対応上限以下であれば、Ollamaは特別な設定なしにGPUを使い始めます。
GPU環境が整ったら、次はモデルの使い分けです。Gemma 3・Mistral・Phi-4・Llama3.3のVRAM消費量や用途別の比較は、Gemma 3・Phi-4・Llama3.3・MistralをOllamaで実行するときのモデル選定ポイントで解説しています。
GPU環境が整った次は、Linuxサーバー構築を体系的に学んでみませんか?
nvidia-smiとnvccが正常に動けば、次はOllama・RAG構築・自動化スクリプトと学ぶことがどんどん広がります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
ローカルLLMのGPU環境を2日間で実装体験する
ドライバ・CUDAの設定を手順通りに進めても、環境によって動作が変わることがあります。実機GPU環境で手を動かしながら習得したい方向けに、「ローカルAIマスターセミナー」を開催しています。
少人数(最大8名)ZOOMハンズオン形式で実施しています。
<PR>手元に置いて学びを深める1冊
OllamaのGPUセットアップを一通り終えたら、次はRAG構築や実務活用まで踏み込みたい。日経ソフトウエア編集部が実機検証した知見をまとめた1冊で、まず無料メルマガで基礎を押さえ、手元に置いて深掘りするのがおすすめです。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら
- 次のページへ:Ollamaをインストールする方法|Ubuntu・WSL2・Docker別の導入手順とモデル取得まで
- 前のページへ:ローカルLLMのモデルを比較する方法|Llama3.3・Mistral・Gemma・Phi-4をUbuntuで使い分けるポイント
- この記事の属するカテゴリ:ローカルLLMへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。
登録無料・いつでも解除できます