Alibaba (Qwen) · released 2026-04-15
Qwen3.6-35B-A3B
What Qwen3.6-35B-A3B’s own documents say it is built from — every method with the sentence that describes it.
Curator’s note35B total / 3B active sparse MoE aimed at agentic coding, successor to Qwen3.5-35B-A3B, Apache 2.0. The dense Qwen3.6-27B followed on 2026-04-21 and is listed as a source here. The hosted Plus/Max/Flash tiers are closed weights and excluded.
Against the consensus recipe
Its documents state 2 of the 15 methods the field agrees on.
The recipe from the overview: the methods the most labs adopt, per stage. A missing one is something the documents do not say, not something the model lacks.
Data curation
- Agentic data synthesis pipelinenot in its documents
Training objective
- Multi-Token Predictionnot in its documents
- KL alignment lossnot in its documents
Model architecture
- Mixture of Expertscore
- Hybrid Attentionnot in its documents
- Multi-Token Predictionnot in its documents
Optimization
- Muonnot in its documents
- Expert Parallelismnot in its documents
- Cosine decaynot in its documents
Post-training
- Group Relative Policy Optimizationnot in its documents
- Supervised fine-tuningnot in its documents
- Multi-Teacher On-Policy Distillationnot in its documents
Inference & serving
- Configurable reasoning effortnot in its documents
- Speculative decodingnot in its documents
- FP8 KV-cache quantizationused
Checked in its code
Its code shows 9 of the 19 architecture features checked — 6 of them are not stated in its documents.
Documents say what a lab chose to describe; the modeling code says what the checkpoint runs. Each feature below was put to a code verifier, and only the config values and source lines it cited that were found in the files are shown, linked to the line.
Read from Hugging Face Transformers (modeling_qwen3_5_moe.py, configuration_qwen3_5_moe.py) and config.json at revision 995ad96eac, by anthropic/claude-sonnet-5 on 2026-09-25.
| Feature | Code | Its documents | Evidence |
|---|---|---|---|
| Grouped-query attention code only | in its code | not stated | Full-attention layers project 16 query heads down to 2 KV heads, repeated via repeat_kv for grouped-query attention. text_config.num_attention_heads = 16text_config.num_key_value_heads = 2 |
| Multi-head latent attention | not in its code | not stated | No kv_lora_rank/q_lora_rank low-rank KV latent projection exists; attention uses standard separate k_proj/v_proj heads. |
| Sliding-window attention | not in its code | not stated | There is no sliding_window config key or masking mechanism for local windows in the text model; full_attention layers use the plain causal mask. |
| Interleaved sliding-window and global attention | not in its code | not stated | The layer_types pattern interleaves full_attention with linear_attention (a recurrent mixer), not with sliding-window attention, so there is no sliding/global interleaving. text_config.layer_types = ["linear_attention", "linear_attention", "linear_attention", "full_attention"… |
| Indexer-selected sparse attention (DeepSeek Sparse Attention) | not in its code | not stated | No indexer scoring module or top-k token selection mechanism (index_topk, index_n_heads) appears in the code or config. |
| Linear-attention or state-space layers alongside full attention code only | in its code | not stated | layer_types mixes linear_attention (Gated DeltaNet) layers with full_attention softmax layers in a fixed 4-layer interleave pattern. text_config.layer_types = ["linear_attention", "linear_attention", "linear_attention", "full_attention"…text_config.full_attention_interval = 4 |
| Gated DeltaNet layers | in its code | core | Qwen3_5MoeGatedDeltaNet implements the gated delta rule with a decay gate (A_log/dt_bias) and beta-weighted delta update, used for all linear_attention layers. text_config.linear_num_key_heads = 16text_config.linear_conv_kernel_dim = 4 |
| Mamba-2 layers | not in its code | not stated | The linear-attention layers implement Gated DeltaNet, not Mamba-2 SSD blocks; no mamba_num_heads/ssm_state_size mechanism is present. |
| Learnable attention sink | not in its code | not stated | No learned per-head sink logit is added to the attention softmax denominator anywhere in the attention forward code. |
| Gated attention output | in its code | core | In Qwen3_5MoeAttention the attention output is multiplied by a sigmoid gate computed from a separate chunk of the query projection before the output projection. text_config.attn_output_gate = true |
| QK normalization code only | in its code | not stated | Queries and keys are each normalized per head with Qwen3_5MoeRMSNorm (q_norm/k_norm) before RoPE and the dot product in full-attention layers. |
| Partial RoPE code only | in its code | not stated | partial_rotary_factor of 0.25 restricts RoPE to a quarter of the head dimension, with the rest passed through unrotated in apply_rotary_pos_emb. text_config.partial_rotary_factor = 0.25text_config.rope_parameters = {"mrope_interleaved": true, "mrope_section": [11, 11, 10], "partial_rotary_fa… |
| YaRN RoPE scaling documents disagree | not in its code | optional | rope_parameters.rope_type is set to "default", not "yarn", so no YaRN scaling is applied. text_config.rope_parameters = {"mrope_interleaved": true, "mrope_section": [11, 11, 10], "partial_rotary_fa… |
| Layers without positional encoding (NoPE) | not in its code | not stated | There is no no_rope_layers/nope_layer_interval mechanism; RoPE (partial) is applied uniformly to every full_attention layer via the shared rotary embedding. |
| Mixture of experts | in its code | core | Qwen3_5MoeSparseMoeBlock routes each token to num_experts_per_tok=8 of num_experts=256 expert MLPs via a learned TopKRouter. text_config.num_experts = 256text_config.num_experts_per_tok = 8 |
| Shared expert code only | in its code | not stated | Each MoE block also has a shared_expert MLP with nonzero shared_expert_intermediate_size, gated by a sigmoid and added to the routed expert output for every token. text_config.shared_expert_intermediate_size = 512 |
| Auxiliary-loss-free load balancing (selection bias) | not in its code | not stated | The router computes plain softmax top-k without any e_score_correction_bias-style selection bias; load balancing instead uses an auxiliary loss (router_aux_loss_coef). |
| Multi-token prediction layers | code unclear | not stated | The config declares mtp_num_hidden_layers=1, but no MTP module class or weight declaration for it appears in the given modeling file, so the mechanism cannot be confirmed from these files. text_config.mtp_num_hidden_layers = 1 |
| SwiGLU feed-forward code only | in its code | not stated | Both the dense MLP and the expert MLPs compute silu(gate_proj(x)) * up_proj(x) before down_proj, i.e. SwiGLU with hidden_act=silu. text_config.hidden_act = "silu" |
model architecture 7
token mixer 2
linear attention & state space 1
gated delta network 1
hybrid layer stacking 1
channel mixer 2
positional encoding 2
multimodal architecture 1
optimization 1
training parallelism 1
data curation 1
data sourcing 1
post-training 1
filed at the root 1
inference & serving 24
decoding strategy 3
reasoning control 5
KV cache management 5
inference quantization 4
inference scheduling 1
inference kernel 1
context management 2
agentic scaffolding 3
software implementation 4
filed at the root 1
inference engine 1
kernel & quantization library 1
infrastructure service 1
evaluation 1
filed at the root 1
unfiled 7
Further reading
Picked by hand, not extracted: where to read more, not evidence for anything on this page.
- Qwen3.6-35B-A3B architecture card — LLM Architecture Gallery explainer sebastianraschka.com
Sources
The curated document list for this model. "not fetched" means the URL is recorded but its text was not read in the current run.
| Document | Kind | Publisher | Status |
|---|---|---|---|
| qwen.ai/blog?id=qwen3.6-35b-a3b | official blog | Qwen | not fetched |
| qwen.ai/blog?id=qwen3.6 | official blog | Qwen | not fetched |
| huggingface.co/Qwen/Qwen3.6-35B-A3B | model card | Qwen | read |
| huggingface.co/Qwen/Qwen3.6-27B | model card | Qwen | read |
| github.com/QwenLM/Qwen3.6 | code repo | Qwen | read |
| recipes.vllm.ai/Qwen/Qwen3.6-35B-A3B | vendor docs | vLLM | read |
| recipes.vllm.ai/Qwen/Qwen3.6-27B | vendor docs | vLLM | read |
| openrouter.ai/qwen/qwen3.6-35b-a3b | vendor docs | OpenRouter | read |