inference/research
verifiedhigh · 0.90updated 2026-10-04

Qwen2.5-72B-Instruct

dense 72.7B

Fields

id
models/qwen2-5-72b
Family
qwen2.5
Vendor
Alibaba Qwen
Release year
2024
Architecture
dense
Params (B)
72.7
Active params (B)
72.7
Shared expert
no
Hidden size
8,192
Layers
80
KV heads
8
Head dim
128
GQA ratio
8
Max context
32,768
Context scaling method
native
Activation
silu
Attention variant
GQA (standard; sliding_window 131072 exceeds max_position_embeddings = inactive)
KV cache (bytes/token)
327,680
FLOPs per active token
145,400,000,000
Open weights
yes
License
Qwen License Agreement (bespoke, not Apache-2.0)
notes
CONTEXT SCALING: null is a VERIFIED value, checked against config rather than left blank. config.json (Qwen/Qwen2.5-72B-Instruct) declares rope_scaling null, rope_theta 1000000, max_position_embeddings 32768. Verified native. Previous-generation dense baseline, kept for comparison against Qwen3. Same dense GQA shape as Qwen3-8B but much wider and deeper. kv_cache_bytes_per_token = 80 layers x 8 kv_heads x head_dim 128 x 2 x 2 bytes = 80 x 8 x 128 x 2 x 2 = 327,680 B/token (320 KiB). head_dim is not explicit in config; it is 8192/64 = 128. This is the largest KV per token of any dense model in the slice - at 128k context that is 40 GiB of KV for a single sequence, more than DeepSeek-V3's entire KV at the same length (8.58 GiB). That gap is the clearest argument for MoE-with-MLA over MoE-with-GQA. hidden 8192, 80 layers, 64 heads / 8 kv heads (gqa_ratio 8), intermediate 29568. Context 32768 (vs Qwen3's 40960 - Qwen3 extended it). sliding_window 131072, well above max_position_embeddings, so inactive. Params: our config arithmetic gives 72.7B, matching the safetensors total 72.71B. LICENSE is the bespoke Qwen License Agreement (release date Sept 2024), NOT Apache-2.0 - a real restriction relative to Qwen3.x. Check before commercial on-prem. SERVICEABILITY JOIN (added 2026-10-03; the architecture x engine matrix this record was missing, with a citation per cell in docs/13-model-compatibility.md): FAMILY=dense-gqa. REQUIRED KERNEL CLASS: ordinary causal attention plus GEMM/GEMV. This is the baseline every engine in this repo implements, so the join here is a floor rather than a filter: no engine record in data/engines/ states that dense GQA is unsupported. SUPPORTED BY (cited): vLLM LlamaForCausalLM / Qwen2 / Qwen3 / Mistral / Phi3ForCausalLM rows [[mdl2-vllm-supported-models-2026-10]]; TensorRT-LLM LlamaForCausalLM, Qwen2ForCausalLM, Qwen3ForCausalLM, Phi3ForCausalLM rows [[mdl2-trtllm-supported-models]]; SGLang generative table (Llama, Qwen, Mistral families) [[mdl2-sglang-generative-models]]; llama.cpp LLM_ARCH_LLAMA [[pap-arch-llamacpp-arch-registry]]. HARD CONSTRAINTS THAT DO APPLY even to dense GQA, and they are model-shape rather than architecture-class: tensor-parallel size must divide the attention head count or the engine refuses to start [[mgpu-tp-size-must-divide-attention-heads]] (affects vllm and sglang); and a GQA KV cache is the thing paged-attention machinery exists for, so an engine with no paged KV (llama.cpp's slot-based pool [[llama-cpp]], exllamav2 [[exllamav2]]) loses the concurrency lever rather than the ability to run. ONE HARDWARE-DEPENDENT KERNEL GATE THAT IS NOT ABOUT GQA: on RDNA, vLLM's custom paged-attention kernel is gated on head_size == 128 AND block_size == 16, so a dense GQA model with head_dim 256 falls to the Triton 2D fallback and decode falls off a cliff - measured 12.1 tok/s at 518 tokens of context to 4.2 tok/s at 32k, with kernel_paged_attention_2d growing 28.3x [[rdna-triton-paged-attn-decode-cliff]]. Check head_dim before blaming the card. WINDOW-INERT CAVEAT: its sliding_window 131072 exceeds max_position_embeddings, so the window is INERT and this model is served as plain GQA. Do NOT apply the KV overpay table to it.

Notes

CONTEXT SCALING: null is a VERIFIED value, checked against config rather than left blank. config.json (Qwen/Qwen2.5-72B-Instruct) declares rope_scaling null, rope_theta 1000000, max_position_embeddings 32768. Verified native. Previous-generation dense baseline, kept for comparison against Qwen3. Same dense GQA shape as Qwen3-8B but much wider and deeper. kv_cache_bytes_per_token = 80 layers x 8 kv_heads x head_dim 128 x 2 x 2 bytes = 80 x 8 x 128 x 2 x 2 = 327,680 B/token (320 KiB). head_dim is not explicit in config; it is 8192/64 = 128. This is the largest KV per token of any dense model in the slice - at 128k context that is 40 GiB of KV for a single sequence, more than DeepSeek-V3's entire KV at the same length (8.58 GiB). That gap is the clearest argument for MoE-with-MLA over MoE-with-GQA. hidden 8192, 80 layers, 64 heads / 8 kv heads (gqa_ratio 8), intermediate 29568. Context 32768 (vs Qwen3's 40960 - Qwen3 extended it). sliding_window 131072, well above max_position_embeddings, so inactive. Params: our config arithmetic gives 72.7B, matching the safetensors total 72.71B. LICENSE is the bespoke Qwen License Agreement (release date Sept 2024), NOT Apache-2.0 - a real restriction relative to Qwen3.x. Check before commercial on-prem.

