gemma-4-E4B-it-onw / README.md
ryugyosoft's picture
Card: supported PCs incl. Panther Lake
bef2ec5 verified
|
Raw History Blame Contribute Delete
6.42 kB
metadata
license: apache-2.0
base_model: google/gemma-4-E4B-it
pipeline_tag: image-text-to-text
library_name: openvino
tags:
  - openvino
  - npu
  - intel
  - intel-npu
  - gemma4
  - onw
language:
  - ja
  - en

gemma-4-E4B-it for onw — Intel NPU だけで動く(テキスト+画像)

日本語 | English

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

テキストと画像に対応。単独版 ryugyosoft/gemma-4-E4B-it-npu と同じ検証済みの NPU グラフを、共通エンジンで動かします。

私たちの知る限り、画像エンコーダーと層ごとの埋め込みまで含めて Gemma 4 全体を NPU で動かす公開実装は onw が初めてです(2026 年 9 月、Fable 5.1 調べ。Intel 公式の OpenVINO GenAI は画像エンコーダーを CPU で動かし、他の公開例はテキストのみです)。

NPU 3720(Core Ultra 9 285HX)
入力 テキスト+画像
生成速度 7.2 tok/s(先読み検証あり、出力は通常生成と同一)
プロンプト処理 画像+質問 284 トークン:画像 1.9 秒+処理 2.0 秒(64 トークン版、RAM 24 GB 以上)
ダウンロード 4.3 GB
使用メモリ(読み込み後の作業セット) 約 6 GB(画像処理中 8.5 GB)
初回起動(NPU 向けコンパイル)/2 回目以降 約 4 分/約 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 ウィンドウ の「モデル」タブで gemma-4-E4B-it を選び、「ダウンロード」を押します(4.3 GB)。

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

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

onw ウィンドウの「モデル」タブ

「サーバー」タブ 「設定」タブ

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

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

バージョン

  • v2(現在):デコーダーの重みを 1/16/64 トークン用で共有、層ごとの埋め込み表を INT4 化(9.2 → 4.3 GB、使用メモリ 16.1 → 14.8 GB)。回答は v1 と同じでした。 onw 0.3 以降が必要です。
  • v1:hf download ryugyosoft/gemma-4-E4B-it-onw --revision v1 --local-dir ... で取り出せます。

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

仕組み

  • Gemma 4 用に書き換えた静的デコーダー(ヘッド次元 512 のアテンションを 256 幅に分割、マスクはホストで作成)をそのまま取り込んでいます。
  • 埋め込みと 2.7 GB の層ごとの埋め込み表はホストで引きます(表を引くだけなので NPU メモリを使わず、単独版にあった別プロセスも不要)。
  • 出力層は全ブロックサイズで共有する INT8 入力。logit の softcap は NPU コンパイラの不具合を避ける形で組んでいます。
  • 詳しくは onw の技術解説。

ファイル

ファイル 内容
seg00_S{1,16,64}.xml + seg00.bin 静的デコーダー(1/16/64 トークン用、重みは共有)
seg01_S*.xml + seg01.bin 出力層と logit softcap
vision.xml 静的な画像エンコーダー(280 トークン)
shared.bin INT8 の埋め込み(出力層と共有)、INT4 の層ごとの埋め込み表と ID 変換表
engine.json、トークナイザー/設定ファイル onw 用のメタデータ、元のリポジトリの設定

品質

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

ライセンス

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