llm-architectures-explained

/models

Mixtral 8x22B

Mistral AI · Mixtral · open weights

Facts and where they come from

Released2024-04config.jsonconfig.jsonHugging Face repository creation date (api.createdAt)
Licenceapache-2.0config.jsonconfig.jsonREADME metadata: license
Total parametersnot disclosednot disclosed
Active parametersnot disclosednot disclosed
Context length64K tokensconfig.jsonconfig.jsonmax_position_embeddings
Norm placementprecodemodelling codetransformers 5.18.0 / repo modelling code for mixtral: input_layernorm before attention, post_attention_layernorm before the MLP
Norm typeRMSNormcodemodelling codetransformers 5.18.0 / repo modelling code for mixtral: input_layernorm before attention, post_attention_layernorm before the MLP
QK-normnocodemodelling codeno q/k normalisation in the attention block
Positional encodingRoPEcodemodelling coderotary on the full head (default)
Parallel attention and MLPnocodemodelling codetransformers 5.18.0 / repo modelling code for mixtral: input_layernorm before attention, post_attention_layernorm before the MLP

Architecture, drawn from the data

GQA 48q/8kv. Each column is one layer: its token mixer above, its feed-forward block below. Paler columns reuse another layer’s keys and values.

Mixtral 8x22B: layer stack and blockslayers (56)mixer / FFNlayer 0: GQA: 48 query / 8 KV heads · head 128layer 0: MoE: 8 experts, 2 active · expert 16384layer 1: GQA: 48 query / 8 KV heads · head 128layer 1: MoE: 8 experts, 2 active · expert 16384layer 2: GQA: 48 query / 8 KV heads · head 128layer 2: MoE: 8 experts, 2 active · expert 16384layer 3: GQA: 48 query / 8 KV heads · head 128layer 3: MoE: 8 experts, 2 active · expert 16384layer 4: GQA: 48 query / 8 KV heads · head 128layer 4: MoE: 8 experts, 2 active · expert 16384layer 5: GQA: 48 query / 8 KV heads · head 128layer 5: MoE: 8 experts, 2 active · expert 16384layer 6: GQA: 48 query / 8 KV heads · head 128layer 6: MoE: 8 experts, 2 active · expert 16384layer 7: GQA: 48 query / 8 KV heads · head 128layer 7: MoE: 8 experts, 2 active · expert 16384layer 8: GQA: 48 query / 8 KV heads · head 128layer 8: MoE: 8 experts, 2 active · expert 16384layer 9: GQA: 48 query / 8 KV heads · head 128layer 9: MoE: 8 experts, 2 active · expert 16384layer 10: GQA: 48 query / 8 KV heads · head 128layer 10: MoE: 8 experts, 2 active · expert 16384layer 11: GQA: 48 query / 8 KV heads · head 128layer 11: MoE: 8 experts, 2 active · expert 16384layer 12: GQA: 48 query / 8 KV heads · head 128layer 12: MoE: 8 experts, 2 active · expert 16384layer 13: GQA: 48 query / 8 KV heads · head 128layer 13: MoE: 8 experts, 2 active · expert 16384layer 14: GQA: 48 query / 8 KV heads · head 128layer 14: MoE: 8 experts, 2 active · expert 16384layer 15: GQA: 48 query / 8 KV heads · head 128layer 15: MoE: 8 experts, 2 active · expert 16384layer 16: GQA: 48 query / 8 KV heads · head 128layer 16: MoE: 8 experts, 2 active · expert 16384layer 17: GQA: 48 query / 8 KV heads · head 128layer 17: MoE: 8 experts, 2 active · expert 16384layer 18: GQA: 48 query / 8 KV heads · head 128layer 18: MoE: 8 experts, 2 active · expert 16384layer 19: GQA: 48 query / 8 KV heads · head 128layer 19: MoE: 8 experts, 2 active · expert 16384layer 20: GQA: 48 query / 8 KV heads · head 128layer 20: MoE: 8 experts, 2 active · expert 16384layer 21: GQA: 48 query / 8 KV heads · head 128layer 21: MoE: 8 experts, 2 active · expert 16384layer 22: GQA: 48 query / 8 KV heads · head 128layer 22: MoE: 8 experts, 2 active · expert 16384layer 23: GQA: 48 query / 8 KV heads · head 128layer 23: MoE: 8 experts, 2 active · expert 16384layer 24: GQA: 48 query / 8 KV heads · head 128layer 24: MoE: 8 experts, 2 active · expert 16384layer 25: GQA: 48 query / 8 KV heads · head 128layer 25: MoE: 8 experts, 2 active · expert 16384layer 26: GQA: 48 query / 8 KV heads · head 128layer 26: MoE: 8 experts, 2 active · expert 16384layer 27: GQA: 48 query / 8 KV heads · head 128layer 27: MoE: 8 experts, 2 active · expert 16384layer 28: GQA: 48 query / 8 KV heads · head 128layer 28: MoE: 8 experts, 2 active · expert 16384layer 29: GQA: 48 query / 8 KV heads · head 128layer 29: MoE: 8 experts, 2 active · expert 16384layer 30: GQA: 48 query / 8 KV heads · head 128layer 30: MoE: 8 experts, 2 active · expert 16384layer 31: GQA: 48 query / 8 KV heads · head 128layer 31: MoE: 8 experts, 2 active · expert 16384layer 32: GQA: 48 query / 8 KV heads · head 128layer 32: MoE: 8 experts, 2 active · expert 16384layer 33: GQA: 48 query / 8 KV heads · head 128layer 33: MoE: 8 experts, 2 active · expert 16384layer 34: GQA: 48 query / 8 KV heads · head 128layer 34: MoE: 8 experts, 2 active · expert 16384layer 35: GQA: 48 query / 8 KV heads · head 128layer 35: MoE: 8 experts, 2 active · expert 16384layer 36: GQA: 48 query / 8 KV heads · head 128layer 36: MoE: 8 experts, 2 active · expert 16384layer 37: GQA: 48 query / 8 KV heads · head 128layer 37: MoE: 8 experts, 2 active · expert 16384layer 38: GQA: 48 query / 8 KV heads · head 128layer 38: MoE: 8 experts, 2 active · expert 16384layer 39: GQA: 48 query / 8 KV heads · head 128layer 39: MoE: 8 experts, 2 active · expert 16384layer 40: GQA: 48 query / 8 KV heads · head 128layer 40: MoE: 8 experts, 2 active · expert 16384layer 41: GQA: 48 query / 8 KV heads · head 128layer 41: MoE: 8 experts, 2 active · expert 16384layer 42: GQA: 48 query / 8 KV heads · head 128layer 42: MoE: 8 experts, 2 active · expert 16384layer 43: GQA: 48 query / 8 KV heads · head 128layer 43: MoE: 8 experts, 2 active · expert 16384layer 44: GQA: 48 query / 8 KV heads · head 128layer 44: MoE: 8 experts, 2 active · expert 16384layer 45: GQA: 48 query / 8 KV heads · head 128layer 45: MoE: 8 experts, 2 active · expert 16384layer 46: GQA: 48 query / 8 KV heads · head 128layer 46: MoE: 8 experts, 2 active · expert 16384layer 47: GQA: 48 query / 8 KV heads · head 128layer 47: MoE: 8 experts, 2 active · expert 16384layer 48: GQA: 48 query / 8 KV heads · head 128layer 48: MoE: 8 experts, 2 active · expert 16384layer 49: GQA: 48 query / 8 KV heads · head 128layer 49: MoE: 8 experts, 2 active · expert 16384layer 50: GQA: 48 query / 8 KV heads · head 128layer 50: MoE: 8 experts, 2 active · expert 16384layer 51: GQA: 48 query / 8 KV heads · head 128layer 51: MoE: 8 experts, 2 active · expert 16384layer 52: GQA: 48 query / 8 KV heads · head 128layer 52: MoE: 8 experts, 2 active · expert 16384layer 53: GQA: 48 query / 8 KV heads · head 128layer 53: MoE: 8 experts, 2 active · expert 16384layer 54: GQA: 48 query / 8 KV heads · head 128layer 54: MoE: 8 experts, 2 active · expert 16384layer 55: GQA: 48 query / 8 KV heads · head 128layer 55: MoE: 8 experts, 2 active · expert 1638402855× 56normGQA: 48 query / 8 KV heads · head 128+normMoE: 8 experts, 2 active · expert 16384+full attentionMoE FFN

