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

Ministral 3 8B (multimodal)

dense 8.92B

Fields

id
models/ministral-3-8b
Family
ministral
Vendor
Mistral AI
Release year
2025
Architecture
dense
Params (B)
8.92
Active params (B)
8.92
Hidden size
4,096
Layers
34
KV heads
8
Head dim
128
GQA ratio
4
Max context
262,144
Context scaling method
yarn
Activation
silu
Attention variant
GQA
KV cache (bytes/token)
139,264
FLOPs per active token
17,840,000,000
Open weights
yes
License
Apache-2.0
notes
CONTEXT SCALING: null is a VERIFIED value, checked against config rather than left blank. config.json (mistralai/Ministral-3-8B-Instruct-2512) declares rope_scaling null, sliding_window null, max_position_embeddings 262144. Verified native. PARAMS: 8.92B is the safetensors count including the vision tower; HF metadata shows 7.4B of the total stored as F8_E4M3 (fp8) and 1.5B as BF16, so this checkpoint is natively partly-fp8. That dtype split matters for serving: it is not a post-hoc quantization of an fp16 model. KV: 34 * 8 * 128 * 2 * 2 bytes = 139,264 bytes/token = 136 KiB/token, at bf16. The text tower is nearly identical to Ministral 8B (34 layers vs 36, same width) so KV per token barely moved, but context went from 32k to 262144, an 8x increase in worst-case KV. MULTIMODAL: vision_config is a 24-layer 1024-hidden pixtral-style encoder, so this is a VLM despite the small parameter count. ViT cost lands in prefill. No sliding window. 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 (yarn): SCHEME RECLASSIFIED (2026-10-04): was null. rope_parameters carries the full YaRN block - beta_fast 32, beta_slow 1, factor 16.0, original_max_position_embeddings 16384, llama_4_scaling_beta 0.1 - over max_position_embeddings 262144. It is a 16x extension of a 16K base, not native, so the previous null was wrong.

Notes

CONTEXT SCALING: null is a VERIFIED value, checked against config rather than left blank. config.json (mistralai/Ministral-3-8B-Instruct-2512) declares rope_scaling null, sliding_window null, max_position_embeddings 262144. Verified native. PARAMS: 8.92B is the safetensors count including the vision tower; HF metadata shows 7.4B of the total stored as F8_E4M3 (fp8) and 1.5B as BF16, so this checkpoint is natively partly-fp8. That dtype split matters for serving: it is not a post-hoc quantization of an fp16 model. KV: 34 * 8 * 128 * 2 * 2 bytes = 139,264 bytes/token = 136 KiB/token, at bf16. The text tower is nearly identical to Ministral 8B (34 layers vs 36, same width) so KV per token barely moved, but context went from 32k to 262144, an 8x increase in worst-case KV. MULTIMODAL: vision_config is a 24-layer 1024-hidden pixtral-style encoder, so this is a VLM despite the small parameter count. ViT cost lands in prefill. No sliding window.

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 (yarn): SCHEME RECLASSIFIED (2026-10-04): was null. rope_parameters carries the full YaRN block - beta_fast 32, beta_slow 1, factor 16.0, original_max_position_embeddings 16384, llama_4_scaling_beta 0.1 - over max_position_embeddings 262144. It is a 16x extension of a 16K base, not native, so the previous null was wrong.

Cross-references

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