Ubuntu日和

【第93回】Arc B580で通常の3倍のスピード!? Strata派生「XeStrata」に驚く

 PC関連パーツの価格高騰が止まらない。特にメモリやビデオカードといったAI周りのパーツで顕著だ。そんな中、12GBのビデオカードで巨大なLLMを動かす推論エンジン「Strata」が注目を集めている。

 筆者が昨年(2025年)8月に2万3千円程度で購入したDDR5 32GB×2メモリのCrucial CP2K32G56C46U5は、現在は15万円程度になっているそうである。

 そこまで極端でなくても、筆者が昨年12月に7万3千円程度で購入したMSI GeForce RTX 5060 Ti 16G VENTUS 2X OC PLUSは、現在はこちらも15万円程度になっているそうである。

 そんな中、第78回で紹介したIntel Arc B580 Challenger 12GB OCは、現状そこまで極端に値上がりしておらず、価格の優等生となっている。あくまで今のところは、ではあるが。

 ローカルLLM用の推論エンジンであるStrataが脚光を浴びている。ハードウェアが高価なのであれば、普段遣いのPCで巨大なモデルを動作させるような推論エンジンを目指せばいいじゃないかというのが、このStrataである。

 10月4日に、StrataのIntel GPU対応版がリリースされた。StrataはもともとVRAMが12GB以上あればいいとしている。

 極め付けは、現状StrataをIntel Arcで動かしたい場合はLinuxを使用するしかない点だ。

 これはIntel Arc B580を引っ張り出してきてUbuntuで試してみなくては、と思った次第である。

使用するPCのスペック

 普段使いのPCとはいえ、それなりのスペックを必要とする。今回用意した検証機のスペックは次の通りだ。

パーツメーカー型番備考
CPUIntelCore Ultra 5 250KF Plus-
CPUファンID-CoolingIS-67-XT-
マザーボードMSIMPG B860I EDGE TI WIFI-
メモリTEAMCTCCD564G6000HC48DC0132GB×2
ビデオカードASRockIntel Arc B580 Challenger 12GB OC-
SSDKIOXIASSD-CK2.0N4PLG3N2TB
電源ユニットSilverStoneSX700-
ケースファンARCTICP12Pro PSTケース上部に取り付け
PCケースSilverStoneSUGO15-

 ほかはともかく、メモリはどうしても64GBは必要となる。

 Ubuntuのバージョンは26.04 LTSとした。実は今回ここがポイントである。

Ubuntuから見た今回のハードウェアスペック

ドライバーのインストール

 なにはともあれ、Intel Arcのドライバーをインストールすることをおすすめする。

 端末から次のコマンドを実行する。

$ 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

Strataのインストール

 Strataのインストール方法はちょい古ゲーミングPCで「Qwen3.8-Flash-Next」を動せる「Strata」を試してみた!でも紹介されているが、どうやらIntel Arc対応版はずいぶんと違うようなので、完全に別物として紹介する。

 ドキュメントによるとDockerを使用するのがよさそうなので、まずはインストールする。

$ sudo apt install docker.io
$ sudo gpasswd -a ${USER} docker

 ここで一度再起動し、グループの追加を確実に実行する。

 ログイン後、ソースコードを取得してDockerコンテナーを作成する。

$ sudo apt install git
$ mkdir -p ~/git
$ cd ~/git
$ git clone https://github.com/Niko1221/Strata.git
$ cd Strata
$ docker build -t strata-sycl-dev sycl/tools
$ H=$(basename "$PWD")
$ docker run --rm -u $(id -u):$(id -g) -v "$PWD/..:/work" -e AOT=bmg-g21 -e REPO=/work/$H -e BUILD_DIR=/work/$H/build-sycl-aot strata-sycl-dev "cd /work/$H && bash sycl/tools/build.sh strata"

 ポイントは「AOT=bmg-g21」で、これはB580、B570、Pro B60の場合の値だ。もし奮発してPro B70を購入した場合には「AOT=bmg-g31」となる。

 ビルド自体にそこそこ時間がかかるので、何かをしながら待つのがいいだろう。

Strataの初期設定と起動

 ここまでできたら、Strataを起動する。初回だけさまざまな設定が必要となる。

 なおDockerイメージは自動起動するようにはなっていないので、毎回次のコマンドを実行することとなる。

$ ./setup.sh --backend sycl

 初回起動時はさまざまな質問がある。個別に見ていこう。

=== Step 2: your choices ===
  1) Qwen3.8-Flash-Next   Qwen; GSQ-RCO quants by ISTA-DASLab - the original model
  2) Swift 1.5            UkisAI's fine-tune of Qwen3.8-Flash-Next - thinks much shorter (-63% thinking tokens, 1.8x sooner answers by its authors' numbers)
  3) Qwen3.8-Flash-Next Coder ISTA-DASLab's coding version - half the experts (code, tools, images kept): needs ~32 GB of RAM, faster; weaker outside coding
  4) Qwen3.8-Flash-Next (Unsloth) Unsloth's 4- to 8-bit quantizations - UD-IQ4_XS, UD-Q4_K_XL, UD-Q5_K_XL, UD-Q6_K_XL or Q8_0 (94 to 188 GB downloads): every expert in RAM from ~80 GB (UD-IQ4_XS) to ~136 GB (Q8_0) of RAM, else part of them read from the SSD   [UD-IQ4_XS is the 4-bit choice on AMD and Intel cards; NVFP4 runs on NVIDIA only]
  5) Qwen3.6-35B-A3B      Qwen; GGUFs with the MTP layer by Unsloth - 35B mixture of experts with 3B active (256 experts, top-8): a smaller cousin of Qwen3.8-Flash-Next with the same tokenizer   [new]
