今回は、グラフィックボードとしてミドルレンジのIntel Arc B580でllama.
ミドルレンジのグラフィックボードの現状
第891回で
2026年3月中旬現在では、どちらも容易に入手可能です。しかし筆者が購入したGeForce RTX 5060 Ti
現在はIntelもディスクリートGPU
しかし、やはりメジャーとはいえないのでいろいろな制限があり、それらと折り合いを付けてうまくやっていく必要があります。
今回は、そんな方法を紹介します。
IntelのdGPUとLLM
本連載では第747回と第866回でIntelのdGPUについて解説していますが、改めて紹介しましょう。
Intelの
GPGPUのソフトウェアスタック
第866回で紹介したIPEX-LLMも広い意味で捉えばそのうちの1つと考えられますが、残念ながら開発は終了しています。
llama.
最近Qwen 3.
今回使用するPC
今回使用するPCのスペックは次のとおりです。
| メーカー | 型番 | 備考 | |
|---|---|---|---|
| CPU | Intel | Core-i5 13500 | |
| メモリー | Crucial | CT2K32G4DFD832A | 64GB |
| マザーボード | ASRock | H670M-ITX/ |
|
| CPUファン | ID-COOLING | IS-55-BLACK | |
| グラフィックボード | ASRock | Intel Arc B580 Challenger 12GB OC | |
| SSD | Crucial | CT500MX500SSD1 | |
| リムーバブルケース | Silver Stone | SST-FS202 | |
| 電源ユニット | Silver Stone | SST-SX750-G | |
| ケース | Silver Stone | SST-SG11B |
B760M Pro RS/
OSはもちろんUbuntu 24.
ドライバーのインストール
24.
$ sudo add-apt-repository -y ppa:kobuk-team/intel-graphics
$ sudo apt-get install -y libze-intel-gpu1 libze1 intel-metrics-discovery intel-opencl-icd clinfo intel-gsc
$ sudo gpasswd -a ${USER} render
$ sudo gpasswd -a ${USER} video
$ newgrp render
$ newgrp video
oneAPIのインストール
続けてoneAPIをインストールします。次のコマンドを実行してください。
$ wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/s hare/keyrings/oneapi-archive-keyring.gpg > /dev/null $ echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sud o tee /etc/apt/sources.list.d/oneAPI.list $ sudo apt update $ sudo apt install intel-oneapi-base-toolkit intel-oneapi-runtime-libs
llama.cppのビルド
oneAPI
$ sudo apt install git cmake $ mkdir ~/git $ cd ~/git $ git clone https://github.com/ggml-org/llama.cpp.git $ cd llama.cpp $ ./examples/sycl/build.sh
これで~/git/
比較のためVulkanバックエンドのバイナリもビルドします。次のコマンドを実行してください。
$ sudo apt install libvulkan-dev glslc $ cmake -B build-vulkan -DGGML_VULKAN=1 $ cmake --build build-vulkan --config Release
これで~/git/
使用するモデル
今回使用するのはDenseモデルとしては前出のQwen3.
MoEモデルとしては、定番のgpt-oss-20bとします。こちらもQ4_
DenseとMoEモデルの違いについては、こちらのコラムをご覧ください。
ベンチマーク
Qwen3.
$ source /opt/intel/oneapi/setvars.sh $ ~/git/llama.cpp/build/bin/llama-bench -m ~/Downloads/Qwen3.5-9B-Q4_0.gguf $ ~/git/llama.cpp/build-vulkan/bin/llama-bench -m ~/Downloads/Qwen3.5-9B-Q4_0.gguf
oneAPI
ではgpt-oss-20bではいかがでしょうか
$ cd ~/git/llama.cpp/ $ source /opt/intel/oneapi/setvars.sh $ ./build/bin/llama-bench -m ~/Downloads/gpt-oss-20b-Q4_0.gguf $ ./build-vulkan/bin/llama-bench -m ~/Downloads/gpt-oss-20b-Q4_0.gguf
Vulkanのほうが速くなっています。これはVulkanのほうがMoEモデルの最適化が進んでいるということを意味しています
実際の実行コマンド
実際の実行コマンドは、次を参考にしてください。
$ cd ~/git/llama.cpp/
$ source /opt/intel/oneapi/setvars.sh
$ ./build/bin/llama-server -m ~/Downloads/Qwen3.5-9B-Q4_0.gguf --ctx-size 16384 --port 8080 --temp 0.6 --top-p 0.95 --top-k 20 --min-p 0.00 --chat-template-kwargs '{"enable_thinking":true}'
$ cd ~/git/llama.cpp/ $ ./build-vulkan/bin/llama-server -m ~/Downloads/gpt-oss-20b-Q4_0.gguf --ctx-size 16384 --jinja -ngl 99 --port 8080 --temp 1.0 --top-p 1.0 --top-k 0 --fit on
第902回の要約機能を両方のモデルで試してみましたが、SYCLでは少なくともgpt-oss-20bの動作は不安定だったので、Vulkanがおすすめです。またthinkingを有効にするとサーバーエラーが返ってきますが、作業自体は進んでいます
文字解析
第897回でQwen3-VLを使用して文字を解析させる方法を紹介しました。B580でももちろん有効です。またQwen3.