AMD GPU

概要

AMD GPUは、ROCm(Radeon Open Compute)プラットフォームを通じてローカルLLM運用をサポートするGPUです。NVIDIA GPUの代替選択肢として、大容量VRAMと競争力のある価格で注目を集めています。

特にRadeon RXシリーズやInstinct MIシリーズで、コストパフォーマンスに優れたAI推論環境を構築できます。ローカルLLM用途では「同じ予算でどれだけ大きなVRAMを確保できるか」が実用上の分岐点になりやすく、AMD GPUはこの点でNVIDIA GPUに対する現実的な選択肢になり得ます。

一方で、CUDAを前提に作られたAIツールが多いエコシステムの中では、AMD GPUの利用にはROCmの対応状況を事前に確認する手間がともないます。本ページでは、仕組みの解説から具体的なVRAM要件・量子化との関係・主要ツールの対応状況まで、導入判断に必要な情報を整理します。

仕組み・詳細解説

ROCmとHIPの仕組み

ROCmはAMDが提供するオープンソースのGPGPU(汎用GPU計算)向けソフトウェアスタックです。中核となるのがHIP(Heterogeneous-compute Interface for Portability)というC++ベースのAPIで、CUDAコードと非常に近い記法を採用しています。既存のCUDAカーネルの多くは、AMDが提供する変換ツール(HIPify)を使うことで、機械的にHIPコードへ書き換えることができます。この仕組みにより、PyTorchのようなフレームワークは「CUDAバックエンド」と「ROCmバックエンド」をほぼ同じAPI(torch.cuda系の関数)で扱えるようになっています。ただし変換後も、カーネルの最適化度合いやライブラリの対応範囲はCUDAエコシステムほど成熟していない領域があり、これが後述する速度差の一因になっています。

GPUアーキテクチャの違い:RDNAとCDNA

AMDのGPUは用途に応じて2系統のアーキテクチャに分かれています。Radeon RXシリーズなどコンシューマー向けはRDNAアーキテクチャ(RX 7000シリーズはRDNA 3)を採用し、ゲーミング性能と汎用性を重視した設計です。一方、Instinct MIシリーズなどデータセンター向けはCDNAアーキテクチャを採用し、行列演算(AI推論・学習)に特化した設計になっています。ROCmはこの両系統をサポートしますが、公式のサポート対象GPUリストはCDNA系(Instinct MIシリーズ)がもっとも手厚く、RDNA系(Radeon RXシリーズ)は世代・型番によってサポート状況にばらつきがある点に注意が必要です。ローカルLLM用途で個人が使うのは主にRDNA系のRadeon RXシリーズになります。

VRAMと量子化(GGUF・4bit)の関係

ローカルLLMを動かす際、モデルの重み(パラメータ)をそのままFP16(16bit浮動小数点)で読み込むと、パラメータ数×2バイト程度のVRAMが必要になります。例えば70億パラメータ(7B)のモデルはFP16でおよそ14GB前後のVRAMを要します。これに対して量子化(Quantization)は、各パラメータを4bitや8bitなど少ないビット数で近似的に表現する技術で、代表的なフォーマットがGGUF(llama.cpp系で使われる量子化モデル形式)です。4bit量子化(Q4_K_M等)を使うと、必要VRAMはおおむねFP16の1/3〜1/4程度まで圧縮でき、7Bモデルなら4〜5GB程度、13Bモデルなら8〜9GB程度が目安になります。AMD GPUはRTX系よりVRAM単価(GB当たりの価格)が有利な傾向があるため、「量子化した中〜大型モデルを、より大きなVRAMバッファに余裕を持たせて動かす」という使い方と相性が良いといえます。

メモリ帯域幅と推論速度の関係

LLMのトークン生成(デコード)処理は、GPUの演算性能そのものよりも「メモリ帯域幅」(VRAMからGPUコアへどれだけ速くデータを転送できるか)に律速されることが多い処理です。これはLLM推論が1トークンごとに全パラメータを読み出す必要があるためです。したがって、同じVRAM容量でもメモリ帯域幅が高いGPUほど、tokens/秒の値が伸びやすくなります。Instinct MI300XやMI250XがHBM3・HBM2eという高帯域メモリを採用しているのはこのためで、データセンター用途では帯域幅がボトルネック解消の鍵になります。コンシューマー向けのRadeon RXシリーズはGDDR6を採用しており、HBM系ほどの帯域幅はありませんが、それでも一般的なCPU推論と比較すれば圧倒的に高速です。