Which model? [1]: 1
  [ok] model: Qwen3.8-Flash-Next

 使用するモデルは「Qwen3.8-Flash-Next」とした。

  1) Q2_0     2-bit, the fastest; download 66 GB, uses ~34 GB of RAM
  2) IQ2_XS   2-bit i-quant, a little better quality, close in speed; download 68 GB, uses ~36 GB of RAM
  3) IQ3_XXS  3-bit i-quant, better quality, slower (more CPU work per token); download 76 GB, uses ~43 GB of RAM
  4) IQ3_S    (recommended) 3.5-bit i-quant, the best quality (matches the full model), the slowest; needs a 64 GB PC with little else running; download 84 GB, uses ~50 GB of RAM
Which size? [4]: 4
  [ok] size: IQ3_S

 量子化は「IQ3_S」を選択した。速度よりも質を重視したことになる。

  Context length = how much text the model can see at once (your chat, files, tool output).
  Longer needs more VRAM for it, so fewer experts fit on the GPU:
  1) 8K tokens
  2) 32K tokens   (recommended for your GPU)
  3) 64K tokens
  4) 128K tokens
  5) 200K tokens
  6) 256K tokens
  7) 384K tokens   (experimental: setup adds rope scaling)
  8) 512K tokens   (experimental: setup adds rope scaling)
Context? [2]: 3
  [ok] context: 65536 tokens

 コンテキスト長は、さすがに32Kは少ないので64Kとした。通常のチャットならこれでいいが、エージェントとして使用するのであれば256Kがミニマムであることは頭に入れておこう。

  KV cache precision (the model's memory of the conversation):
  1) 8-bit   (recommended: what every published number was measured with)
  2) 4-bit   half the memory (about 4% faster at 128K), but measurably less precise on long
             documents; long-context lookups (needle tests) still pass
KV cache? [1]:
  [ok] KV cache: 8-bit
  [ok] images: off

 KVキャッシュは8bitでいいであろう。4bitを選択する理由が何もない。

  EXPERIMENTAL - speed projection: a small control vector applied while the model runs (layers 4-44).
  It changes how the model answers: its package describes it as a refusal-direction projection (the
  model declines far fewer requests). Off unless you choose it; when on, the web app can switch it off
  per chat. Details: data/experimental-speed-projection/README.md
Turn on the experimental speed projection? [n]:
  [ok] experimental speed projection: off

 実験的な機能はオフとした。

Strataで軽くベンチマーク

 第78回ではgpt-oss-120bとllama.cppでベンチマークを取ってみたところ、10tok/sくらいだった。同じ質問をStrata 0.2.1で実行してみたところ、次のような結果であった。

Strataのベンチマーク結果

 左下を見ると「10.9tok/s」とある。すなわち第78回とおおむね同じ結果となった。

 もちろんモデルのサイズがかなり大きくなっているにもかかわらず速度差がないというのはすごいことではあるが、もう一声ほしいというのが本音だ。

XeStrata

 Strataから派生したXeStrataは、StrataをIntel Arc向け(厳密にはSYCL向け)に高速化したものということで、Strataよりも速度が出そうだ。

 というわけで試してみることにした。

 インストールはリリースページからdebパッケージをダウンロードし、インストールするだけで簡単だ。今回はxestrata-contrib-cuda13.1_0.1.43-2_amd64.debをダウンロードした。

 端末を起動し、セットアップコマンドを実行する。

$ xestrata --setup

 質問項目はStrataで「./setup.sh --backend sycl」を実行したときとあまり変わらないので、詳細は省略する。もちろんモデルやコンテキストサイズはStrataと合わせてある。

 セットアップが完了したら、xestrataが起動する。次回以降は次のコマンドで起動する。

$ xestrata

XeStrataで軽くベンチマーク

 Strataと完全に同じ条件でベンチマークを取ったところ、次の結果となった。

XeStrataのベンチマーク結果

 左下を見ると「31.1 tok/s」とある。すなわちStrataと比較して3倍以上速い。これは素直に驚きだ。

ハードウェアが高価ならソフトウェアをカリカリにチューニング

 劉デスクによるonw — 俺のNPUがこんなに動くわけないやWindows 11のメモリ8GBへの最適化などを例に挙げるまでもなく、ハードウェアが高価であればソフトウェアをチューニングすればいいというのが最近のトレンドだ。

 StrataはQwen3.8-Flash-Nextという大きなモデルを普段遣いのPCで動かせるようにしたものであり、XeStrataはそれを別の方面から最適化したものだ。どちらも昨今のトレンドをそのまま表現しているかのようなものであった。もちろんコンセプトモデルではなく、実用性はある。

 とはいえ、さすがにエージェントとしてゴリゴリ使用するのであればIntel Arc B580 Challenger 12GB OCは力不足で、もっと高速でもっとVRAMが多いビデオカードをおすすめしたい。そしてコンテキストサイズを256Kほど確保するべきであろう。

 そして、いずれにせよメモリは64GB必要になるので、所持していなければ大枚を叩いて購入することになる。その額が出せるか、出せないのであればもっと小さなモデルで満足するか。何にせよ世知辛い世の中である。