Qwen3-VL 30B-A3B Instruct — MLX 4-bit

This repository contains a 4-bit MLX conversion of Qwen/Qwen3-VL-30B-A3B-Instruct, validated for Apple Silicon and Darkbloom provider serving.

The weight conversion was produced by the LM Studio team and originally published as lmstudio-community/Qwen3-VL-30B-A3B-Instruct-MLX-4bit. Eigen Labs did not re-quantize the weights. This mirror preserves those tensors, repairs the converted snapshot's stale safetensor index, adds detailed provenance, and records Darkbloom-specific validation.

Artifact identity

Field Value
Darkbloom model tag qwen3-vl-30b-a3b-instruct
Architecture qwen3_vl_moe
Base model Qwen/Qwen3-VL-30B-A3B-Instruct
Base architecture 30B total / approximately 3B active MoE
Quantization MLX affine 4-bit, group size 64
Weight shards 4 safetensor shards
Quantized tensor bytes 18,251,885,024
LM Studio source revision 61c11f42d7bc01e00f5ea7f2e667c0a216f48397
Original conversion base revision f562840f045590fb51be9ebb5e890141d51684c2
Darkbloom R2 version 2026-08-28-r1
Darkbloom aggregate SHA-256 45327562e9de4bdac5c2d36df675aa1d8a981f9edf5dee419609e2e51bd82fff
Public Darkbloom manifest manifest.json
License Apache-2.0

Validation

The exact artifact in this repository was checked as follows:

  • All 19 files from the LM Studio source snapshot passed Hugging Face cache verification.
  • chat_template.json is byte-identical to the official Qwen template (SHA-256 5c72a170d2a4a1a3bc5adad2e689ae28138a9700e5b8c96c0266331e86c0acce).
  • chat_template.jinja is exactly the decoded official chat_template.json template.
  • All three runtime template sources (chat_template.jinja, chat_template.json, and tokenizer_config.json) passed Darkbloom's canonical Swift-Jinja render suite, including text, tools, null-bearing tool schemas, image parts, and video parts.
  • The tokenizer has the same 151,643 base vocabulary entries, 151,387 BPE merges, and 26 added tokens as the original. LM Studio's array-form merge serialization is semantically identical to Qwen's string-form serialization.
  • Existing tokenizer and image/video processor values match the original; the conversion only materializes otherwise implicit defaults and identifies Qwen3VLProcessor.
  • The model parameter names match the original architecture. The converted tensors add the expected 386 scale and 386 bias arrays for MLX quantization.
  • Text completion, function-call generation, tool-response continuation, and image inference were exercised through the shipping Swift runtime.
  • A 100×100 red PNG with the prompt “What color is this image?” returned red.

Safetensor index repair

The LM Studio snapshot carried the original BF16 model.safetensors.index.json, which referenced 13 absent shards and reported 62,141,508,064 bytes. This mirror regenerates the index from the four actual safetensor headers: 1,702 unique tensor keys across four present shards and 18,251,885,024 tensor bytes. Weight payloads are unchanged.

Darkbloom R2 publication

The immutable Darkbloom build is published under model tag qwen3-vl-30b-a3b-instruct, version 2026-08-28-r1. Its canonical manifest contains 16 files and 18,268,169,822 bytes. All four remote multipart ETags match locally recomputed ETags, and the public manifest and weight shards return HTTP 200 with the expected sizes.

The Hugging Face repository retains video_preprocessor_config.json. It is not part of the v0.8.14 Darkbloom integrity manifest because Qwen3-VL video serving is intentionally fail-closed in that provider release; the supported text and image paths use the included tokenizer, template, config, index, weights, and preprocessor_config.json.

Darkbloom support

Darkbloom provider v0.8.14 supports this exact qwen3_vl_moe architecture through the production contiguous ContinuousBatchingV2 path:

  • text generation with request-owned M-RoPE state;
  • image prefill with causal visual spans and every DeepStack level;
  • load-time homogeneous MoE gate/up fusion with a strict heterogeneous fallback;
  • one-image-at-a-time vision-tower execution to bound peak Metal memory.

The following paths remain intentionally disabled until separately production-proven: video serving, paged KV, prefix reuse, packed prefill, compiled decode, and MTP.

For local Darkbloom serving after download:

darkbloom start --local \
  --model EigenLabs/Qwen3-VL-30B-A3B-Instruct-MLX-4bit \
  --port 8000

A 32 GB Apple Silicon Mac is the practical minimum for a single model slot. More unified memory provides useful KV-cache and batching headroom.

Upstream usage

This is a standard MLX VLM snapshot and can also be loaded with current mlx-vlm or mlx-swift-lm tooling that supports qwen3_vl_moe.

Limitations

This model inherits the limitations and safety considerations of the original Qwen model. Generated descriptions and answers may be inaccurate. Validate outputs before using them for consequential decisions.

Attribution

  • Original model and architecture: Qwen Team
  • MLX quantization: LM Studio team using mlx-vlm
  • Artifact validation, safetensor-index repair, and Darkbloom integration: Eigen Labs
Downloads last month
32
Safetensors
Model size
5B params
Tensor type
BF16
·
U32
·
MLX
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for EigenLabs/Qwen3-VL-30B-A3B-Instruct-MLX-4bit

Quantized
(61)
this model