主要AMD GPU製品

Radeon RXシリーズ(コンシューマー)

  • RX 7900 XTX: 24GB GDDR6、最高性能
  • RX 7900 XT: 20GB GDDR6、ハイエンド
  • RX 6900 XT: 16GB GDDR6、前世代フラッグシップ
  • RX 6800 XT: 16GB GDDR6、ミドルハイ

Instinct MIシリーズ(データセンター)

  • MI300X: 192GB HBM3、最新世代
  • MI250X: 128GB HBM2e、2GPU統合
  • MI210: 64GB HBM2e、CDNA2アーキテクチャ
  • MI100: 32GB HBM2、CDNA初代

ROCm プラットフォーム

ROCmの特徴

  • オープンソース: MIT/Apache 2.0ライセンス
  • CUDA互換: HIPによるCUDAコード移植
  • PyTorch対応: 公式PyTorchでROCm版提供
  • Linux中心: Ubuntu、RHEL等でサポート

公式サポート対象GPUの考え方

ROCmはすべてのAMD GPUを公式サポートしているわけではありません。AMDが公開しているサポートマトリクスでは、Instinct MIシリーズ(データセンター向け)が最優先でサポートされ、コンシューマー向けのRadeon RXシリーズはRX 7900 XTX・RX 7900 XT・RX 7900 GREなど一部のハイエンド〜ミドルハイモデルに限定されがちです。RX 6000シリーズ以前の一部モデルや廉価モデルは非公式対応(コミュニティによる動作報告はあるが公式サポート外)となる場合があるため、導入前にAMDの公式ドキュメントで自分のGPU型番が対応リストに含まれているかを確認することを推奨します。非公式対応のGPUでも、後述のHSA_OVERRIDE_GFX_VERSION環境変数で近い世代のアーキテクチャとして偽装することで動作するケースがありますが、これは自己責任での利用になります。

インストール例

# Ubuntu 22.04でのROCmインストール
wget https://repo.radeon.com/amdgpu-install/latest/ubuntu/jammy/amdgpu-install_latest.deb
sudo dpkg -i amdgpu-install_latest.deb
sudo apt update
sudo apt install amdgpu-dkms rocm

# PyTorch ROCm版のインストール
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.6

ローカルLLMでの性能

VRAM要件とモデルサイズの対応目安

下表は、量子化レベル別にモデルサイズとVRAM必要量の目安をまとめたものです。実際の必要量はコンテキスト長(会話履歴の長さ)やKVキャッシュの設定によっても変動するため、あくまで目安として見てください。

モデルサイズ FP16(無圧縮) 8bit量子化 4bit量子化(GGUF Q4系) 相性の良いAMD GPU
7B 約14GB 約7-8GB 約4-5GB RX 6800 XT(16GB)でも余裕あり
13B 約26GB 約13-14GB 約8-9GB RX 6900 XT(16GB)以上
34B 約68GB 約34-36GB 約20-22GB RX 7900 XTX(24GB)でギリギリ収まる
70B 約140GB 約70-72GB 約38-42GB 単一GPUでは不可、MI210/MI250Xクラス、または複数枚構成

この表からわかる実務上のポイントは、「7B〜13Bクラスの4bit量子化モデルであれば、16GB VRAMのミドルレンジRadeon(RX 6800 XT等)でも十分に動く」という点です。一方、34B級を余裕をもって扱うにはRX 7900 XTXの24GB VRAMがほぼ必須ラインになり、70B級の本格運用にはInstinct MIシリーズのような大容量HBMメモリを積んだGPU、あるいは複数GPUでのモデル分割が現実的な選択肢になります。

RX 7900 XTXでの実用例(tokens/秒の目安)

  • VRAM: 24GB(RTX 4090と同等)
  • 価格: RTX 4090の約60-70%
  • Llama 2 7B(4bit): 約30-45 tokens/秒
  • Llama 2 13B(4bit): 約20-30 tokens/秒
  • Code Llama 34B(4bit): 約8-15 tokens/秒

上記はllama.cpp(ROCm/HIPBLASビルド)経由での参考値です。バッチサイズ1・短めのプロンプトを前提とした目安であり、コンテキスト長が伸びる、あるいは同時に複数リクエストを処理するケースでは数値は下がります。

パフォーマンス比較(相対値の目安)

  • RTX 4090: 100%(基準)
  • RX 7900 XTX: 約60-75%
  • RTX 3090: 約55-70%
  • RX 6900 XT: 約45-60%

