話題のgemma-4を試してみた

Ubuntu
スポンサーリンク

Amazonのアソシエイトとして、当ブログは適格販売により収入を得ています。

今はQwen3.6が話題ですが、自分はまだ試していないので。
今回はgemma-4についてです。

とはいえ、こちらの記事でも触れたとおり、現在は「Intel Arc A750」なので大きなモデルは試せません。
いえ、試せるんですができればモデルファイルをVRAMに全部おさめて高速で動く様をみたいです。メインメモリに退避させると動画生成などと比べて、すごく遅くなっちゃうので。

今回使うのはこのモデル。

google/gemma-4-E4B-it · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

マルチモーダルに対応しているということで、「llama.cpp」に画像認識機能を持たせexcelの問題を解いてもらいます。

それでは、いってみましょう。

モデルのダウンロード

huggingface_hubを使っていきます。
個人的な話で申し訳ありませんが、最近引っ越しました。
ところが、ネット環境があまりよろしくなく、LLMのような巨大なファイルをダウンロードしていると、途中で回線が途切れたりとどうにも不安定な時間帯がありまして。
「huggingface_hub」なら途中で回線を遮断しても、再開が容易です。

というわけで「huggingface」のアクセストークンをメモっておきます。

では、ここからモデルのダウンロードです。
適当にターミナルを開いて、

sudo apt install curl

curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env

uv venv --python /usr/bin/python3
source .venv/bin/activate

uv pip install huggingface_hub

hf auth login

#さっきのアクセストークンを入力

#haggingface-hubが新しくなってから、haggingface-cliは動かなくなったみたいなので「hf download」を使う
hf download google/gemma-4-E4B-it --local-dir ./gemma-4-E4B-it

以下を実行。

LLMとしては割と小さめですが、それでも16GBです。
A750(VRAM8GB)では収まりません。
なので次はこれを量子化していきます。

safetensorをggufに「フォーマット変換」

では、safetensorをggufに「フォーマット変換」していきますが、その前に「llama.cpp」をインストールしましょう。

#!/bin/bash

mkdir -p $HOME/install/llama.cpp_build
cd ~/install/llama.cpp_build

#準備とllama.cppのソースのダウンロード
sudo apt install -y git cmake g++ libcurlpp-dev
git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp

#CPU用ビルド(ggufの変換で使う)
mkdir build-cpu
cmake -B build-cpu
cmake --build build-cpu --config Release -j$(nproc)

ここからフォーマット変換します。

#まずは環境構築
uv venv .venv_llama --python /usr/bin/python3
source .venv_llama/bin/activate
uv pip install -r ./llama.cpp/requirements.txt --index-strategy unsafe-best-match

#safetensorsからggufへ
python ./llama.cpp/convert_hf_to_gguf.py ./gemma4-E4B-it/ --outfile gemma4-E4B-it.gguf

gemma4-E4B-it.ggufを量子化

なるべく推論精度を落とさずにファイルサイズを劇的に小さくしていきます。
といっても、VRAM8GBに収めようとしたら多少の精度低下は目を瞑りましょう。

今回は「Q4_K_M」にします。

./llama.cpp/build-cpu/bin/llama-quantize ./gemma4-E4B-it.gguf ./gemma4-E4B-it-Q4_K_M.gguf Q4_K_M

「マルチモーダル・プロジェクター」もつくろう

今回は画像認識もさせるため、「マルチモーダル・プロジェクター」も作ります。

llama.cpp/convert_hf_to_gguf.py ./gemma4-E4B-it/ --mmproj --outfile ./mmproj-Gemma4-E4B-It-BF16.gguf

llama.cppをvulkanでビルド

以前の記事でも書きましたが、改めて書いていきます。
今回はsyclではなくvulkanでビルドします。

#!/bin/bash

sudo apt update
sudo apt install -y spirv-headers