SERVICEABILITY JOIN (added 2026-10-03; the architecture x engine matrix this record was missing, with a citation per cell in docs/13-model-compatibility.md): FAMILY=dense-gqa. REQUIRED KERNEL CLASS: ordinary causal attention plus GEMM/GEMV. This is the baseline every engine in this repo implements, so the join here is a floor rather than a filter: no engine record in data/engines/ states that dense GQA is unsupported. SUPPORTED BY (cited): vLLM LlamaForCausalLM / Qwen2 / Qwen3 / Mistral / Phi3ForCausalLM rows [[mdl2-vllm-supported-models-2026-10]]; TensorRT-LLM LlamaForCausalLM, Qwen2ForCausalLM, Qwen3ForCausalLM, Phi3ForCausalLM rows [[mdl2-trtllm-supported-models]]; SGLang generative table (Llama, Qwen, Mistral families) [[mdl2-sglang-generative-models]]; llama.cpp LLM_ARCH_LLAMA [[pap-arch-llamacpp-arch-registry]]. HARD CONSTRAINTS THAT DO APPLY even to dense GQA, and they are model-shape rather than architecture-class: tensor-parallel size must divide the attention head count or the engine refuses to start [[mgpu-tp-size-must-divide-attention-heads]] (affects vllm and sglang); and a GQA KV cache is the thing paged-attention machinery exists for, so an engine with no paged KV (llama.cpp's slot-based pool [[llama-cpp]], exllamav2 [[exllamav2]]) loses the concurrency lever rather than the ability to run. ONE HARDWARE-DEPENDENT KERNEL GATE THAT IS NOT ABOUT GQA: on RDNA, vLLM's custom paged-attention kernel is gated on head_size == 128 AND block_size == 16, so a dense GQA model with head_dim 256 falls to the Triton 2D fallback and decode falls off a cliff - measured 12.1 tok/s at 518 tokens of context to 4.2 tok/s at 32k, with kernel_paged_attention_2d growing 28.3x [[rdna-triton-paged-attn-decode-cliff]]. Check head_dim before blaming the card. WINDOW-INERT CAVEAT: its sliding_window 131072 exceeds max_position_embeddings, so the window is INERT and this model is served as plain GQA. Do NOT apply the KV overpay table to it.

Cross-references

This record references no other records — it is a leaf. It is cited by 0.