avlp12 commited on
Commit
e4e3d46
·
verified ·
1 Parent(s): 6dbb7df

Correct vision-preservation claim: mlx-vlm-family community builds keep vision (not MTP)

Browse files
README.md CHANGED
@@ -36,7 +36,9 @@ Against bf16 this build is 54% of the size at 1.73× the decode speed, and it is
36
 
37
  ## The vision tower is intact
38
 
39
- Qwen3.8-27B is a vision-language checkpoint (`Qwen3_5ForConditionalGeneration`, `model_type: qwen3_5`), and **this is the first MLX build of it that keeps the vision weights.** I queried the remote weight index of all 12 MLX builds of this model published so far: every one of them carries **zero** vision tensors, including the ones with `-vision` in the repository name. Seven of the twelve ship a `preprocessor_config.json` describing an image pipeline whose weights are gone, which makes them look multimodal to tooling and then fail on the first image.
 
 
40
 
41
  This repo keeps all **333** `model.visual.*` tensors — 0.461B parameters, 0.92 GB — as the **original bf16 bytes**. The tower is not quantized at any bit-width in this set. The shipped `config.json` keeps `vision_config`, declares `Qwen3_5ForConditionalGeneration`, and sets `language_model_only: false`; `preprocessor_config.json` and `video_preprocessor_config.json` ship alongside weights that actually exist.
42
 
 
36
 
37
  ## The vision tower is intact
38
 
39
+ Qwen3.8-27B is a vision-language checkpoint (`Qwen3_5ForConditionalGeneration`, `model_type: qwen3_5`), and the standard text-only MLX conversion path **drops the vision weights entirely** — a text-only build carries zero vision tensors and cannot process an image.
40
+
41
+ **Correction (2026-08-16).** An earlier revision of this card claimed this was the first MLX build to keep the vision weights, and that the 12 other public MLX builds then surveyed all carried zero vision tensors. Both claims were wrong when published — the launch-day survey behind them was too narrow. mlx-vlm-family conversions created the same day, `mlx-community/Qwen3.8-27B-{4bit,8bit,mxfp4,nvfp4}` among them, preserve all 333 vision tensors (none of the four carries a single MTP tensor), and a fuller census on 2026-08-16 — 283 MLX-tagged Hub repos matching this model's name, derivatives and sidecar repos included — found text-only builds with zero vision tensors, mlx-vlm-family builds with vision but no MTP head, and other builds carrying **both** subsystems, several published before this set. This card therefore claims no first and no only. What it stands behind is what the weight index proves about these weights — the complete vision tower, unquantized, and the complete MTP head, together — plus the checks below that both paths actually run here: mlx-vlm image input and MTP and DSpark speculative decoding on the same weights. Whether other both-preserving builds load the same way, I have not tested.
42
 
43
  This repo keeps all **333** `model.visual.*` tensors — 0.461B parameters, 0.92 GB — as the **original bf16 bytes**. The tower is not quantized at any bit-width in this set. The shipped `config.json` keeps `vision_config`, declares `Qwen3_5ForConditionalGeneration`, and sets `language_model_only: false`; `preprocessor_config.json` and `video_preprocessor_config.json` ship alongside weights that actually exist.
44
 
assets/builds.png CHANGED

Git LFS Details

  • SHA256: b7daf4776e056f9a6787efdf6167dbb703b73c33677ab00d2d8d7e42ecda31a7
  • Pointer size: 131 Bytes
  • Size of remote file: 177 kB

Git LFS Details

  • SHA256: 6f372f51817899c6dd7102c11a8abab817d8369a29c931c05cebd96713f8b609
  • Pointer size: 131 Bytes
  • Size of remote file: 177 kB
assets/builds.svg CHANGED
assets/make_builds_png.py CHANGED
@@ -184,7 +184,7 @@ txt(858, 199, "quantizing buys decode, not prefill.", 13, MUT)
184
  txt(858, 262, "Vision tower kept, unquantized", 15, INK, "bold")
185
  txt(858, 284, "All three builds carry 333 vision tensors", 13, MUT)
186
  txt(858, 302, "in bf16 (2211 total, MTP head included).", 13, MUT)
187
- txt(858, 320, "The 12 other public MLX builds carry 0.", 13, MUT)
188
 
189
  txt(858, 380, "Only 16 of 64 layers hold KV", 15, INK, "bold")
190
  txt(858, 402, "48 GatedDeltaNet + 16 full attention.", 13, MUT)
 
184
  txt(858, 262, "Vision tower kept, unquantized", 15, INK, "bold")
185
  txt(858, 284, "All three builds carry 333 vision tensors", 13, MUT)
186
  txt(858, 302, "in bf16 (2211 total, MTP head included).", 13, MUT)
187
+ txt(858, 320, "Text-only MLX conversions carry 0.", 13, MUT)
188
 
189
  txt(858, 380, "Only 16 of 64 layers hold KV", 15, INK, "bold")
190
  txt(858, 402, "48 GatedDeltaNet + 16 full attention.", 13, MUT)