CoolFace
Modelpublic

tokimoa/llm-jp-4-vl-9b-beta-mlx-bf16

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes264downloads
Model Card

llm-jp-4-vl-9b-beta (MLX bf16, reference-verified)

LLM勉強会(llm-jp)の llm-jp-4-vl-9b-beta(日英対応9B VLM。InternVL型グルー×SigLIP×llm-jp-4-8bの構成)のMLX bf16変換版です。

当方で移植したMLX実装はmlx-vlm本体にマージ済み(0.6.8で標準対応)です(llmjpvl/ディレクトリ)。mlx-vlm 0.6.8以降ではそのまま使えます。

transformers公式実装(bf16・MPS)とgreedy出力が文字列レベルで完全一致することを確認した、移植の基準となる版です。通常利用には高速・省メモリな 8bit(bf16と全問一致)か 4bit を推奨します。

導入手順

mlx-vlm 0.6.8以降なら追加手順は不要です(この移植実装は#1738で本体にマージされ、0.6.8に収録されました。0.6.8での動作を実測確認済み):

bash
pip install mlx-vlm

<details><summary>0.6.7以前を使う場合(旧手順)</summary>

repo同梱のllmjpvl/をmlx_vlm/models/へコピーしてください(詳細は旧版カード参照)。

</details>

使い方

python
from mlx_vlm import load, generate

model, processor = load("tokimoa/llm-jp-4-vl-9b-beta-mlx-bf16", trust_remote_code=True)

text = processor.apply_chat_template(
    [{"role": "user", "content": "<image>この請求書の合計金額はいくらですか?"}],
    tokenize=False, add_generation_prompt=True,
)
out = generate(model, processor, text, image=["invoice.png"], max_tokens=256, temperature=0.0)
print(out.text)

変換品質の検証(tokimoa)

  • —transformers公式実装(bf16・MPS・greedy)との比較で、日本語ビジネス文書5種(請求書・議事録・契約条項・チェックシート・技術文書)の正解既知QA 6問すべてが文字列レベルで完全一致(前処理・後処理を揃えた条件)
  • —独立に書いた検証スクリプト2種・反復実行で出力完全一致(決定論的)
  • —議事録の長文説明(約200トークン生成)でも事実関係(数値・担当変更・期日)を正確に抽出

実測速度(M4 Max 36GB)

  • —生成: 17.9 tok/s / プロンプト処理: 429 tok/s(画像3,370トークン・512px×最大12タイル)
  • —ピークメモリ: 20.6GB(重み17GB)

変換情報

  • —変換元: llm-jp/llm-jp-4-vl-9b-beta(公式BF16、commit 783c4a9)
  • —MLX実装: mlx-vlm 0.6.7の部品(InternVL型グルー+SigLIP+Llama)を組み合わせた移植パッケージllmjpvl(このrepoに同梱)
  • —変換: mlx-vlm 0.6.7 convert(量子化なし・bf16)
  • —兄弟repo: 8bit(bf16と6/6完全一致・12.5GB・38.7 tok/s)/ 4bit(GT 6/6正解・8.2GB・61.7 tok/s)
  • —変換者: tokimoa

ライセンス

Apache-2.0(元モデルに準拠)