Z-Image-Turbo for onw-Image (FP8, Intel NPU / Panther Lake)
日本語 | English
Tongyi-MAI/Z-Image-Turbo を、Intel NPU で動かすアプリ onw-Image 用に変換したモデルです(Panther Lake 向け FP8 版)。単体では使えません。 onw-Image を入れると、このモデルも自動でダウンロードされます。
irm https://huggingface.co/ryugyosoft/onw-image/resolve/main/install.ps1 | iex
内容
| フォルダ・ファイル | 中身 |
|---|---|
dit2/ |
DiT(画像生成本体、6B)。OpenVINO IR、FP8(e4m3、重み・活性化とも)。全層共通の形(30 層+refiner 4 層。種類ごとに同じグラフで、重みだけが違う) |
dit2_vec.npz |
層ごとの正規化用ベクトル(ホスト側で使用) |
te_seg/ |
テキストエンコーダー(Qwen3-4B の 35 層)。INT8 重み、5 層ずつ 7 グラフ。RoPE は NPU で正しく計算できる行列積の形(0.2) |
vae/ |
VAE デコーダー(FLUX VAE)、fp16 |
host/ |
ホスト側で計算する小さな部分(時刻埋め込み、変調、最終層など)と、トークンの埋め込み表(INT8+行ごとの尺度、0.2 で 778 MB → 389 MB) |
tokenizer.json |
トークナイザー |
- 対象:Panther Lake(Core Ultra シリーズ 3、NPU 5010 以降)、Windows 11。FP8 を NPU がそのまま計算できるのは NPU 5000 以降です
- FP8 なのは DiT(5.7 GB)です。テキストエンコーダー(3.3 GB)は INT8 版と同じ INT8 重みです
- 初回起動時に NPU 向けのコンパイル(約 8 分)が走り、結果はこのフォルダの
npu_blobs3/に保存されます(重みを持たない圧縮形式で合計約 8 MB。全層で 1 つのグラフを使い回します) - 1024×1024、9 ステップで 1 枚約 48 秒(onw-Image 0.3、2 枚目以降。テキストエンコーダー・DiT・VAE の合計)
変換について
- 重み・活性化とも FP8(e4m3)。画像トークンは静的な尺度、プロンプトのトークンはトークンごとの尺度
- 全層で同じグラフ(0.2):層ごとに違う値をグラフの外へ出しています。画像側の活性化の尺度はホスト側の変調ベクトルと 重みに折り込み、重みの尺度は種類ごとに全層共通の 2 のべき乗(出力チャネルごとの尺度と同じ誤差 2.7%)、 プロンプト側の補正係数は実行時の入力です。w1 と w3 は別の畳み込みです(1 つにまとめると w3 側が FP8 の下限に沈むため)
- 画像側とプロンプト側の畳み込みは 1 つの重みを共有します(ファイルにも NPU 上にも重みは 1 組)
- アテンションはマスクを使わず、詰め物のトークンの k・v を 0 にし、v に「本物のトークン」の印の列を足してその値で割ります
- fp32 の元モデルとの比較(同じノイズから、NPU 5010 上):ステップごとの誤差 19% / 10% / 3.5%(1・5・9 ステップ目)。テキストエンコーダーまで含めた画像全体では PSNR 16.3 dB
- テキストエンコーダー(0.2):NPU 上の出力と fp32 の元モデルとの差 1.3〜1.5%(0.1 は RoPE の計算が NPU で崩れて 8.2%)
ライセンス
元のモデルと同じ Apache License 2.0 です。元モデル:Tongyi-MAI/Z-Image-Turbo(テキストエンコーダーは Qwen3-4B、 VAE は FLUX VAE を含みます)。
- Downloads last month
- 42
Model tree for ryugyosoft/Z-Image-Turbo-onw-image-fp8
Base model
Tongyi-MAI/Z-Image-Turbo