相対値の差は、主にCUDA向けに最適化されたカーネル(cuBLAS、Flash Attention実装等)の成熟度の違いから生じており、GPU自体の生の演算性能差だけが原因ではありません。ROCmのバージョンアップやllama.cppのHIPBLAS最適化が進むにつれて、この差は徐々に縮小傾向にあります。

Ollama・LM Studio・llama.cppの対応状況

ツール AMD GPU対応 備考
Ollama 対応(ROCm経由) LinuxおよびWindowsでROCmを利用したAMD GPUアクセラレーションに対応。対応GPUリストは公式ドキュメントで随時更新される。
LM Studio 対応(Vulkan/ROCmバックエンド) GUIから推論エンジンのバックエンドを選択でき、Vulkanバックエンドを使うと幅広いAMD GPUで動作しやすい。ROCmバックエンドはより高速だが対応GPUが限定的。
llama.cpp 対応(HIPBLASビルド) 最も柔軟性が高く、HIPBLASオプション付きでビルドすればROCm対応GPUで動作。Vulkanバックエンドを使えば非公式対応GPUでも動く場合がある。
vLLM 対応(Instinct MIシリーズ中心) 高スループットな推論サーバー用途。主にデータセンター向けInstinct MIシリーズでの利用を想定した公式サポートが中心。

実務上は、まずOllamaかLM StudioでVulkanバックエンドを試し、動作が不安定・遅い場合にROCm版へ切り替える、という順序で検証すると失敗が少ない傾向があります。特にLM StudioはGUIでバックエンドを切り替えられるため、環境構築のハードルが比較的低い選択肢です。

対応フレームワーク

PyTorch(ROCm版)

# AMD GPU(ROCm)での使用例
import torch

# ROCm利用可能性確認
print(f"ROCm available: {torch.cuda.is_available()}")
print(f"GPU count: {torch.cuda.device_count()}")

# デバイス設定
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model = model.to(device)

# Transformersライブラリとの組み合わせ
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
    "microsoft/DialoGPT-large",
    torch_dtype=torch.float16,
    device_map="auto"
)

llama.cpp(ROCm対応)

# llama.cppのROCm版コンパイル
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make LLAMA_HIPBLAS=1

# AMD GPUでの実行(GGUF形式の4bit量子化モデルを使用)
./main -m models/llama-2-7b-chat.q4_0.gguf \
       -p "User: Hello!" \
       -ngl 35  # GPU層数指定

Ollama(AMD GPU対応)

OllamaはLinux版・Windows版ともにROCmを利用したAMD GPUアクセラレーションに対応しています。内部的にはROCm対応のllama.cppベースのランタイムを使っており、対応GPUであれば追加設定なしでGPUを自動認識します。

# Ollamaのインストール(Linux)
curl -fsSL https://ollama.com/install.sh | sh

# GPU認識状況の確認
ollama run llama3:8b
# 別ターミナルで rocm-smi を実行しGPU使用率が上がっていれば認識成功

# 非公式対応GPUで動かす場合のオーバーライド例
export HSA_OVERRIDE_GFX_VERSION=10.3.0
ollama serve

LM Studio(GUIベースのローカルLLM環境)

LM StudioはGUIでGGUFモデルのダウンロード・実行・チャットが完結するデスクトップアプリです。設定画面から推論バックエンドを「Vulkan」「ROCm」等から選択でき、AMD GPUでもコマンドライン操作なしにGPUアクセラレーションを試せる点が特徴です。まずVulkanバックエンドで動作確認し、速度が不足する場合にROCm対応GPUであればROCmバックエンドへ切り替える、という使い分けが実用的です。

NVIDIA GPU との比較

AMD GPU の優位性

  • 価格競争力: 同性能帯で20-40%安価
  • VRAM容量: RX 7900 XTXで24GB
  • オープンソース: ROCmの透明性
  • メモリ帯域: 高帯域幅メモリ採用

NVIDIA GPU の優位性

  • フレームワーク対応: より幅広く安定
  • 最適化レベル: cuDNN、TensorRTによる高速化
  • エコシステム: ツール・ライブラリの充実
  • AI専用機能: Tensor Coresの高速化

RX 7900 XTX と RTX 4090 の比較表

項目 RX 7900 XTX RTX 4090
VRAM 24GB GDDR6 24GB GDDR6X
実売価格帯の目安 RTX 4090比で約60-70%程度 基準(100%)
LLM推論速度(llama.cpp目安) 約60-75%(RTX 4090比) 基準(100%)
対応ソフトウェア範囲 ROCm対応ツールに限定されがち CUDA対応の大半のAIツールで動作
セットアップの手間 やや高い(ROCmバージョン相性に注意) 低い(ドライバ+CUDA Toolkitで概ね完結)

