tokimoa/llm-jp-4-vl-9b-beta-mlx-8bit
0151
llm-jp-4-vl-9b-beta (MLX 8bit, verified)
LLM勉強会(llm-jp)の llm-jp-4-vl-9b-beta(日英対応9B VLM。InternVL型グルー×SigLIP×llm-jp-4-8bの構成)をMLX 8bit(group size 64、実効8.843bpw)に量子化したものです。
当方で移植したMLX実装はmlx-vlm本体にマージ済み(0.6.8で標準対応)です(llmjpvl/ディレクトリ)。mlx-vlm 0.6.8以降ではそのまま使えます。
検証セットでの出力がbf16版と全問文字列一致した、品質劣化の見えない構成です。速度はbf16の約2倍・メモリは6割です。
導入手順
mlx-vlm 0.6.8以降なら追加手順は不要です(この移植実装は#1738で本体にマージされ、0.6.8に収録されました。0.6.8での動作を実測確認済み):
pip install mlx-vlm<details><summary>0.6.7以前を使う場合(旧手順)</summary>
repo同梱のllmjpvl/をmlx_vlm/models/へコピーしてください(詳細は旧版カード参照)。
</details>
使い方
from mlx_vlm import load, generate
model, processor = load("tokimoa/llm-jp-4-vl-9b-beta-mlx-8bit", 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)
同梱のMLX実装は、bf16変換版でtransformers公式実装(bf16・MPS)とのgreedy出力一致検証を実施済みです(前処理・後処理を揃えた条件で、日本語ビジネス文書QA 6問すべて文字列レベルで完全一致)。
この8bit版の検証:
- 日本語ビジネス文書5種(請求書・議事録・契約条項・チェックシート・技術文書)の正解既知QA 6問で 6/6問正解・bf16版とgreedy出力が文字列レベルで完全一致
- 議事録の長文説明(約200トークン生成)でも事実関係(数値・担当変更・期日)を正確に抽出
実測速度(M4 Max 36GB)
- 生成: 38.7 tok/s / プロンプト処理: 504 tok/s(画像3,370トークン・512px×最大12タイル)
- ピークメモリ: 12.5GB(重み9.3GB)
変換情報
- 変換元:
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.7convert -q --q-bits 8(group size 64 affine、実効8.843bpw) - 兄弟repo: bf16(参照一致検証済み・20.6GB)/ 4bit(GT 6/6正解・8.2GB・61.7 tok/s)
- 変換者: tokimoa
ライセンス
Apache-2.0(元モデルに準拠)
