ToPo-ToPo/Agents-A1-4B-mlx-bf16
MLX bf16 conversion of InternScience/Agents-A1-4B for Apple Silicon (mlx-vlm).
Agents-A1-4B is a Qwen3_5ForConditionalGeneration (Qwen3.5-VL family) vision-language
model. The text tower uses a hybrid of linear attention and full attention
(full_attention_interval: 4) with interleaved MRoPE.
Provenance (self-converted from official weights)
- Source:
InternScience/Agents-A1-4B(license: apache-2.0) - Tool:
mlx-vlm 0.6.6—mlx_vlm.convert --hf-path InternScience/Agents-A1-4B --mlx-path . --dtype bfloat16 - Effective: 16 bits/weight (unquantized)
- Size on disk: 8.5 GB — peak memory 9.9 GB, ~70 tok/s generation (M-series, short prompt)
Effective bit width is higher than nominal because embeddings and parts of the vision tower are kept at higher precision (mlx default behaviour).
Validation
Checked after conversion: correctly described a synthetic test image (red square / blue circle, both shape and colour), and answered a text-only arithmetic prompt correctly. This is a smoke test, not a benchmark — no eval suite was run.
Usage
from mlx_vlm import load, generate
model, processor = load("ToPo-ToPo/Agents-A1-4B-mlx-bf16")
CLI:
mlx_vlm.generate --model ToPo-ToPo/Agents-A1-4B-mlx-bf16 \
--image path/to/image.png --prompt "Describe this image." --max-tokens 200
Requirements
mlx-vlm >= 0.6.6. Earlier versions do not implement the qwen3_5
architecture and cannot load or convert this model.
License
Apache-2.0, inherited from the base model. Weights were converted/quantized to MLX format; no other modification to the weights.
Note on config files
tokenizer_config.json and processor_config.json were re-serialized by
transformers 5.14.1 during conversion, so they differ textually from upstream:
the chat template now lives in chat_template.jinja (byte-identical to upstream),
special tokens moved into model_specific_special_tokens, and the image processor
uses min_pixels/max_pixels instead of size/resample. The tokenizer was
verified functionally identical to upstream (identical vocab, and identical
encode/decode on a spot-check set). Users on transformers 4.x should prefer the
upstream config files.