😺

Ollama 導入手順書 - AMD AI Max 395+ (Strix Halo) on Debian 13.2

に公開

対象環境: AMD AI Max 395+ (Strix Halo) 搭載システム、Debian 13.2 (Trixie)
GPU アクセラレータ: Vulkan バックエンド
最終更新: 2025 年


目次

  1. 概要
  2. システム要件
  3. 事前準備
  4. GPU 環境のセットアップ
  5. Ollama のインストール
  6. systemd サービス設定
  7. モデルのダウンロードとテスト
  8. ファイアウォール設定(オプション)
  9. トラブルシューティング
  10. 付録: 設定ファイル完全版

概要

Ollama とは

Ollama は、大規模言語モデル(LLM)をローカル環境で簡単に実行できるツールです。オープンソースモデル(Llama 3、Gemma、Mistral など)をダウンロードして、プライバシーを保ちながら高性能な推論を実行できます。

AMD AI Max 395+ (Strix Halo) の特徴

  • 統合 GPU: Radeon 8060S iGPU(RDNA 3.5 アーキテクチャ)
  • PCI ID: 1002:1586
  • 推奨カーネル: Linux 6.15 以降(約 15%のパフォーマンス向上)
  • GPU アクセラレータ: Vulkan API 経由でのハードウェアアクセラレーション

Vulkan vs ROCm

  • Vulkan: Strix Halo 統合 GPU に最適化、軽量で高速
  • ROCm: 主に外部 GPU カード向け、Strix Halo には非推奨

システム要件

ハードウェア要件

項目 最小要件 推奨要件
ディスク空き容量 100GB 150GB
メモリ (RAM) 32GB 48GB 以上
GPU AMD AI Max 395+ -
カーネル 5.10 以上 6.15 以上

※ UEFI で VRAM を 16GB 以上割り当てていないと GPU100%/GTT メモリを利用しません。VRAM 8GB だと CPU/GPU を半々くらいで使います。1GB だと CPU100%です。

ソフトウェア要件

  • OS: Debian 13 (Trixie) / Ubuntu 22.04 以降
  • アーキテクチャ: x86_64
  • リポジトリ: non-free-firmware コンポーネント有効化

事前準備

1. システム情報の確認

# カーネルバージョン確認
uname -r
# 推奨: 6.12以降

# メモリ確認
free -h
# 推奨: 48GB以上

# ディスク容量確認
df -h /home
# 推奨: 150GB以上の空き容量
# ※ default のままにすると /var 以下が 150GB以上を推奨

2. GPU 検出の確認

# AMD Strix Halo GPUの検出
lspci -d 1002:1586

# 出力例:
# c1:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 1586 (rev c8)

GPU が検出されない場合、ハードウェアの接続を確認してください。

3. 必須パッケージのインストール

sudo apt update
sudo apt install -y \
    curl \
    gpg \
    lsb-release \
    ca-certificates \
    pciutils \
    mokutil \
    jq \
    coreutils

4. リポジトリ設定の確認

Debian 13 (Trixie) の場合

/etc/apt/sources.list または /etc/apt/sources.list.d/debian.sourcesnon-free-firmware コンポーネントが含まれているか確認します。

従来形式 (sources.list):

cat /etc/apt/sources.list

以下の形式で non-free-firmware が含まれていることを確認:

deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware

deb822 形式 (debian.sources):

cat /etc/apt/sources.list.d/debian.sources

以下のように non-free-firmwareComponents: に含まれていることを確認:

Types: deb
URIs: http://deb.debian.org/debian
Suites: trixie
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

含まれていない場合の追加方法:

# 従来形式の場合 (sources.list)
sudo nano /etc/apt/sources.list
# 以下を追加または編集:
# deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware

# deb822形式の場合 (debian.sources)
sudo nano /etc/apt/sources.list.d/debian.sources
# Components: 行に non-free-firmware を追加

# リポジトリ情報の更新
sudo apt update

5. firmware-amd-graphics パッケージの可用性確認

apt-cache policy firmware-amd-graphics

正常な出力例:

firmware-amd-graphics:
  Installed: (none)
  Candidate: 20250410-2
  Version table:
     20230625-2 500
        500 http://deb.debian.org/debian trixie/non-free-firmware amd64 Packages

Candidate:(none) でなければ OK です。


GPU 環境のセットアップ

1. AMD GPU ファームウェアのインストール

sudo apt install -y firmware-amd-graphics

このパッケージには AMD GPU 用のマイクロコード(ファームウェア)が含まれます。

2. Mesa Vulkan ドライバのインストール

sudo apt install -y \
    mesa-vulkan-drivers \
    libgl1-mesa-dri \
   libglx-mesa0

3. Vulkan 検証ツールのインストール

sudo apt install -y \
    vulkan-tools \
    vulkan-validationlayers

