inference/research
verifiedhigh · 0.93updated 2026-10-19

Hermes-4-405B

dense 405.853B

Fields

id
models/hermes-4-405b
Family
hermes
Vendor
Nous Research
Release year
2025
Architecture
dense
Params (B)
405.8534
Active params (B)
405.8534
Hidden size
16,384
Layers
126
KV heads
8
Head dim
128
GQA ratio
16
Max context
131,072
Context scaling
llama3 rope scaling (factor 8 from an 8192 base)
Context scaling method
llama3
Activation
silu
Attention variant
GQA
KV cache (bytes/token)
516,096
FLOPs per active token
811,706,777,600
Open weights
yes
License
Llama-3 Community License
benchmarks
nameMATH-500score96.2scale100higher_is_betteryessourcehermes-4-tech-reportvendor_claimyesnameAIME 2024score81.9scale100higher_is_betteryessourcehermes-4-tech-reportvendor_claimyesnameAIME 2025score78.1scale100higher_is_betteryessourcehermes-4-tech-reportvendor_claimyesnameGPQA Diamondscore70.6scale100higher_is_betteryessourcehermes-4-tech-reportvendor_claimyesnameLiveCodeBench v6score61.4scale100higher_is_betteryessourcehermes-4-tech-reportvendor_claimyesnameMMLUscore87.2scale100higher_is_betteryessourcehermes-4-tech-reportvendor_claimyesnameMMLU-Proscore80.6scale100higher_is_betteryessourcehermes-4-tech-reportvendor_claimyesnameIFEvalscore81.5scale100higher_is_betteryessourcehermes-4-tech-reportvendor_claimyesnameArena-Hardscore93.7scale100higher_is_betteryessourcehermes-4-tech-reportvendor_claimyes
notes
CONTEXT SCALING FILLED - this record previously said native when its own config says otherwise. config.json declares rope_scaling {"rope_type":"llama3","factor":8.0,"high_freq_factor":4.0,"low_freq_factor":1.0,"original_max_position_embeddings":8192}, rope_theta 500000. So the 131072 advertised window is an EXTRAPOLATION of an 8192-token trained base by 16x, not a native length. This is Llama-3.1's rope scheme, not YaRN and not PI: the llama3 type frequency-rescales high and low frequency bands separately (high_freq_factor 4.0, low_freq_factor 1.0), which is why it is neither a uniform position divide (PI) nor the NTK-style base adjustment. Llama-3.1-405B architecture (LlamaForCausalLM, hidden 16384, 126 layers, 128 query heads / 8 KV heads, head_dim 128 explicit, rope_theta 500000). Note gqa_ratio = 128 / 8 = 16, the most aggressive KV compression in this slice: the same KV cost per token as a 16x-compressed MLA-style layout achieved with plain GQA. README documents ~5M samples / ~60B tokens of post-training data and a hybrid reasoning mode. KV bytes/token at bf16 (2 bytes/element): 126 layers x 8 KV heads x 128 head_dim x 2 (K and V) x 2 bytes = 516096 B/token = 504.0 KiB/token. At 128k context that is 63.00 GiB of KV per sequence at bf16, against 811.75 GB of bf16 weights - so at long context weight quantisation alone buys nothing back unless the KV cache is also quantised or the context is offloaded; the KV cache is the scarce resource here, not the weights. context_scaling is null: context length is native to the pretrained config, no rope_scaling. 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. CONTEXT_SCALING_METHOD (llama3): config-derived; the existing free text 'llama3 rope scaling (factor 8 from an 8192 base)' agrees.

Notes

CONTEXT SCALING FILLED - this record previously said native when its own config says otherwise. config.json declares rope_scaling {"rope_type":"llama3","factor":8.0,"high_freq_factor":4.0,"low_freq_factor":1.0,"original_max_position_embeddings":8192}, rope_theta 500000. So the 131072 advertised window is an EXTRAPOLATION of an 8192-token trained base by 16x, not a native length. This is Llama-3.1's rope scheme, not YaRN and not PI: the llama3 type frequency-rescales high and low frequency bands separately (high_freq_factor 4.0, low_freq_factor 1.0), which is why it is neither a uniform position divide (PI) nor the NTK-style base adjustment. Llama-3.1-405B architecture (LlamaForCausalLM, hidden 16384, 126 layers, 128 query heads / 8 KV heads, head_dim 128 explicit, rope_theta 500000). Note gqa_ratio = 128 / 8 = 16, the most aggressive KV compression in this slice: the same KV cost per token as a 16x-compressed MLA-style layout achieved with plain GQA. README documents ~5M samples / ~60B tokens of post-training data and a hybrid reasoning mode. KV bytes/token at bf16 (2 bytes/element): 126 layers x 8 KV heads x 128 head_dim x 2 (K and V) x 2 bytes = 516096 B/token = 504.0 KiB/token. At 128k context that is 63.00 GiB of KV per sequence at bf16, against 811.75 GB of bf16 weights - so at long context weight quantisation alone buys nothing back unless the KV cache is also quantised or the context is offloaded; the KV cache is the scarce resource here, not the weights. context_scaling is null: context length is native to the pretrained config, no rope_scaling.

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.

CONTEXT_SCALING_METHOD (llama3): config-derived; the existing free text 'llama3 rope scaling (factor 8 from an 8192 base)' agrees.

Cross-references

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