ryugyosoft/Qwen3.6-35B-A3B-onw

Source: 🤗image-text-to-textapache-2.03B activated24 GBother✓ 46 checksumsupdated today
or submit a torrent

Qwen3.6-35B-A3B for onw — Intel NPU だけで動く(テキスト+画像)

日本語 | English

Qwen/Qwen3.6-35B-A3B を onw(俺のNPUがこんなに動くわけない)用に変換したモデルです。onw は LLM を Intel NPU だけで動かすエンジンで、このリポジトリにはモデルだけが入っています(エンジンは別にダウンロードします)。

総パラメータ 35B、1 トークンあたり約 3B が動く MoE(Gated DeltaNet 30 層+ゲート付きアテンション 10 層、256 エキスパートから 8 個+共有エキスパート)。テキストと画像に対応。半分のサイズの刈り込み版は ryugyosoft/Qwen3.6-REAP-18B-A3B-onw。

onw 3.2.1 で速くなりました(モデルの更新は不要):Panther Lake で生成 10.7 → 13.1 tok/s、約 6,000 トークンの文脈で 7.0 → 約 10 tok/s。Lunar Lake 以降の PC なら、さらに速く省メモリな NF4 版(Panther Lake で生成 15.6 tok/s、プロセスのメモリ 1.5 GB)を勧めます。

私たちの知る限り、MoE と Gated DeltaNet を組み合わせた 35B 級モデルを画像入力まで含めて NPU だけで動かす公開実装は onw が初めてです(2026 年 9 月、Fable 5.1 調べ。OpenVINO 公式は Qwen3.6 を CPU・GPU のみ対応としています)。

NPU 3720(Core Ultra 9 285HX)
入力 テキスト+画像
生成速度 6.8 tok/s(同じ NPU の dense 9B より速い)
プロンプト処理 画像+質問 281 トークン:画像 0.5 秒+処理 16 秒
プロンプト処理(onw 2.0、1024 トークン) 約 100 tok/s(約 10 秒)。Panther Lake では約 147 tok/s(メモリ 24 GB 以上の PC)
ダウンロード 17 GB
使用メモリ(読み込み後の作業セット) 約 20 GB(16 GB の PC ではエキスパートを SSD から読んで 約 13 GB)
初回起動(NPU 向けコンパイル)/2 回目以降 約 7 分/約 20 秒

対応 PC:NPU 付きの Intel Core Ultra(シリーズ 1/2:Meteor Lake・Arrow Lake・Lunar Lake、シリーズ 3:Panther Lake)、Windows 11 または Ubuntu 22.04 以降。上の数値はテスト機(NPU 3720)での実測で、NPU やメモリ量によって変わります。

使い方

  1. onw(エンジン)を入れます。 まだの場合は、onw の「インストール」 のとおり 1 行貼るだけです。Windows はスタートメニューで「PowerShell」を開き、次の 1 行を貼って Enter(Ubuntu は onw の README の curl ... | bash)。

    irm https://huggingface.co/ryugyosoft/onw/resolve/main/install.ps1 | iex
    
  2. タスクトレイの onw アイコンから開く onw ウィンドウ の「モデル」タブで Qwen3.6-35B-A3B を選び、「ダウンロード」を押します(17 GB)。

  3. 「サーバー」タブでモデルを選んで「ロード」を押します。初回だけ NPU 向けの準備に約 7 分かかります。

  4. 「チャット」ですぐ試せます。他のアプリからは OpenAI 互換 API として使えます(base URL は http://localhost:8000/v1)。

from openai import OpenAI
c = OpenAI(base_url="http://localhost:8000/v1", api_key="none")
r = c.chat.completions.create(model="Qwen3.6-35B-A3B-onw", messages=[{"role": "user", "content": "こんにちは"}])
print(r.choices[0].message.content)

上級者向け:hf download ryugyosoft/Qwen3.6-35B-A3B-onw で取得したフォルダを onw serve フォルダ で起動することもできます。Git LFS なしの git clone では重みが入らないので使わないでください(onw が検出して止めます)。

バージョン

  • v3(現在):onw 2.0 の高速なプロンプト処理用に、64 トークンのミキサー区間(seg*_S64m.xml)を追加しました。重みは v2 と同じで、古い onw でもそのまま使えます。
  • v2:区間の重みを共有、埋め込みを INT4 化、画像エンコーダーを INT8 化(18.3 → 17 GB)。エキスパートは 256 個すべて残しています。 onw 0.3 以降が必要です。--revision v2 で取り出せます。
  • v1:hf download ryugyosoft/Qwen3.6-35B-A3B-onw --revision v1 --local-dir ... で取り出せます。

ダウンロード量の削減の大半は同じ重みを 1 つにまとめたことによるもので、実行時は NPU がブロックサイズごとにコンパイル済みの重みを持つため、使用メモリの減り方は小さめです。

仕組み

  • 41 区間+出力層。各ルーターの直後で区切り、ホストが選ばれた 8 個のエキスパートの重みバッファを次の区間に結び付けます(コピーなし。10,240 個のエキスパートはチャネル単位 INT4 で NPU から見えるメモリ上)。
  • Gated DeltaNet は、生成時は行列形式、プロンプト処理はブロック倍々の厳密な逆行列によるチャンク並列形式(教科書どおりの級数展開は実データの FP16 で桁落ちするため)。出力は 1024 倍して FP16 の極小域を避けています。
  • 24.8 万語彙の出力層は全ブロックサイズで共有する INT8 入力。埋め込みと画像トークンの MRoPE の位置はホストで扱います。
  • onw 2.0 のプロンプト処理:プロンプト全体を層ごとに進め、64 トークンずつのミキサー区間(seg*_S64m.xml:アテンション/DeltaNet、ルーター、共有エキスパート)のあと、同じエキスパートを選んだトークンをまとめて、エキスパートを最大 32 個並べた行列積のグラフで一度に計算します。各エキスパートの重みはプロンプト全体で 1 回しか読みません。メモリ 24 GB 以上の PC で使われます。
  • 詳しくは onw の技術解説。

ファイル

ファイル 内容
seg*_S1.xml, seg*_S16.xml + seg*.bin 41 区間+出力層(重みは区間ごとに 1 ファイル)
seg*_S64m.xml onw 2.0 のプロンプト処理用、64 トークンのミキサー区間(重みは同じ seg*.bin)
experts.bin (+ .json) 40 層 × 256 エキスパート、チャネル単位 INT4
vision.xml INT8 の画像エンコーダー(512×512 → 256 トークン)
shared.bin INT8 の出力層、INT4 の埋め込み
engine.json、トークナイザー/設定ファイル onw 用のメタデータ、元のリポジトリの設定

品質

エキスパートなどはチャネル単位・グループ単位の INT4(四捨五入量子化)です。確認した範囲では最初のトークンの予測は bf16 と一致し、回答は自然ですが、数トークン先から言い回しが元のモデルと分かれることがあります。

ライセンス

Apache 2.0(元モデルと同じ)。重みは元モデルから再量子化・再構成したものです。