4. AMD GPU 監視ツールのインストール(オプション)

sudo apt install -y amd-smi radeontop

5. システム再起動(ファームウェア適用のため)

sudo reboot

6. 再起動後の確認

ファームウェア読み込み確認

dmesg | grep -i "amdgpu.*firmware" | tail -5

出力例:

[   10.123456] [drm] Loading DMCUB firmware via PSP: version=0x0101001F
[   10.234567] [drm] Loading VCN firmware via PSP: version=0x04000010
...

Vulkan ドライバ検出確認

vulkaninfo --summary | grep -E "deviceName|driverName"

出力例:

        deviceName         = AMD Radeon Graphics (RADV GFX1151)
        driverName         = radv

radv (Mesa RADV driver) が表示されれば成功です。

7. ユーザーグループへの追加

# 自分のユーザー名を確認
whoami

# renderグループに追加(YOUR_USERNAMEを実際のユーザー名に置き換え)
sudo usermod -aG render YOUR_USERNAME

# videoグループにも追加(念のため)
sudo usermod -aG video YOUR_USERNAME

# グループ反映のため、一度ログアウト→ログイン、または以下を実行:
newgrp render

Ollama のインストール

1. 公式インストールスクリプトの実行

# インストールスクリプトのダウンロードと実行
curl -fsSL https://ollama.com/install.sh | sudo bash

実行内容:

  • /usr/local/bin/ollama バイナリのインストール
  • /etc/systemd/system/ollama.service サービスファイルの作成
  • サービスの自動起動設定

2. インストール確認

# バイナリの確認
which ollama
# 出力: /usr/local/bin/ollama

# バージョン確認
ollama --version
# 出力例: ollama version is 0.13.0

# サービスファイルの確認
ls -l /etc/systemd/system/ollama.service

3. デフォルトサービスの起動確認

sudo systemctl status ollama

この時点ではまだ設定していないため、エラーになっても問題ありません。次のセクションで設定します。


systemd サービス設定

1. モデル保存ディレクトリの作成

# ホームディレクトリ配下にモデルディレクトリを作成(YOUR_USERNAMEを実際のユーザー名に置き換え)
mkdir -p /home/YOUR_USERNAME/ollama-models

# 所有権の設定
sudo chown YOUR_USERNAME:YOUR_USERNAME /home/YOUR_USERNAME/ollama-models
chmod 755 /home/YOUR_USERNAME/ollama-models

理由: /var/lib/ollama ではなく /home 配下に配置することで、ルートファイルシステムの容量圧迫を回避します。

2. systemd override ディレクトリの作成

sudo mkdir -p /etc/systemd/system/ollama.service.d

3. override.conf ファイルの作成

sudo nano /etc/systemd/system/ollama.service.d/override.conf

以下の内容を貼り付けます(YOUR_USERNAME を実際のユーザー名に置き換えてください):

# Ollama systemd service override configuration
# AMD Strix Halo + Vulkan GPU acceleration

[Service]
# Model storage directory
Environment="OLLAMA_MODELS=/home/YOUR_USERNAME/ollama-models"

# Network binding configuration
# 0.0.0.0:11434 = すべてのネットワークインターフェースでリスン
# ローカルのみの場合は 127.0.0.1:11434 に変更
Environment="OLLAMA_HOST=0.0.0.0:11434"

# GPU configuration - Vulkan acceleration (Strix Halo optimized)
Environment="OLLAMA_VULKAN=1"

# Restart policy
Restart=on-failure
RestartSec=5

# User and group
User=YOUR_USERNAME
Group=YOUR_USERNAME

