Jagle-VL-2.2B-Jagle-FineVision-MLX-8bit

llm-jpの日本語VLM Jagle-VL-2.2B-Jagle-FineVision(Qwen3-1.7B + siglip2ビジョンエンコーダ・InternVL型・llmjpvlアーキテクチャ)のMLX 8bit量子化版です。Apple Silicon Macで約2.5GB・実測142 tok/s(M4 Max)・ピークメモリ約4.3GBで動きます。

検証(正解既知の日本語文書QA 6問)

請求書・議事録・契約書・チェックシート等の実写風文書画像で、6問すべて内容正解を確認しています(合計金額880,000円・担当変更「鈴木から田中」・Recall@5で0.92 など)。決定論的設定(temperature 0)で検証。

重要: mlx-vlmへの3行パッチが必要です(2026-08-05時点)

本モデルのテキスト側はQwen3バックボーンですが、mlx-vlm 0.6.8のllmjpvl実装はllama/qwen2のみ対応です。以下のパッチで動きます(上流PR: Blaizzy/mlx-vlm#1801・マージ後は不要になります):

mlx_vlm/models/llmjpvl/language.py のAttentionに qwen3 のq/k RMSNormを追加:

# __init__ 内(head_dim算出後)
self.use_qk_norm = config.model_type == "qwen3"
if self.use_qk_norm:
    self.q_norm = nn.RMSNorm(head_dim, eps=config.rms_norm_eps)
    self.k_norm = nn.RMSNorm(head_dim, eps=config.rms_norm_eps)

# __call__ 内(reshape/transpose後・rope前)
if self.use_qk_norm:
    queries = self.q_norm(queries)
    keys = self.k_norm(keys)

あわせて LanguageModel.__init__ の対応リストに "qwen3" を追加し、config.pyTextConfighead_dim: Optional[int] = None を追加してください(head_dim = getattr(config, "head_dim", None) or hidden_size // n_heads)。

使い方

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

repo = "tokimoa/Jagle-VL-2.2B-Jagle-FineVision-MLX-8bit"
model, processor = load(repo, trust_remote_code=True)
config = load_config(repo, trust_remote_code=True)

prompt = apply_chat_template(processor, config, "この画像に何が写っていますか。", num_images=1)
out = generate(model, processor, prompt, image=["doc.png"], max_tokens=400, temperature=0.0)
text = out.text
# 出力冒頭にチャネルトークンが付くため剥がす(上流READMEと同じ後処理)
for tok in ["<|channel|>final<|message|>", "<|return|>"]:
    text = text.replace(tok, "")
print(text.strip())

補足

  • 4bit量子化は非公開としました。 手元の検証で応答の冗長化・思考トークン混入・QA誤答の増加が見られたためです(このアーキテクチャは量子化感度が高め)。8bitは上記のとおり安定しています。
  • ベースモデルの学習データ(FineVision)にはプロプライエタリモデル出力由来のデータが含まれる旨が上流カードに記載されています。利用時はその点に留意してください。

ライセンスと帰属


Converted by tokimoa — データを外に出さないAI活用を支援しています

Downloads last month
16
Safetensors
Model size
0.9B params
Tensor type
BF16
·
U32
·
MLX
Hardware compatibility
Log In to add your hardware

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for tokimoa/Jagle-VL-2.2B-Jagle-FineVision-MLX-8bit

Quantized
(1)
this model

Paper for tokimoa/Jagle-VL-2.2B-Jagle-FineVision-MLX-8bit