onwx-halo — Ryzen AI Max の GPU と NPU で LLM

onwx-halo は、AMD Ryzen AI Max(Strix Halo)の PC で大きな言語モデルを動かすアプリです。 モデル(GGUF)は内蔵の Radeon GPU が動かし、XDNA2 NPU がプロンプトの読み込みの一部を手伝います。 チャット画面、OpenAI 互換 API、タスクトレイのモデル管理は、NPU 専用アプリ onwx と同じです。

  • エンジン:gufo(MIT ライセンス)をもとにした onwx-halo エンジン(onwx/bin/halo/onwx_halo.dll)。HIP / rocBLAS / hipBLASLt は AMD TheRock の Windows 版ランタイムを同梱しています(gfx1151 用のものだけ)
  • トークナイザーとチャットテンプレートは GGUF の中の情報から作ります(llama.cpp と同じトークン列になることを確認済み)
  • onwx と並べて入れられます:インストール先 %LOCALAPPDATA%\onwx-halo、設定 %APPDATA%\onwx-halo、スタートメニュー「onwx-halo」、API の既定ポート 8110

動くモデル

モデル ファイル(取得元) 大きさ プロンプト読み込み 生成
Qwen3.6 35B-A3B Qwen3.6-35B-A3B-UD-Q4_K_XL.gguf(MTP 付き版、unsloth/Qwen3.6-35B-A3B-MTP-GGUF) 22.9 GB 約 2,200〜3,000 tok/s 約 57 tok/s、MTP 併用で 考える・要約 84〜93 tok/s、物語など 62〜69 tok/s
Qwen3.8 27B Qwen3.8-27B-UD-Q4_K_XL.gguf(unsloth/Qwen3.8-27B-GGUF)+ ドラフト Qwen3.8-27B-DFlash2-Q4_K_M.gguf(z-lab/Qwen3.8-27B-DFlash2-GGUF) 17.6 GB + 1.1 GB 約 590〜720 tok/s 約 11 tok/s、ドラフト併用で コード 34〜36 tok/s、説明文 20 tok/s前後
NVIDIA Nemotron 3.5 Bolt 74B-A9B NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB.gguf(nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB-GGUF) 22.0 GB + ドラフト 0.95 GB 約 1,000〜1,160 tok/s 約 35 tok/s、ドラフト併用で 考える・要約 55〜89 tok/s、物語など 30〜35 tok/s
Ternary Bonsai 2 27B Ternary-Bonsai-2-27B-PQ2_0.gguf(prism-ml/Ternary-Bonsai-2-27B-gguf)+ Qwen3.8 27B と同じドラフト 7.2 GB + 1.1 GB 約 520〜640 tok/s 約 25 tok/s、ドラフト併用で コード 31〜33 tok/s

速度は Ryzen AI Max+ 395(128 GB)で測った値です(プロンプトは数千トークンのとき)。モデルは配布元のリポジトリからそのままダウンロードします(onwx-halo はモデルを再配布しません)。 同じ GGUF がすでに PC にあれば、モデル画面の「ほかの場所」→「追加…」でそのフォルダを登録すれば使えます。 使うときは各モデルのライセンス(Qwen・Ternary Bonsai:Apache-2.0、Nemotron:NVIDIA のライセンス)に従ってください。

使用メモリ(NPU とドラフトを使うとき、文脈 32K トークンまでの会話):Qwen3.6 約 24〜25 GB、Nemotron 約 24〜25 GB、Qwen3.8 27B 約 21〜23 GB、Ternary Bonsai 2 27B 約 14〜15 GB。 KV キャッシュは会話が伸びた分だけ確保するので、文脈の設定を長くしてもそれだけではメモリは増えません(設定の長さまで会話が伸びたときの量はモデル画面に出ます)。 設定「KV キャッシュを 8 ビットにしてメモリを減らす」をオンにすると、その KV キャッシュがほぼ半分になります(Qwen3.8 27B・Ternary Bonsai 2 27B・Qwen3.6。32K トークンの会話で 27B は約 1 GB 減)。