重要な環境変数:

  • OLLAMA_MODELS: モデルの保存先ディレクトリ
  • OLLAMA_HOST: サービスのバインドアドレスとポート
  • 0.0.0.0:11434: ネットワーク経由でのアクセス許可
  • 127.0.0.1:11434: ローカルホストのみ許可
  • OLLAMA_VULKAN=1: Vulkan GPU アクセラレータを有効化(Strix Halo 必須
  • User/Group: Ollama サービスを実行するユーザー

4. systemd デーモンのリロード

sudo systemctl daemon-reload

5. Ollama サービスの起動と有効化

# サービス起動
sudo systemctl start ollama

# 自動起動有効化
sudo systemctl enable ollama

# ステータス確認
sudo systemctl status ollama

正常な出力例:

● ollama.service - Ollama Service
     Loaded: loaded (/etc/systemd/system/ollama.service; enabled; preset: enabled)
    Drop-In: /etc/systemd/system/ollama.service.d
             └─override.conf
     Active: active (running) since Mon 2025-01-20 10:00:00 JST; 5s ago
   Main PID: 12345 (ollama)
      Tasks: 10 (limit: 38400)
     Memory: 256.0M
        CPU: 1.234s

6. API 応答の確認

# バージョンAPIのテスト
curl http://localhost:11434/api/version

# 出力例:
# {"version":"0.13.0"}

モデルのダウンロードとテスト

1. モデルのダウンロード

小型モデルから試すことをおすすめします。

小型モデル(テスト用)

# 1B モデル(約1GB、テスト用)
ollama pull llama3.2:1b

中型モデル

# 7B モデル(約4GB)
ollama pull llama3.2:7b

# Gemma 9B モデル(約5GB)
ollama pull gemma2:9b

大型モデル(メモリ 32GB 以上推奨)

# 20B モデル(約12GB)
ollama pull gpt-oss:20b

# 27B モデル(約16GB)
ollama pull gemma3:27b

ダウンロード中の出力例:

pulling manifest
pulling 8eeb52dfb3bb... 100% ▕██████████████████████▏ 1.5 GB
pulling 73b313b5552d... 100% ▕██████████████████████▏  11 KB
pulling 0ba8f0e314b4... 100% ▕██████████████████████▏  12 KB
pulling 56bb8bd477a5... 100% ▕██████████████████████▏  96 B
pulling 1a4c3c319823... 100% ▕██████████████████████▏ 485 B
verifying sha256 digest
writing manifest
success

2. インストール済みモデルの確認

ollama list

出力例:

NAME                    ID              SIZE      MODIFIED
llama3.2:1b            abc123def456    1.3 GB    2 minutes ago
gemma3:27b             def789ghi012    16 GB     5 minutes ago

3. モデルのテスト実行

# 対話モードでテスト
ollama run llama3.2:1b

# プロンプト入力例:
>>> Hello, how are you?
I'm doing well, thank you for asking! How can I assist you today?

# 終了するには /bye を入力
>>> /bye

ワンショット推論(スクリプト用)

ollama run llama3.2:1b "Tell me a joke about programming."

4. GPU 利用の確認(オプション)

Vulkan GPU が使われているかを確認します。

# 推論実行中に別ターミナルで実行
sudo dmesg | grep -i amdgpu | tail -10

# または、amd-smi や radeontop でGPU使用率を確認
amd-smi
radeontop

ファイアウォール設定(オプション)

ネットワーク経由で Ollama にアクセスする場合、UFW でポート 11434 を開放します。

1. UFW のインストール(未インストールの場合)

sudo apt install -y ufw

2. 特定ネットワークからのアクセス許可

# 192.168.0.0/24 ネットワークからのアクセスを許可
sudo ufw allow from 192.168.0.0/24 to any port 11434 proto tcp comment 'Ollama LLM Service'

# UFW有効化
sudo ufw enable

# ルール確認
sudo ufw status verbose

出力例:

Status: active

To                         Action      From
--                         ------      ----
11434/tcp                  ALLOW       192.168.0.0/24             # Ollama LLM Service

3. すべてのネットワークからのアクセス許可(非推奨)

# 全IPアドレスからのアクセスを許可(セキュリティリスク大)
sudo ufw allow 11434/tcp comment 'Ollama LLM Service'

セキュリティ警告: 本番環境では必ず特定ネットワークのみに制限してください。

4. リモートからのアクセステスト

別のマシンから以下を実行:

# サーバーのIPアドレスを 192.168.0.1 と仮定
curl http://192.168.0.1:11434/api/version

# 出力: {"version":"0.13.0"}

トラブルシューティング

問題 1: GPU が認識されない

確認方法

lspci -d 1002:1586

出力がない場合、ハードウェアの接続を確認してください。


問題 2: Vulkan ドライバが検出されない

確認方法

vulkaninfo --summary

対処法

# Mesa Vulkan ドライバの再インストール
sudo apt install --reinstall mesa-vulkan-drivers

# ファームウェアの再インストール
sudo apt install --reinstall firmware-amd-graphics

# 再起動
sudo reboot

問題 3: Ollama サービスが起動しない

ログ確認

sudo journalctl -u ollama.service -n 50 --no-pager

よくあるエラーと対処法

エラー: Error: model not found

→ モデルをダウンロードしてください。

ollama pull llama3.2:1b

エラー: bind: address already in use

→ ポート 11434 が既に使用中です。

# ポートを使用しているプロセス確認
sudo lsof -i :11434
# または
sudo ss -lntu

# 必要に応じてプロセスを停止
sudo kill <PID>

# サービス再起動
sudo systemctl restart ollama

エラー: permission denied

→ ユーザー権限を確認してください。

# override.conf のUser/Group設定を確認
sudo cat /etc/systemd/system/ollama.service.d/override.conf

# モデルディレクトリの所有権確認
ls -ld /home/YOUR_USERNAME/ollama-models

問題 4: メモリ不足エラー

症状

Error: failed to allocate memory

対処法

  1. より小型のモデルを使用
# 27Bモデル → 7Bモデルに変更
ollama pull llama3.2:7b
ollama run llama3.2:7b
  1. スワップ領域の拡張
# スワップ確認
free -h

# スワップファイル作成(16GB)
sudo fallocate -l 16G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# 永続化
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

問題 5: GPU アクセラレータが動作していない

確認方法

# 環境変数の確認
sudo systemctl show ollama.service | grep Environment

# OLLAMA_VULKAN=1 が含まれていることを確認

対処法

# override.conf を再確認
sudo nano /etc/systemd/system/ollama.service.d/override.conf

# OLLAMA_VULKAN=1 の行があることを確認
# なければ追加:
# Environment="OLLAMA_VULKAN=1"

# 設定反映
sudo systemctl daemon-reload
sudo systemctl restart ollama

問題 6: ネットワーク経由でアクセスできない

確認手順

  1. サービスのバインド設定確認
sudo systemctl show ollama.service | grep OLLAMA_HOST

# 出力: Environment=OLLAMA_HOST=0.0.0.0:11434

127.0.0.1 になっている場合は 0.0.0.0 に変更します。

  1. ファイアウォールルール確認
sudo ufw status verbose | grep 11434

ルールがない場合は追加します。

sudo ufw allow from 192.168.0.0/24 to any port 11434 proto tcp
  1. サービス再起動
sudo systemctl restart ollama
  1. ポートリスン確認
sudo ss -tlnp | grep 11434

# 出力例:
# LISTEN 0   4096   0.0.0.0:11434   0.0.0.0:*   users:(("ollama",pid=12345,fd=3))

付録: 設定ファイル完全版

/etc/systemd/system/ollama.service.d/override.conf

# Ollama systemd service override configuration
# Managed manually - Edit with care
# AMD Strix Halo (AI Max 395+) + Vulkan GPU acceleration

[Service]
# ===============================
# Model Storage Configuration
# ===============================
# Models directory (default: /var/lib/ollama/models)
# Using /home to avoid rootfs disk pressure
Environment="OLLAMA_MODELS=/home/YOUR_USERNAME/ollama-models"

# ===============================
# Network Configuration
# ===============================
# Network binding (default: 127.0.0.1:11434)
# 0.0.0.0 = Listen on all interfaces (requires firewall protection)
# 127.0.0.1 = Localhost only (most secure)
Environment="OLLAMA_HOST=0.0.0.0:11434"

# ===============================
# GPU Configuration
# ===============================
# Vulkan GPU acceleration (Strix Halo optimized)
# REQUIRED for AMD AI Max 395+ (PCI ID 1002:1586)
Environment="OLLAMA_VULKAN=1"

# Debug mode (optional, for troubleshooting only)
# Environment="OLLAMA_DEBUG=1"

# ===============================
# Resource Limits (Optional)
# ===============================
# Uncomment to enable memory/CPU limits
# MemoryLimit=48G
# CPUQuota=200%

# ===============================
# Restart Policy
# ===============================
Restart=on-failure
RestartSec=5

# ===============================
# User and Group
# ===============================
User=YOUR_USERNAME
Group=YOUR_USERNAME

環境変数の詳細説明

変数名 デフォルト値 説明
OLLAMA_MODELS /var/lib/ollama/models モデル保存先ディレクトリ
OLLAMA_HOST 127.0.0.1:11434 バインドアドレスとポート
OLLAMA_VULKAN 0 (無効) Vulkan GPU アクセラレータ(1 で有効化)
OLLAMA_DEBUG 0 (無効) デバッグログ出力(1 で有効化)
OLLAMA_GPU (自動検出) GPU 種別のメタデータタグ(診断用)

まとめ

この手順書では、AMD AI Max 395+ (Strix Halo) を搭載した Debian 13.2 システムに、Vulkan GPU アクセラレータを有効にした Ollama をインストールする方法を説明しました。

重要なポイント

  1. Vulkan バックエンド: Strix Halo 統合 GPU には必須
  2. ファームウェア: firmware-amd-graphics パッケージのインストール
  3. サービス設定: OLLAMA_VULKAN=1 環境変数の設定
  4. モデル配置: /home 配下でディスク容量を確保
  5. ファイアウォール: ネットワークアクセス時は適切な制限を設定

次のステップ

  • モデルの探索: Ollama Model Library で利用可能なモデルを確認
  • API 統合: REST API 経由でアプリケーションと連携
  • パフォーマンス最適化: カーネル 6.15 以降への更新で約 15%の性能向上

ドキュメント作成日: 2025 年
対象バージョン: Ollama 0.1.x、Debian 13.2 (Trixie)
ハードウェア: AMD AI Max 395+ (Strix Halo、PCI ID 1002:1586)

Discussion