Gemma 4 をThinkPad T16 Gen4 AMD で動作させてみる
2026年4月2日に Gemma 4 が公開された。AI を個人的に利用するなら Gemini や ChatGPT、Copilot などでも十分間に合うところ、社内利用を考えるとクラウドサービスに手を出すのは憚れる。
社内利用ならそれなりの GPU が必要だけど、Gemma 4 モデルの概要のとおり Gemma 4 E4B が利用できそうなので、果たして総メモリー 32GB の自分の PC でどれくらい使用に耐えられるか気になったからインストールしてみた。
【1】準備
PC の電源を入れてすぐに F1 キーを連打、BIOS(UEFI)設定で Display の UMA Frame Buffer Size を Auto から 16GB に変更する。
【2】インストール
AppImage 版もあるけれど、せっかくなので Daemon で動作させてみる。
次のコマンドを実行する。
curl -fsSL https://ollama.com/install.sh | sh
続いて AMD GPU(ROCm)用の環境変数を設定するため、ollama.service を編集する。
sudo systemctl edit /etc/systemd/system/ollama.service
Ryzen AI 300シリーズ(RDNA 3.5)を確実に認識させるため、環境変数を指定(追記)する。
[Service]
Environment="HSA_OVERRIDE_GFX_VERSION=11.0.0"
systemctl で設定を反映する。
sudo systemctl daemon-reload
sudo systemctl restart ollama
モデルをダウンロード(pull)、実行(run)する。
ollama pull gemma4:e4b
ollama run gemma4:e4b
Gemma 4 の終了は >>> /bye または Ctrl+D、コードブロックはバッククォートで括る( ''' 〜 コード 〜 ''' )。
GPU が利用されていることを nvtop で確認する。ollama run gemma4:e4b の実行中に GPU 利用率や VRAM 消費が跳ね上がることが確認できる。
sudo apt update && sudo apt install nvtop
nvtop
【3】Open WebUI をインストールする
ターミナルより遥かに使いやすい Web インターフェース。Docker のコンテナでお手軽に使用できる。
Docker のインストールがまだの場合は次のコマンドでインストールできる。
sudo apt update
sudo apt install docker.io docker-compose -y
sudo usermod -aG docker $USER
なお、自分はテスト環境の Drupal CMS を DDEV で使用するため、公式リポジトリではなく、こちらの DDEV のドキュメントを参考に最新版をインストールしている。
続いて次のコマンドで Open WebUI を起動する。このコマンドは最初の1度だけで、以降は PC を再起動してもコンテナが立ち上がる。
docker run -d \
--network=host \
-v open-webui:/app/backend/data \
-e OLLAMA_BASE_URL=http://127.0.0.1:11434 \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
ブラウザから http://localhost:8080 を開くと Open WebUI を開くことができる。Ollama デーモン(systemd)と Open WebUI(Docker)がどちらも「OS起動時に自動準備完了」なのが便利。
コンテナの一時的な停止、再開は次のとおり。
docker stop open-webui
docker start open-webui
【4】SearXNG をインストールする
せっかくなので外部検索エンジンと連携させてみる。Google Search API を利用する方法もあるけれど、SearXNG の公式ドキュメントによると次のような特徴(和訳)があるとのことなので、ローカル LLM に適していると勝手に考えている。
- SearXNGはGoogleほどパーソナライズされた検索結果を提供しないかもしれませんが、あなたのプロファイルを作成することはありません。
- SearXNGは、あなたが何を検索しているかに関心を持たず、第三者と情報を共有することもなく、あなたのプライバシーを侵害するために利用されることもありません。
- SearXNGはフリーソフトウェアです。コードは100%オープンソースであり、誰でも改良に協力できます。
まずはコンテナの設定ファイルを~/search に次のコマンドで作る。
mkdir -p ~/searxng
cat <<EOF > ~/searxng/settings.yml
use_default_settings: true
server:
port: 8080
bind_address: "0.0.0.0"
secret_key: "$(openssl rand -hex 32)"
limiter: false
image_proxy: true
search:
safe_search: 0
formats:
- html
- json
enabled_plugins:
- 'Hash plugin'
- 'Self-contained results'
- 'Tracker aware link proxy'
EOF
Open WebUI と同じく、こちらも Docker のコンテナとして次のコマンドでインストールする。port が被らないよう 8081 としている。
docker run -d \
--name searxng \
--restart always \
-p 8081:8080 \
-v ~/searxng/settings.yml:/etc/searxng/settings.yml \
searxng/searxng
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d4e6341740ff searxng/searxng "/usr/local/searxng/…" 3 minutes ago Up 3 minutes 0.0.0.0:8081->8080/tcp, [::]:8081->8080/tcp searxng
002ca1d1248f ghcr.io/open-webui/open-webui:main "bash start.sh" 5 days ago Up 3 hours (healthy)
次は Open WebUI の設定。画面左下のユーザーアイコンをクリックして表示される項目「管理者パネル」からタブ「設定」の「Web 検索」をクリックする。内容は次のとおり。
- Enable Web Search : ONにする。
- Web Search Engine : searxng を選択する。
- SearXNG Query URL : http://localhost:8081/search?q=<query>
- RAG (Search Result Count) : 3〜5程度に設定する。
- 下部の [保存 (Save)] をクリックする。
それから、同じく「管理者パネル」の「設定」から「一般」をクリックして、該当モデル右端の鉛筆アイコン(編集)から、下の方にある「Web 検索」にチェックを入れて保存・更新する。
最後に微調整。
- num_ctx (Ollama)
2048 を 8192 に変更。最新情報の取りこぼしを少なくする。 - num_thread (Ollama)
12 として CPU を効率的に利用する。
【4】おわりに
Gemini や Copilot に比べると、PC のマシンパワーの限界もあり選択できる LLM のモデルが制限されるから、同じような速度で回答を推論してくれる訳じゃない。でも、企業ならクラウドに影響しない、いろいろなモデルの中から適切なものを選択することで、自前の本格的な環境を構築できる。
ChatGPT が公開されたのが2022年11月30日。
本当にすごい時代になったものだ。