Ternary Bonsai 2 27B:PrismML の 3 値(-1 / 0 / +1)重みの 27B(Qwen3.8 27B と同じ構造)。重みは 7.2 GB で、メモリの少ない PC でも 27B が動きます。先読みには Qwen3.8 27B 用の DFlash-2 ドラフトをそのまま使います(モデルのダウンロードで一緒に入ります)。

ドラフトモデル(Nemotron):NVIDIA が配布している先読み用の小さなモデル(nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB-LiLiCorr-GGUF)を本体と同じフォルダにダウンロードします。ドラフトが数トークン先を予想し、本体がまとめて確かめるので、予想が当たりやすい文章(考える過程、要約、決まった形の答え)ほど速くなります。サンプリング(温度など)をしても出てくる文章の確率は変わりません。当たりにくい文章では自動で普通の生成に戻ります。手元の GGUF を使う場合は、NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB-LiLiCorr.gguf を本体と同じフォルダに置けば使われます(環境変数 ONWX_HALO_DRAFT=0 で使わない)。

必要なもの

  • AMD Ryzen AI Max(Strix Halo、Radeon 8060S / 8050S)の PC。メモリ 64 GB 以上を推奨(Ternary Bonsai 2 27B なら 32 GB でも動きます)。GPU が使えるのは「専用 GPU メモリ(BIOS / AMD Software で割り当てた量)+ 残りの半分」までです
  • Windows 11、AMD のグラフィックスドライバーと NPU ドライバー(Ryzen AI ソフトウェア)
  • Python 3.10 以上(なければセットアップが winget で入れることを提案します)
  • ディスク:アプリ約 0.3 GB + モデル 1 つあたり約 22 GB

インストール

このリポジトリは今は非公開です。Hugging Face にログイン(hf auth login)した PC で、PowerShell から:

$h = @{ Authorization = "Bearer $(Get-Content $env:USERPROFILE\.cache\huggingface\token)" }
irm -Headers $h https://huggingface.co/ryugyosoft/onwx-halo/resolve/main/install.ps1 | iex

%LOCALAPPDATA%\onwx-halo にダウンロードして(別の場所にするときは $env:ONWX_HALO_DIR を短いパスに:PowerShell 5.1 は 260 文字を超えるパスを扱えません) setup.bat を実行します。Python の環境を作り、スタートメニューに「onwx-halo」を追加し、タスクトレイで起動します。 開いた画面の「モデル」タブでモデルをダウンロードし、「ロード」を押してください。チャット画面は http://localhost:8110/chat 、API は http://localhost:8110/v1 です。

手動で入れる場合:このリポジトリを好きなフォルダにダウンロードして setup.bat を実行します。

設定

  • NPU にもプロンプトの読み込みを手伝わせる(設定 → サーバーと API):既定でオン。オフにすると GPU だけで動きます。モデルを読み込み直すと反映されます
  • API からモデルを切り替える(設定 → サーバーと API):既定でオン。/v1/models にこのパソコンのモデルが全部出て(文脈長 context_length、最大出力 max_output_tokens つき)、リクエストの model に別のモデルの ID を指定すると、今のモデルを閉じてそれを読み込みます(10〜20 秒ほど)
  • 文脈の長さ、API キー、LAN からの接続、生成の既定値などは onwx と同じです

アンインストール

インストール先の uninstall.bat を実行します(アプリ、設定、ダウンロードしたモデル、スタートメニューの項目を消します。追加したフォルダのモデルは消しません)。

ライセンス

  • アプリ:Apache-2.0(LICENSE)
  • エンジン:gufo(MIT)とその同梱ライブラリの表示は onwx/bin/halo/licenses/gufo/
  • AMD ROCm(TheRock)のランタイム:各コンポーネントのライセンスは onwx/bin/halo/licenses/rocm/。詳しくは onwx/bin/halo/licenses/README.txt
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support