VRAM容量が同じ24GBである以上、「動かせるモデルサイズの上限」自体はほぼ同じです。差が出るのは主に推論速度とソフトウェア対応範囲であり、価格差を踏まえたコストパフォーマンスの評価は用途によって変わります。

セットアップと最適化

環境構築のポイント

  • Linux推奨: Ubuntu 22.04 LTS、RHEL 9等
  • カーネル対応: 適切なAMDGPUドライバインストール
  • ROCm版パッケージ: PyTorch、TensorFlow ROCm版使用
  • メモリ設定: 適切なGPUメモリ割り当て

パフォーマンス最適化

# ROCm最適化設定
export HSA_OVERRIDE_GFX_VERSION=10.3.0  # 互換性向上
export ROCM_PATH=/opt/rocm
export HIP_VISIBLE_DEVICES=0  # 使用GPU指定

# メモリ使用量監視
rocm-smi  # GPU状態確認
watch -n 1 rocm-smi  # リアルタイム監視

制限事項と課題

技術的制約

  • フレームワーク対応: NVIDIAより限定的
  • 最適化レベル: CUDA比で劣る場合あり
  • Windows対応: ROCm未対応(WSL使用)
  • 学習サポート: 推論中心、学習は限定的

推奨・非推奨用途

  • 推奨: コスト重視、推論中心、Linux環境
  • 非推奨: 商用・ミッションクリティカル、Windows、学習メイン

実用的な選択指針

AMD GPU 推奨ケース

  • 予算制約: コストパフォーマンス重視
  • 研究・学習: 個人利用、実験用途
  • Linux環境: サーバー・開発環境
  • 大容量VRAM: 24GBクラスを安価に

NVIDIA GPU 推奨ケース

  • 商用運用: 安定性・サポート重視
  • 最高性能: パフォーマンス最優先
  • Windows環境: デスクトップ利用
  • フレームワーク多様性: 幅広いライブラリ使用

2025-2026年の最新動向

RX 8000シリーズ(RDNA 4世代)の投入が進み、コンシューマー向けAMD GPUのAI推論性能向上とROCm対応範囲の拡大が期待されています。世代が進むごとにROCmの公式サポート対象GPUリストも更新されるため、新しい型番を検討する際は導入前に最新のサポートマトリクスを確認することが重要です。

ROCm 6.x系の安定化により、AMD GPUでのLLM推論の信頼性・対応フレームワーク範囲は継続的に改善が進んでいます。特にOllama・LM Studioのような一般ユーザー向けツール側でのAMD GPU対応が拡充されてきたことで、以前よりコマンドライン操作を最小限にした導入がしやすくなっています。

Instinct MI300X/MI325Xクラスのデータセンター向けGPUは大容量HBMメモリを武器に、大規模モデルの推論・ファインチューニング用途でNVIDIA H100/H200系との比較対象として言及される機会が増えています。ただし個人・中小規模のローカルLLM用途では、依然としてコンシューマー向けRadeon RXシリーズが現実的な選択肢の中心です。

よくある質問(FAQ)

Q. AMD GPUでLLMは動く?

ROCm対応GPU(RX 7900 XTX等)でllama.cpp、Ollama、LM Studio等が動作します。24GB VRAMで価格はRTX 4090の約6-7割程度です。

Q. 注意点は?

ROCm対応GPU限定、CUDA比でソフトウェア互換性が低い点に注意です。導入前にGPU型番が公式サポート対象かを確認することを推奨します。

Q. RTX 4090との比較は?

VRAMは同じ24GB。RTX 4090は推論速度が20-40%程度高速ですが、RX 7900 XTXは約6-7割の価格でコスパに優れます。

Q. どれくらいのVRAMがあれば7Bモデルを動かせる?

4bit量子化(GGUF Q4系)であれば7Bモデルはおよそ4-5GB程度のVRAMで動作します。16GB VRAMのRX 6800 XTクラスでも余裕を持って動かせます。

Q. OllamaやLM StudioはAMD GPUに対応している?

Ollamaはリナックス・Windowsの双方でROCm経由のAMD GPUアクセラレーションに対応しています。LM StudioはVulkan・ROCmの複数バックエンドから選択でき、まずVulkanで動作確認してからROCmへ切り替える方法が実用的です。

関連用語

外部リンク