Summary
Serving certain small multimodal checkpoints for plain text through the mlx-vlm (VLM) lane produces broken output. Found while trying to add Gemma/Mistral legs to the L1 CI smoke (PR #1366) — their only small models are multimodal.
Evidence — real macos-14 (M1) hosted runner, rapid-mlx 0.11.4, mlx-vlm 0.6.3
[vision] installed → auto-routed to the mlx-vlm lane:
--no-mllm (force text-only mlx-lm lane):
Ministral-3-2512: 5/6 golden (one flaky miss) — usable.
gemma-4-e2b: still 0/6 on macos-14 (M1) / 0.11.4 — but 6/6 on local M3 / rapid-mlx 0.11.0. So gemma-4-e2b text-lane coherence diverges by engine-version and/or hardware.
Impact
Repro
pip install -e ".[vision]"
rapid-mlx serve gemma-4-e2b-4bit --port 8123 --no-thinking # ask "capital of Japan?" -> garbage
rapid-mlx serve ministral-3b-4bit --port 8123 --no-thinking # first completion hangs
Asks
- Fix/triage the mlx-vlm text-generation path for these small VLMs (or make a text-only request fall back to the LM backbone instead of hanging/garbling).
- Root-cause the
gemma-4-e2b text-lane 0/6 on 0.11.4/M1 vs 6/6 on 0.11.0/M3 — regression vs an M1 Metal-kernel issue.
Workaround
Serve with --no-mllm to force the text-only mlx-lm lane (fixes Ministral; gemma-4-e2b still needs ask #2).
Filed from the release-flow L1 gate work (PR #1366).
Summary
Serving certain small multimodal checkpoints for plain text through the mlx-vlm (VLM) lane produces broken output. Found while trying to add Gemma/Mistral legs to the L1 CI smoke (PR #1366) — their only small models are multimodal.
Evidence — real macos-14 (M1) hosted runner, rapid-mlx 0.11.4, mlx-vlm 0.6.3
[vision]installed → auto-routed to the mlx-vlm lane:gemma-4-e2b-4bit: serve READY, coherence gate [P0] Add an always-on output-coherence gate (real serve path, golden answers + garbage detector) #1247 → 0/6 golden (all wrong / incoherent).Ministral-3-3B-Instruct-2512-4bit: serve READY, first chat completion hangs — coherence request times out at 90s, server becomes unreachable.--no-mllm(force text-only mlx-lm lane):Ministral-3-2512: 5/6 golden (one flaky miss) — usable.gemma-4-e2b: still 0/6 on macos-14 (M1) / 0.11.4 — but 6/6 on local M3 / rapid-mlx 0.11.0. So gemma-4-e2b text-lane coherence diverges by engine-version and/or hardware.Impact
[vision]and chats text-only with these small VLMs gets garbage (gemma) or a hang (Ministral): the vision lane's text-generation path is unsafe for these checkpoints.Repro
Asks
gemma-4-e2btext-lane 0/6 on 0.11.4/M1 vs 6/6 on 0.11.0/M3 — regression vs an M1 Metal-kernel issue.Workaround
Serve with
--no-mllmto force the text-only mlx-lm lane (fixes Ministral; gemma-4-e2b still needs ask #2).Filed from the release-flow L1 gate work (PR #1366).