ちょっと仕事がらみ?もありローカル LLM である Ollama を試してみました。
環境
今回の環境は以下の通りですが、一番の心配は GPU が APU 内蔵の iGPU という点です。ちゃんと CPU ではなく iGPU を使ってくれるのでしょうか。
CPU:Ryzen 5 5600G
GPU:CPU に内蔵(gfx90c)
メモリー:16GB(32GB ですが、16GB を iGPU の VRAM に割り当て)
VRAM:16GB
OS:LMDE 6(Debian 12 相当、Kernel 6.12)
セットアップ
まずは Ollama 本体をインストールします。curl でインストールスクリプトをダウンロードする形式です。
curl -fsSL https://ollama.com/install.sh | sh
けっこうたくさんダウンロードしました。ダウンロード中も「艦これ」していたので回線帯域を専有されてしまったので、--limit-rate=7M とか付け足すべきでした。
※このオプションは byte/sec の指定だそうです。7M だと 56Mbps くらいの制限値です。
>>> Installing ollama to /usr/local >>> Downloading Linux amd64 bundle ######################################################################## 100.0% >>> Creating ollama user... >>> Adding ollama user to render group... >>> Adding ollama user to video group... >>> Adding current user to ollama group... >>> Creating ollama systemd service... >>> Enabling and starting ollama service... Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service. >>> Downloading Linux ROCm amd64 bundle ######################################################################## 100.0% >>> The Ollama API is now available at 127.0.0.1:11434. >>> Install complete. Run "ollama" from the command line. >>> AMD GPU ready.
OS を自動判別して適切な実行モジュールをダウンロードしてくれるようです。けっこう時間がかかりました。
ollama.service という systemd のサービスが追加されました。
そして、iGPU が認識されたのか、ROCm も追加でダウンロードし始めました。もうちょっと時間がかかります。が、この iGPU って ROCm を動かせたっけ?
$ ollama --version ollama version is 0.7.1
なんか動いているっぽいです。
動かしてみた
続いて、Ollama pull で AI モデルをダウンロードするのですが、このモデルがディスク容量をだいぶ消費するようなのでデフォルトの保存先を変更しようとしてみたのですが、うまく行かずにひとまず諦めました。
/etc/systemd/system/ollama.service に Environment="OLLAMA_MODELS=〜" と追記すると変更できるようなのですが、ollama.service の起動に失敗してしまいます。
$ systemctl status ollama ● ollama.service - Ollama Service Loaded: loaded (/etc/systemd/system/ollama.service; enabled; preset: enabled) Active: activating (auto-restart) (Result: exit-code) since Sat 2025-05-24 21:23:45 JST; 1s ago Process: 8113 ExecStart=/usr/local/bin/ollama serve (code=exited, status=1/FAILURE) Main PID: 8113 (code=exited, status=1/FAILURE) CPU: 14ms
これだけだと原因がわかりませんね。ん〜、こんな時は journalctl かな?
ollama[7082]: Error: mkdir ~: permission denied
OLLAMA_MODELS に指定したディレクトリをあらかじめ作って permission も設定しているのですが、またディレクトリを作りに行こうとしているのでしょうか?
まずは動かしてみたいので、ちょっと諦めました。
さて、いよいよ AI モデルのダウンロードです。
$ ollama pull gemma3:1b pulling manifest pulling 7cd4618c1faf: 100% ▕██████████████████████████████████████▏ 815 MB pulling e0a42594d802: 100% ▕██████████████████████████████████████▏ 358 B pulling dd084c7d92a3: 100% ▕██████████████████████████████████████▏ 8.4 KB pulling 3116c5225075: 100% ▕██████████████████████████████████████▏ 77 B pulling 120007c81bf8: 100% ▕██████████████████████████████████████▏ 492 B verifying sha256 digest writing manifest success
gemma3 の一番軽量な 1B というモデルを pull コマンドでダウンロードしてみました。800MB 以上あります。Ollama のインストール時よりも当然ダウンロード量が多いので長いこと回線を専有してしまいます。ここも帯域制限して裏でゆっくりのんびり進めたいです。
モデルのダウンロードが終わったので実行してみます。
$ ollama run gemma3:1b >>> /set verbose ・・・・・ total duration: 8.41671845s load duration: 34.523122ms prompt eval count: 615 token(s) prompt eval duration: 107.933186ms prompt eval rate: 5697.97 tokens/s eval count: 381 token(s) eval duration: 8.259205153s eval rate: 46.13 tokens/s
思っていたよりも結果が出てくるのが速かったです。が、完全に CPU 処理になっているようです。GPU が使われていないですね。
ん〜、再び journalctl でエラーメッセージっぽいものを探してみます。
level=WARN source=amd_linux.go:376 msg="amdgpu is not supported (supported types:[gfx1010 gfx1012 gfx1030 gfx1100 gfx1101 gfx1102 gfx1151 gfx1200 gfx1201 gfx900 gfx906 gfx90a gfx942])" gpu_type=gfx90c gpu=0 library=/usr/local/lib/ollama/rocm level=WARN source=amd_linux.go:383 msg="See overrides for HSA_OVERRIDE_GFX_VERSION usage" level=INFO source=amd_linux.go:402 msg="no compatible amdgpu devices detected" level=INFO source=gpu.go:377 msg="no compatible GPUs were discovered"
ん〜、やはりワタシの iGPU は gfx90c と認識はされているものの、ROCm ではサポートされていないようです。近い型番の gfx900 とか gfx906 とか gfx90a はリストアップされているんですがね。
お? HSA_OVERRIDE_GFX_VERSION という環境変数?で上書きできるみたいですね。/etc/systemd/system/ollama.service に以下を追加して restart してみます。
Environment="HSA_OVERRIDE_GFX_VERSION=9.0.0"
どうでしょう?
level=INFO source=gpu.go:217 msg="looking for compatible GPUs" level=INFO source=amd_linux.go:389 msg="skipping rocm gfx compatibility check" HSA_OVERRIDE_GFX_VERSION=9.0.0 level=INFO source=types.go:130 msg="inference compute" id=0 library=rocm variant="" compute=gfx90c driver=0.0 name=1002:1638 total="16.0 GiB" available="15.6 GiB"
おぉ〜、ROCm が適用されました!!
もう一度、実行してみましょう。
$ ollama run gemma3:1b >>> /set verbose total duration: 18.061316032s load duration: 34.862295ms prompt eval count: 15 token(s) prompt eval duration: 210.133548ms prompt eval rate: 71.38 tokens/s eval count: 566 token(s) eval duration: 17.815665818s eval rate: 31.77 tokens/s
おぉ〜、今度は CPU 使用率は穏やかで iGPU を使っているようです。ちなみに CPU モードの時は 2 コアだけ使うようになっているようです。
処理速度は CPU でも iGPU でも大差ない感じですが、iGPU の方がだんぜんヘルシーです。
もう少し動かしてみた
Ryzen APU の iGPU で動かせるようになったので、もう少し重たいモデルも試してみることにします。まずはモデルのダウンロードからです。
$ ollama pull gemma3:4b pulling manifest pulling aeda25e63ebd: 100% ▕██████████████████████████████████████▏ 3.3 GB pulling e0a42594d802: 100% ▕██████████████████████████████████████▏ 358 B pulling dd084c7d92a3: 100% ▕██████████████████████████████████████▏ 8.4 KB pulling 3116c5225075: 100% ▕██████████████████████████████████████▏ 77 B pulling b6ae5839783f: 100% ▕██████████████████████████████████████▏ 489 B verifying sha256 digest writing manifest success $ ollama pull gemma3:12b pulling manifest pulling e8ad13eff07a: 100% ▕██████████████████████████████████████▏ 8.1 GB pulling e0a42594d802: 100% ▕██████████████████████████████████████▏ 358 B pulling dd084c7d92a3: 100% ▕██████████████████████████████████████▏ 8.4 KB pulling 3116c5225075: 100% ▕██████████████████████████████████████▏ 77 B pulling 6819964c2bcf: 100% ▕██████████████████████████████████████▏ 490 B verifying sha256 digest writing manifest success
4B は 3.3 GB、12B は 8.1 GB もあります。最重量の 27B もあるのですが、これはダウンロードすると 16GB くらいでしょうかね。
では、4B モデルを試してみましょう。
$ ollama run gemma3:4b >>> /set verbose total duration: 55.606319778s load duration: 43.492268ms prompt eval count: 15 token(s) prompt eval duration: 422.672288ms prompt eval rate: 35.49 tokens/s eval count: 610 token(s) eval duration: 55.138249418s eval rate: 11.06 tokens/s
1B モデルに比べるとメチャクチャ遅いです。1B が 18 秒で、4B が 55 秒でした。
1B 35 行の応答 >>> ROCmとは何ですか? ROCm(Read-out Core Module)は、Appleが3番目のGPU(Compute Engine)の性能を最大限に引き出すため に開発された、Appleの新しいGPUのコアである**「TrueCore」**と呼ばれる一部のコアを指します。 4B 53 行の応答 >>> ROCmとは何ですか? ROCm(Radeon Open Compute Platform)は、AMDが開発しているオープンソースのコンピューティングプラ ットフォームです。主に、GPUを利用した高性能な計算(HPC: High Performance Computing)を可能にする ために設計されています。
回答内容を比べてみたら 1B はだいぶ嘘っぱちを答えていましたね・・・。
処理中の状況を radeontop で確認していたのですが、1B でも 4B でも VRAM はほぼ使われていないですね。代わりに GTT が使われているようです。あと OS 側のメモリーも使用率が高くなります。GTT ってなんだ?
1B では GTT 1200 MB ほどで、4B では 5120 MBほどの使用量でした。
ふ〜ん、じゃあ最後に 12B を試してみましょう。
$ ollama run gemma3:12b Error: llama runner process has terminated: cudaMalloc failed: out of memory ggml_gallocr_reserve_n: failed to allocate ROCm0 buffer of size 1186611200
out of memory でした・・・。1GB くらい足りない、ということでしょうか。
なんか今は GTT が 7900 MB くらいの割り当てなんですが、これを増やす方法があるのでしょうかね?
Ryzen APU上のROCmでのメモリ割り当てに関する調査
先駆者がいました。
APU では VRAM 容量ではなく、メインメモリー容量が大事なようです。BIOS で iGPU へ割り当てる VRAM 容量を減らすと GTT を増やせるようです。
radeontop によると今の VRAM の使用量が 1200 MB くらいなので、BIOS で 2 GB or 4 GBに変更すれば良さそうです。
ということで、PC を再起動して BIOS で iGPU の VRAM 容量を 2GB に指定してみました。この場合、GTT は 15GB くらいまで増えています。期待が持てます。
![]() |
見づらいですが、下の赤い部分が GTT を示しています |
さあ、12B を動かしてみましょう。
$ ollama run gemma3:12b >>> /set verbose total duration: 2m17.200205289s load duration: 36.036673ms prompt eval count: 15 token(s) prompt eval duration: 852.81691ms prompt eval rate: 17.59 tokens/s eval count: 785 token(s) eval duration: 2m16.310598599s eval rate: 5.76 tokens/s
動いたのですが iGPU を使ってくれないようです。CPU だけで処理しているようです。
むぅ。
4B も試しに動かしてみたのですが、やはり iGPU は使わずに CPU だけで処理をしているようです。
もしや、VRAM 容量が少なすぎて iGPU を切り捨ててますかね?
ということで、再び PC を再起動して BIOS から iGPU の VRAM 容量を 8 GB に変更してみました。どうだ!!
![]() |
iGPU と CPU で協同してるのかな? |
なんかまた予想と違う動きをしました。
iGPU を全く使わないわけではなく、iGPU をフルに使うわけでもないという不思議な動きになりました。なんとなく iGPU と CPU の両方で処理しているように見えます。
$ ollama run gemma3:12b >>> /set verbose total duration: 2m8.633755658s load duration: 44.829873ms prompt eval count: 15 token(s) prompt eval duration: 1.025438461s prompt eval rate: 14.63 tokens/s eval count: 636 token(s) eval duration: 2m7.562868459s eval rate: 4.99 tokens/s
まあ、相変わらず CPU だけの時と大差はないのですが、CPU 使用率は断然に低いです。
ということで
ひとまず Ollama のインストールが終わり、Gemma3 を動かすことができるようになりました。あとは Open WebUI で操作できるようにしたいのと、RAG の動作検証をしたいんですよね。