CoolFace
Modelpublic

tokimoa/stockmark-nemotron-3-nano-omni-japandocreader-mlx-4bit

sourceHugging Faceotherupdated 2mo agoView on Hugging Face
0likes82downloads
Model Card

Stockmark-Nemotron-3-Nano-Omni-JapanDocReader (MLX 4bit, verified)

Stockmarkの Stockmark-Nemotron-3-Nano-Omni-JapanDocReader(NVIDIA Nemotron-3-Nano-Omni-30B-A3Bベースの日本語文書読解特化・Mixed SFT+DAPOの2段訓練)をMLX 4bit(group size 64、実効4.76bpw)に量子化したものです。

30B級MoE(アクティブ約3B)なので、18GBの重み・ピークメモリ約23GBで動作し、生成約110 tok/sと高速です。32GB以上のApple Siliconを推奨します。

必要バージョン: mlx-vlm main(#1743修正込み)

mlx-vlm 0.6.8リリース版には、変換済みNemotron Omni系MLXモデルのロードで音声エンコーダ重みが二重転置されて壊れるバグがあります(当方が発見し Blaizzy/mlx-vlm#1743 で修正・本体へマージ済み)。0.6.8を超えるリリースが出るまでは、mainからインストールしてください:

bash
pip install "git+https://github.com/Blaizzy/mlx-vlm.git"

次期リリース以降は通常のpip install mlx-vlmで動作します。

使い方

プロンプトに<image>プレースホルダを明示するのがポイントです:

bash
python -m mlx_vlm generate \
  --model tokimoa/stockmark-nemotron-3-nano-omni-japandocreader-mlx-4bit \
  --image invoice.png \
  --prompt "<image>この請求書の合計金額はいくらですか?" \
  --max-tokens 700 --temperature 0.0 --trust-remote-code

Python APIの場合:

python
from mlx_vlm import load, generate
from mlx_vlm.prompt_utils import apply_chat_template
from mlx_vlm.utils import load_config

repo = "tokimoa/stockmark-nemotron-3-nano-omni-japandocreader-mlx-4bit"
model, processor = load(repo, trust_remote_code=True)
config = load_config(repo, trust_remote_code=True)

prompt = apply_chat_template(processor, config, "<image>この請求書の合計金額はいくらですか?", num_images=1)
out = generate(model, processor, prompt, image=["invoice.png"], max_tokens=700, temperature=0.0)
print(out.text)

変換品質の検証(tokimoa)

日本語ビジネス文書5種(請求書・議事録・契約条項・チェックシート・技術文書)の正解既知QA 6問で検証:

  • —6/6問正解(合計金額・表内の数量単価・×項目の特定・担当変更・条項の存続期間・数値指標の読み取り)— 余計な文を付けず簡潔に正答のみ返すスタイル
  • —同一入力の反復で出力完全一致(決定論的)
  • —参考: 同一ランタイムでベースモデル(mlx-community変換のNemotron-3-Nano-Omni-30B-A3B-Reasoning-4bit)も請求書正答を確認済み=ランタイム検証済み
  • —検証はthinking無効(mlx-vlm既定)で実施。上流はthinking有効・英語推論トレースで訓練されていますが、無効でも文書読解は簡潔・正確でした

注記: 6bit量子化も試しましたが出力が破綻したため(先頭<unk>+縮退ループを実測)、検証を通過した4bitのみ公開しています。音声入力(Omni機能)はこの検証のスコープ外です。

実測速度(M4 Max 36GB)

  • —生成: 約110 tok/s / プロンプト処理: 約460 tok/s(画像タイル込み約1,930トークン)
  • —ピークメモリ: 23.2GB(重み18GB)

変換情報

  • —変換元: stockmark/Stockmark-Nemotron-3-Nano-Omni-JapanDocReader(公式BF16、commit 5f8c45f)
  • —変換: mlx-vlm main(#1743修正込み) convert -q --q-bits 4(group size 64 affine、実効4.76bpw)
  • —変換者: tokimoa

ライセンス

NVIDIA Open Model Agreement(元モデルに準拠。全文)