3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Gemma4 31B をROCm 7.2.1で動かしてみた - マルチモーダルテスト追加

3
Last updated at Posted at 2026-04-04

Gemma 4 31B on ROCm (AMD Radeon 8060S)

概要

Google製オープンソースLLM「Gemma 4 31B」をAMD GPU(ROCm)で動作させた記録。

  • モデル: unsloth/gemma-4-31B-it-GGUF (Q4_K_M, 18.3GB)
  • ハードウェア: AMD Ryzen AI MAX+ 395 / Radeon 8060S (gfx1151)
  • 推論エンジン: llama.cpp (ROCmビルド)
  • 動作確認日: 2026-04-04

環境

項目 内容
OS Ubuntu 24.04.4 LTS
GPU AMD Radeon 8060S (gfx1151)
VRAM 32GB (ROCm認識値)
ROCm 7.2.1 (/opt/rocm)
llama.cpp b8661 (b7ad48ebd)

ダウンロード

mkdir -p ~/gemma4 && cd ~/gemma4
wget -c "https://huggingface.co/unsloth/gemma-4-31B-it-GGUF/resolve/main/gemma-4-31B-it-Q4_K_M.gguf"

llama.cpp ビルド(ROCm対応)

cd ~/llama.cpp
git pull
cmake -B build \
  -DGGML_HIP=ON \
  -DAMDGPU_TARGETS=gfx1151 \
  -DCMAKE_PREFIX_PATH=/opt/rocm \
  -DCMAKE_HIP_COMPILER=/opt/rocm/lib/llvm/bin/clang++ \
  -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release -j$(nproc)

実行

cd ~/gemma4
HSA_OVERRIDE_GFX_VERSION=11.5.1 \
  ~/llama.cpp/build/bin/llama-cli \
    --model gemma-4-31B-it-Q4_K_M.gguf \
    --gpu-layers 999 \
    --ctx-size 4096 \
    -p "ここにプロンプトを入力" \
    -n 256

パラメータ説明

パラメータ 説明
HSA_OVERRIDE_GFX_VERSION 11.5.1 gfx1151向けROCm互換設定
--gpu-layers 999 全層をGPUにオフロード
--ctx-size 4096 コンテキスト長(VRAM 32GBの場合の上限目安)

ベンチマーク結果

指標 速度
Prompt処理 62.5 t/s
トークン生成 10.7 t/s

注意事項

  • ROCm認識VRAMは32GB(BIOSのUMAフレームバッファ設定に依存)
  • --ctx-size を大きくするとKVキャッシュがVRAMを超えてOOMになる場合あり
  • Gemma 4はllama.cpp b8661以降が必要(それ以前は unknown model architecture: 'gemma4' エラー)

追記4/5

Gemma 4 31B — ms-vlmeval テスト結果まとめ

実行環境

項目 詳細
モデル gemma-4-31B-it-Q4_K_M.gguf
量子化 Q4_K_M(約18 GB)
GPU AMD Radeon Graphics gfx1151(RYZEN AI MAX+ 395、48 GB VRAM)
ランタイム llama.cpp llama-server + ROCm/HIP
オフロード層数 61 / 61(全層GPUオフロード)
コンテキストサイズ 8192 トークン(モデルは最大262144まで対応)
API OpenAI互換 http://127.0.0.1:8080/v1
クライアント openai Pythonパッケージ(ms-vlmeval の OpenAIWrapper 相当)

OpenAI API方式を採用した理由

ms-vlmeval 0.0.19 は transformers 5.5.0 との間にインポートエラーが存在する
AutoModelForVision2Seq が削除または名称変更されたため)。
transformers をダウングレードする代わりに、llama-server の OpenAI互換エンドポイント経由でモデルを提供し、
openai Pythonパッケージで呼び出す方式を採用した。実質的には ms-vlmeval の OpenAIWrapper と同等。

機能テスト結果

# テスト内容 プロンプト 応答 合否
1 基本的な算術 What is 2 + 2? Answer briefly. 4
2 指示への従い方 List the planets of the solar system in order from the Sun. One per line. Mercury / Venus / Earth / Mars / Jupiter / Saturn / Uranus / Neptune
3 日本語対応 日本の首都はどこですか? 日本の首都は**東京**です。

パフォーマンス(リクエストごと)

リクエスト プロンプトトークン数 プロンプト評価時間 出力トークン数 トークン生成速度 合計時間
テスト1 26 336 ms(77 tok/s) 37 10.84 tok/s 3.7 s
テスト2 32 326 ms(98 tok/s) 151 10.62 tok/s 14.5 s
テスト3 21 323 ms(65 tok/s) 108 10.65 tok/s 10.5 s

平均生成速度:約10.7 トークン/秒

備考

  • プロンプト評価(プリフィル)は全層GPUオフロードにより65〜98 tok/s と高速。
  • 生成(デコード)の約10.7 tok/s は、48 GB GPU 1枚での31B Q4_K_Mモデルとして標準的な速度。
  • モデルが持つ最大262Kのコンテキストウィンドウは今回未使用(8192に制限)。
    --ctx-size を増やすとVRAM消費量が増加する。
  • 画像入力(ビジョン機能)は後日テスト済み(下記参照)。

ビジョン機能テスト結果

mmproj-F32.gguf(2.2 GB)を ~/gemma4/ に追加し、--mmproj オプション付きで llama-server を再起動して実施。

テスト画像と結果

# 画像ファイル プロンプト 結果 備考
1 shapes.png この画像に見える図形を列挙し、それぞれの色を答えよ 赤い長方形・青い円・緑の三角形を正確に識別
2 text_ocr.png 画像内のテキストをすべて読め 全テキストを正確に読み取り(「Gemma 431B」の空白のみ微差)
3 bar_chart.png 棒グラフのデータと最大値の月を答えよ 1〜6月の全値(Jan:80〜Jun:130)を読み取り、4月(150)を最大と正答
4 gradient.png 画像の色とパターンを説明せよ 4隅の色、対角グラデーション、中央の混色、テキストを正確に記述

ビジョンテストのパフォーマンス

画像 プロンプトトークン 生成トークン 合計時間
shapes.png 319 33.7 s
text_ocr.png 228 24.7 s
bar_chart.png 308 668 68.9 s
gradient.png 282 868 89.0 s

重要な知見:Thinking トークン

Gemma 4 はビジョンタスクでも回答前に内部「思考」トークン(約1800〜2700文字)を生成する。
max_tokens=512 では思考トークンで予算を使い果たし、回答が空になる現象が確認された。
画像クエリには max_tokens を 1024〜2048 以上に設定すること。

llama-server 起動コマンド(ビジョン対応版)

HSA_OVERRIDE_GFX_VERSION=11.5.1 \
  ~/llama.cpp/build/bin/llama-server \
    --model ~/gemma4/gemma-4-31B-it-Q4_K_M.gguf \
    --mmproj ~/gemma4/mmproj-F32.gguf \
    --gpu-layers 999 \
    --ctx-size 8192 \
    --host 127.0.0.1 \
    --port 8080

今後の課題

  • transformers の互換性を修正(pip install "transformers<5")することで、
    ms-vlmeval のベンチマークデータセット(MMBench、MME、SEEDBench 等)を利用可能にする。
  • 長コンテキストベンチマーク向けに --ctx-size(例:32768)を拡大する。
3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?