Hunyuan-A13B-Instruct
Fields
models/hunyuan-a13bNotes
Tencent's fine-grained MoE. The name is the active count: vendor states 13B active out of 80B total; safetensors total 80.39B. Our config arithmetic gives 75.6B total / 12.1B active, matching the active figure to ~7% (the gap is the tied-embedding handling and the per-layer moe_topk/shared-expert arrays). kv_cache_bytes_per_token = 32 layers x 8 kv_heads x head_dim 128 x 2 (K and V) x 2 bytes (bf16) = 32 x 8 x 128 x 2 x 2 = 131,072 B/token (128 KiB). GQA, not MLA - config sets kv_lora_rank, q_lora_rank, qk_nope_head_dim and v_head_dim all to null, so the latent path is absent. For 13B active that is high KV, though the window is small. MoE: 64 experts, moe_topk 8, PLUS 1 shared expert per layer (num_shared_expert is a 32-element array of 1s), and the first 2 layers are dense (dense_list [4096, 0]). moe_intermediate_size 3072 equals intermediate_size, hidden 4096, gqa_ratio 4 (32 heads / 8 kv heads), vocab 128167, tie_word_embeddings true. CONTEXT DISCREPANCY, recorded rather than resolved: the card says the model supports 256K tokens but config max_position_embeddings is 32768, and the card explicitly attributes the lower default to GPU memory constraints. rope_scaling type is 'dynamic' with factor 1.0 and alpha 1000, rope_theta 10000. Licence is bespoke: license_name tencent-hunyuan-a13b, with commercial conditions in the Tencent Hunyuan repo. Not OSI.
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. CLASSIFICATION CORRECTION: this record was initially filed in the MLA family on the strength of its MoE design alone. its own attention_variant field reads 'GQA (standard; no MLA - kv_lora_rank explicitly null)', so this is a plain GQA MoE. It belongs in the dense-GQA family for kernel purposes, which is the more useful answer anyway: it needs no latent-attention decode kernel, so the FlashMLA and FlashInfer MLA page-block constraints do not apply to it. vLLM's native row for this family is Glm4MoeForCausalLM (GLM-4.5, 4.6, 4.7) with guided decoding noted as xgrammar-only, llguidance not working [[mdl2-trtllm-supported-models]] [[mdl2-vllm-supported-models-2026-10]]; llama.cpp's dispatch table puts DEEPSEEK2/DEEPSEEK32 in supports_sm_tensor == false but has no such exclusion for this architecture, which is consistent with it being ordinary GQA MoE [[mdl2-llamacpp-arch-class-registry]].
CONTEXT_SCALING_METHOD (ntk-aware): SCHEME RECLASSIFIED (2026-10-04): was free text 'dynamic NTK' had no enum value. config rope_scaling type 'dynamic' with factor 1.0, alpha 1000: dynamic NTK interpolation is the PI family, and 'ntk-aware' is this enum's value for it.
Cross-references
This record references no other records — it is a leaf. It is cited by 0.