Qwen-AgentWorld-35B-A3B — UD-Q4_K_XL (mlx-node)

4-bit base mixed-precision quantization of Qwen/Qwen-AgentWorld-35B-A3B for Apple Silicon, using the Unsloth Dynamic per-tensor bit allocation with imatrix-AWQ pre-scaling via mlx-node.

Qwen-AgentWorld-35B-A3B is the first native language world model for agentic environment simulation — a Qwen3.5-VL-MoE (hybrid Gated-DeltaNet + full attention, 256 experts, vision-language) that simulates agentic environments via long chain-of-thought reasoning, predicting the next environment state from an agent's action and interaction history. A single model spans seven interaction domains: MCP (tool calling), Search, Terminal, SWE, Android, Web, and OS. Trained CPT → SFT → RL on Qwen3.5-35B-A3B-Base. (technical report)

Original (BF16) This Model
Size ~65 GB 22 GB
Format SafeTensors (sharded) SafeTensors (sharded)
Precision BF16 uniform Mixed 4/5/6/8-bit affine + BF16 (imatrix-AWQ)

All Variants

Benchmarked on a cool Apple M5 Max: median decode throughput over three 512-token generations, with a 60-second idle GPU cooldown after every generation. (Sustained decode on Apple Silicon is thermally sensitive — back-to-back benchmarking on a hot chip can understate throughput by 20–30%, so every model here was measured from a comparable cool start.)

Performance

Steady-state decode: 99.8 tok/s (1.6x vs BF16) on Apple M5 Max. Decode is memory-bandwidth bound on Apple Silicon — fewer bytes per token directly translates to higher throughput. The MoE architecture activates only 8 of 256 experts per token (~3B active out of ~34.7B total), so the active-weight footprint streamed per token is what matters.

Output Quality

Decoded-text quality was verified against the BF16 reference with a multi-judge review of the actual generated output (not a heuristic): a multi-turn factual chat plus a structured reasoning/code task. This UD-Q4_K_XL build produced coherent prose, correct facts, and a correct implementation — no runaway generation, repetition loops, or stray tokens — on par with full precision.

Per-Tensor Quantization

Weight Bits Rationale
embed_tokens 6-bit affine KLD ~0.15 — very low sensitivity
lm_head 8-bit affine KLD ~0.05 — safest tensor
self_attn.q/k/v_proj 6-bit affine KLD ~1.5–2.9 — attention-sensitive
linear_attn.in_proj_qkv/z 6-bit affine KLD ~2.9 — SSM input gates
self_attn.o_proj 8-bit affine KLD ~1.5; row-independent qmv for T=0 exactness
linear_attn.out_proj 8-bit affine KLD ~6.0 — worst tensor; kept high
linear_attn.in_proj_a/b 8-bit affine tiny low-rank GDN projections
switch_mlp.down_proj 5-bit affine "slightly more sensitive" than other FFN
switch_mlp.gate_proj/up_proj 4-bit affine bulk of the expert budget
Router gates (mlp.gate, shared_expert_gate) 8-bit affine MoE routing accuracy
GDN params (A_log, dt_bias) bf16 state-space dynamics
visual.* (vision tower) bf16 vision encoder kept full precision

Quantization Strategy

Built on Unsloth Dynamic 2.0 per-tensor KLD analysis: sensitive layers (attention/SSM inputs, down_proj, embeddings/head) get higher bits, while the bulk of FFN expert weights are quantized to the base width. self_attn.o_proj, linear_attn.out_proj, the split low-rank GDN projections (in_proj_a/b) and the MoE router gates are pinned to 8-bit affine (group_size 64). GatedDeltaNet state-space parameters and the vision encoder stay bf16.

imatrix-AWQ: unlike a plain affine quant, these builds apply imatrix activation-aware pre-scaling (AWQ-style) using the unsloth imatrix, so the attention/SSM channels that matter most are scaled before rounding — recovering quality at the lowest bit widths.

Architecture

Parameter Value
Total parameters 34.7B (3B active per token)
Hidden size 2,048
Layers 40 (30 linear GatedDeltaNet + 10 full attention, interval 4)
Attention heads 16 (2 KV heads, GQA 8:1)
Head dimension 256
Experts 256 per MoE layer, top-8 routing
Vocab size 248,320
Vision yes (Qwen3.5-VL vision tower, kept bf16)
Max context 262,144 tokens

Usage

import { loadSession } from '@mlx-node/lm';

const session = await loadSession('./Qwen-AgentWorld-35B-A3B-UD-Q4_K_XL-mlx');

for await (const event of session.sendStream('An agent runs `ls -la` in /home/user. Predict the terminal output and the resulting environment state.', {
  config: { maxNewTokens: 2048, temperature: 0.6, reasoningEffort: 'low' },
})) {
  if (!event.done) process.stdout.write(event.text);
}

How It Was Made

mlx convert \
  -i Qwen-AgentWorld-35B-A3B \
  -o Qwen-AgentWorld-35B-A3B-UD-Q4_K_XL-mlx \
  -q --q-recipe unsloth --q-bits 4\
  --imatrix-path imatrix_unsloth.gguf_file

The Unsloth recipe's per-tensor bit tiers were applied with imatrix-AWQ pre-scaling (imatrix from unsloth/Qwen-AgentWorld-35B-A3B-GGUF), so activation-weighted channels are scaled before quantization. 7-bit tiers are snapped up to 8-bit (MLX affine supports 2/3/4/5/6/8-bit).

Acknowledgments

  • Qwen Team — For the Qwen-AgentWorld model and the Qwen3.5 base architecture
  • Unsloth — Per-layer KLD bit-allocation (Dynamic 2.0) and the imatrix used for AWQ pre-scaling
  • Apple MLX — For the Metal-accelerated ML framework

License

Apache-2.0 (inherited from base model).

Downloads last month
284
Safetensors
Model size
6B 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 Brooooooklyn/Qwen-AgentWorld-35B-A3B-UD-Q4_K_XL-mlx

Quantized
(69)
this model

Dataset used to train Brooooooklyn/Qwen-AgentWorld-35B-A3B-UD-Q4_K_XL-mlx

Collection including Brooooooklyn/Qwen-AgentWorld-35B-A3B-UD-Q4_K_XL-mlx

Paper for Brooooooklyn/Qwen-AgentWorld-35B-A3B-UD-Q4_K_XL-mlx