ryugyosoft/granite-4.2-8b-nf4-onw

Source: 🤗text-generationapache-2.08B activated6.2 GBother✓ 7 checksumsupdated 2d ago
or submit a torrent

granite-4.2-8b NF4 for onw — Lunar Lake 以降の Intel NPU 専用の高速版

日本語 | English

ibm-granite/granite-4.2-8b を onw(俺のNPUがこんなに動くわけない)用に変換したモデルの、重みを NF4 中心にした版です。通常版(INT4)は ryugyosoft/granite-4.2-8b-onw。

Lunar Lake(Core Ultra シリーズ 2、NPU 4000)以降の NPU 専用です。 NF4 は NPU 4 以降のハードウェアでしか計算できず、Meteor Lake・Arrow Lake(NPU 3720)では動きません(onw 2.1.0 以降の onw ウィンドウは、Lunar Lake 以降の PC でだけモデル一覧に出します。NPU 3720 の PC は通常版を使ってください)。

IBM の Granite 4.2 の 8B(思考とツール呼び出しを強化した世代、Llama 型。精度重視のサイズ)です。モデルの説明・思考とツール呼び出しの使い方は通常版のカードを見てください。

この版の重みは、チャネル単位の NF4(NormalFloat4:4 ビットの 16 段階を正規分布の形に並べた量子化。倍率が 1 行に 1 つ)を基本に、誤差が出やすいアテンションの入力(q/k/v_proj)と MLP の出力(down_proj)だけをチャネル単位の INT8 にしています。通常版(グループ 128 の INT4)より元のモデルに近く、NPU の計算も軽くなるので、生成もプロンプト処理も速くなります。

Panther Lake(Core Ultra X7 358H、NPU 5010、メモリ 64 GB)・onw 2.1.0 通常版(INT4) この版(NF4)
生成速度 5.4 tok/s(onw 2.0.3) 約 8.8〜9.2 tok/s
プロンプト処理(約 900 トークン) 179 tok/s(onw 2.0.3、1,024 トークン) 約 160 tok/s
プロンプト処理(約 3,600 トークン) — 約 82 tok/s
使用メモリ(onw のプロセスの専用メモリ/作業セットのピーク) — 約 11.4/12.5 GB
1 トークンあたりの電力量(パッケージ全体、生成中) — 約 1.3 J(平均 11 W)
ダウンロード 5.0 GB 6.2 GB
初回起動(NPU 向けコンパイル)/2 回目以降/キャッシュの大きさ 約 23 分(onw 2.0.3) 約 11 分/約 16 秒/10.5 GB

(通常版の値は onw 2.0.3 での実測。電力量は Windows の Energy Meter のパッケージ全体の値で、画面などは含みません。Lunar Lake では未計測です。)

品質

元のモデル(bf16、CPU)と、同じ 512 トークンの文章で教師強制で比べた結果です(各位置の 1 位の予測の一致率と、確率分布の差 KL の平均)。

1 位の一致 KL(小さいほど元に近い)
通常版(INT4) 85.5% 0.132
この版(NF4+INT8) 88.5% 0.097

使い方

  1. onw(エンジン)2.1.0 以降を入れます(onw の「インストール」)。
  2. onw ウィンドウの「モデル」タブで Granite 4.2 8B (NF4) を選び、「ダウンロード」を押します(6.2 GB。Lunar Lake 以降の PC でだけ表示されます)。
  3. 「サーバー」タブで「ロード」。初回だけ NPU 向けの準備に約 11 分かかります。あとは通常版と同じです。

上級者向け:hf download ryugyosoft/granite-4.2-8b-nf4-onw で取得したフォルダを onw serve フォルダ で起動できます。

仕組み

  • 40 層を 8 層ずつ 5 区間+出力層の区間にした静的グラフ(2 トークン用と 64 トークン用だけ。Lunar Lake 以降の onw は 2 トークン用のグラフで回答を生成し、貪欲生成では空いた 1 行で会話の中から見つけた下書きを確かめます)。
  • 区間の重み:o_proj・gate_proj・up_proj はチャネル単位 NF4(OpenVINO の nf4 型)、q/k/v_proj・down_proj はチャネル単位 INT8。出力層は INT8、埋め込みは INT4(ホストで参照)で通常版と同じです。重みは区間ごとに 1 ファイル(seg*.bin、2 トークン用と 64 トークン用で共有)。
  • onw 2.1.0 の試験的な「融合グラフ」(ONW_FUSED=1。区間ごとに NPU を 1 回呼ぶだけにする)では生成がさらに速くなります(Panther Lake で約 11 tok/s)が、コンパイル済みのキャッシュがモデルの約 6〜7 倍になるので既定ではオフです。詳しくは onw の技術解説。

ライセンス

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