Modelled costs

From the cost model, batch size 1. Totals the lab states are in the table above; differences come from rounding, from what a lab counts, or from parts the model does not describe (listed on the about page).

Parameters (modelled)141B
Active per token (modelled)39.2B
Without embeddings and output head140B total, 38.8B active
Published weights (Hugging Face count)141B
KV cache per token, BF16 (layers that grow with context)224 KiB
KV cache + state at 64K tokens, BF1614 GiB
Decode FLOPs per token at 4K context83.5 GFLOP
Prefill FLOPs for a 4K prompt329 TFLOP

KV cache against context

Mixtral 8x22B: KV cache bytes against context length101001,00010,000980 KiB9.5 MiB95 MiB950 MiB9.3 GiBcontext (tokens)KV cache + state (BF16)Mixtral 8x22B

Compare with other models →

Every architecture field

FieldValueSource
d_model6,144config.jsonconfig.jsonhidden_size
vocab32,000config.jsonconfig.jsonvocab_size
tied_embeddingsfalseconfig.jsonconfig.jsontie_word_embeddings
mixers.full.typeattncodemodelling codeattention block
mixers.full.heads48config.jsonconfig.jsonnum_attention_heads
mixers.full.kv_heads8config.jsonconfig.jsonnum_key_value_heads
mixers.full.head_dim128codemodelling codetransformers 5.18.0: head_dim = hidden_size / num_attention_heads
ffns.moe.typemoecodemodelling codeMoE block
ffns.moe.experts8config.jsonconfig.jsonnum_local_experts
ffns.moe.active2config.jsonconfig.jsonnum_experts_per_tok
ffns.moe.d_expert16,384config.jsonconfig.jsonintermediate_size
ffns.moe.gatedtruecodemodelling codeexperts are gated MLPs
layout56× full/moeconfig.jsonconfig.jsonnum_hidden_layers

Sources