#vulkanビルド
cd $HOME/install/llama.cpp_build/llama.cpp
mkdir -p build-vulkan
sudo apt install -y libvulkan-dev glslc spirv-headers
cmake -B build-vulkan -DGGML_VULKAN=ON
cmake --build build-vulkan --config Release -j$(nproc)

2026/4から「spirv-headers」をインストールしないとビルドエラーが出るようになったらしいです。

llama.cppで画像認識

普通にチャットするだけなら、今までいくつか記事を書いてきました。
今回は画像認識させて、更にその問題も解いてもらいます。

まずは画像認識できるようにllama.cppを立ち上げます。

cd $HOME/install/llama.cpp_build
./llama.cpp/build-vulkan/bin/llama-server -m gemma4-E4B-it-Q4_K_M.gguf --mmproj mmproj-Gemma4-E4B-It-BF16.gguf --port 8080 --host 127.0.0.1 --jinja --reasoning off

以下のUIを起動するには、こちらの記事を参考にしてください。

何度かチャレンジしたんですが、縦の計算間違いが多いです。
もうちょっと賢いモデルを使えば結果は変わるのでしょうか?

みなさんはもっと高性能なGPUを使っているのと思うので、他のモデルで試してみてください。

今回は以上です。


Amazon | 玄人志向 Intel Arc B580 搭載 グラフィックボード GDDR6 12GB 【国内正規代理店品】 AR-B580D6-E12GB/DF | 玄人志向 | グラフィックボード 通販
玄人志向 Intel Arc B580 搭載 グラフィックボード GDDR6 12GB 【国内正規代理店品】 AR-B580D6-E12GB/DFがグラフィックボードストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマ...
Amazon | ASUS AMD Dual Radeon RX 9060 XT 16GB GDDR6ビデオカード DUAL-RX9060XT-16G 国内正規代理店品 | ASUS | グラフィックボード 通販
ASUS AMD Dual Radeon RX 9060 XT 16GB GDDR6ビデオカード DUAL-RX9060XT-16G 国内正規代理店品がグラフィックボードストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。...
Palit RTX 5060 Ti 16GB GDDR7 PCIe 5.0 グラフィックボード
Palit(パリット) GeForce RTX 5060 Ti Infinity 3 16GB / NE7506T019T1-GB2061S / グラフィックボードがグラフィックボードストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お...

「Pro B50」やAsRock製の「Pro B60」なんてめずらしいモノが出てますね。
Amazon倉庫からの出荷ではないので、購入する時は自己責任でお願いします。

Amazon | ASRock Intel Arc Pro B60 Creator 24GB グラフィックスカード、Intel Xe2-HPGアーキテクチャ、24GB GDDR6、PCIe 5.0、4X DisplayPort 2.1、ブロワーデザイン、0dBサイレント冷却。 | ASRock | グラフィックボード 通販
ASRock Intel Arc Pro B60 Creator 24GB グラフィックスカード、Intel Xe2-HPGアーキテクチャ、24GB GDDR6、PCIe 5.0、4X DisplayPort 2.1、ブロワーデザイン、0d...
Amazon | Intel 33P6PEB0BB Arc Pro B50 16GB ビデオカード。 | インテル | グラフィックボード 通販
Intel 33P6PEB0BB Arc Pro B50 16GB ビデオカード。がグラフィックボードストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマゾン配送商品は、通常配送無料(一部除く)。

追記
実家の8年前のPCで同様のテストをしてみました。

27tokens/secだと・・・!ちなみに計算はやっぱり間違っています。

メールでそのまま送るという失態を犯してしまったため、画質がかなり劣化しています。
実家のPCは「Radeon RX470 VRAM8GB」なのですが、「Arc A750」より速かった・・・。
このRX470は、おそらくマイニングに使われるはずだったモデルだと思います。そのためかTBPは85Wに抑えてあります(通常は120W)。

このままでは引き下がれないので、次回は「OpenVINO GenAI」でリベンジしたい。

コメント

タイトルとURLをコピーしました