llm-architectures-explained

/models

Laguna XS.2

Poolside · Laguna · open weights

Facts and where they come from

Released2026-04config.jsonconfig.jsonHugging Face repository creation date (api.createdAt)
Licenceapache-2.0config.jsonconfig.jsonREADME metadata: license
Total parameters33Blabmodel cardREADME: 33B total parameters with 3B activated per token
Active parameters3Blabmodel cardREADME: 3B activated
Context length256K tokensconfig.jsonconfig.jsonmax_position_embeddings
Norm placementprecodemodelling codetransformers 5.18.0 / repo modelling code for laguna: input_layernorm before attention, post_attention_layernorm before the MLP
Norm typeRMSNormcodemodelling codetransformers 5.18.0 / repo modelling code for laguna: input_layernorm before attention, post_attention_layernorm before the MLP
QK-normyescodemodelling coderepo modeling_laguna.py: q/k norms
Positional encodingRoPE on 50% of each headconfig.jsonconfig.jsonrope_parameters.full_attention.partial_rotary_factor (global layers)
Parallel attention and MLPnocodemodelling codetransformers 5.18.0 / repo modelling code for laguna: input_layernorm before attention, post_attention_layernorm before the MLP

Architecture, drawn from the data

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

Laguna XS.2: layer stack and blockslayers (40)mixer / FFNlayer 0: GQA: 48 query / 8 KV heads · head 128 · headwise output gatelayer 0: Gated MLP: 8192layer 1: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 1: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 2: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 2: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 3: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 3: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 4: GQA: 48 query / 8 KV heads · head 128 · headwise output gatelayer 4: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 5: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 5: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 6: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 6: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 7: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 7: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 8: GQA: 48 query / 8 KV heads · head 128 · headwise output gatelayer 8: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 9: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 9: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 10: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 10: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 11: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 11: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 12: GQA: 48 query / 8 KV heads · head 128 · headwise output gatelayer 12: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 13: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 13: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 14: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 14: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 15: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 15: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 16: GQA: 48 query / 8 KV heads · head 128 · headwise output gatelayer 16: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 17: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 17: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 18: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 18: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 19: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 19: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 20: GQA: 48 query / 8 KV heads · head 128 · headwise output gatelayer 20: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 21: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 21: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 22: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 22: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 23: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 23: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 24: GQA: 48 query / 8 KV heads · head 128 · headwise output gatelayer 24: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 25: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 25: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 26: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 26: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 27: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 27: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 28: GQA: 48 query / 8 KV heads · head 128 · headwise output gatelayer 28: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 29: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 29: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 30: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 30: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 31: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 31: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 32: GQA: 48 query / 8 KV heads · head 128 · headwise output gatelayer 32: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 33: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 33: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 34: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 34: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 35: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 35: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 36: GQA: 48 query / 8 KV heads · head 128 · headwise output gatelayer 36: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 37: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 37: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 38: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 38: MoE: 256 experts, 8 active · expert 512 · 1 sharedlayer 39: GQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gatelayer 39: MoE: 256 experts, 8 active · expert 512 · 1 shared02039× 30normGQA: 64 query / 8 KV heads · head 128 · window 512 · headwise output gate+normMoE: 256 experts, 8 active · expert 512 · 1 shared+× 9normGQA: 48 query / 8 KV heads · head 128 · headwise output gate+normMoE: 256 experts, 8 active · expert 512 · 1 shared+× 1normGQA: 48 query / 8 KV heads · head 128 · headwise output gate+normGated MLP: 8192+full attentionsliding windowdense FFNMoE 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)33.4B
Active per token (modelled)3.02B
Without embeddings and output head33B total, 2.61B active
Published weights (Hugging Face count)33.4B
KV cache per token, BF16 (layers that grow with context)40 KiB
KV cache + state at 256K tokens, BF1610.1 GiB
Decode FLOPs per token at 4K context7.13 GFLOP
Prefill FLOPs for a 4K prompt25.3 TFLOP

KV cache against context

Laguna XS.2: KV cache bytes against context length101001,00010,000100,000980 KiB9.5 MiB95 MiB950 MiB9.3 GiBcontext (tokens)KV cache + state (BF16)Laguna XS.2

Compare with other models →

Every architecture field

FieldValueSource
d_model2,048config.jsonconfig.jsonhidden_size
vocab100,352config.jsonconfig.jsonvocab_size
tied_embeddingsfalseconfig.jsonconfig.jsontie_word_embeddings
mixers.full.typeattncodemodelling codeattention block
mixers.full.heads48config.jsonconfig.jsonnum_attention_heads_per_layer (full layers)
mixers.full.kv_heads8config.jsonconfig.jsonnum_key_value_heads
mixers.full.head_dim128config.jsonconfig.jsonhead_dim
mixers.full.gateheadwisecodemodelling codegating: per-head output gate
mixers.full.qk_normtruecodemodelling codemodeling_laguna.py: q/k norms
mixers.sliding.typeattncodemodelling codeattention block
mixers.sliding.heads64config.jsonconfig.jsonnum_attention_heads_per_layer (sliding layers)
mixers.sliding.kv_heads8config.jsonconfig.jsonnum_key_value_heads
mixers.sliding.head_dim128config.jsonconfig.jsonhead_dim
mixers.sliding.window512config.jsonconfig.jsonsliding_window
mixers.sliding.gateheadwisecodemodelling codegating: per-head output gate
mixers.sliding.qk_normtruecodemodelling codemodeling_laguna.py: q/k norms
ffns.dense.typedensecodemodelling codeMLP block
ffns.dense.d_ff8,192config.jsonconfig.jsonintermediate_size
ffns.dense.gatedtruecodemodelling codeMLP: gated (SwiGLU/GeGLU)
ffns.moe.typemoecodemodelling codeMoE block
ffns.moe.experts256config.jsonconfig.jsonnum_experts
ffns.moe.active8config.jsonconfig.jsonnum_experts_per_tok
ffns.moe.d_expert512config.jsonconfig.jsonmoe_intermediate_size
ffns.moe.gatedtruecodemodelling codeexperts are gated MLPs
ffns.moe.shared1codemodelling codeone shared expert of shared_expert_intermediate_size
ffns.moe.d_shared512config.jsonconfig.jsonshared_expert_intermediate_size
layout1× full/dense · 3× sliding/moe · 1× full/moe · 3× sliding/moe · 1× full/moe · 3× sliding/moe · 1× full/moe · 3× sliding/moe · 1× full/moe · 3× sliding/moe · 1× full/moe · 3× sliding/moe · 1× full/moe · 3× sliding/moe · 1× full/moe · 3× sliding/moe · 1× full/moe · 3× sliding/moe · 1× full/moe · 3× sliding/moeconfig.jsonconfig.jsonlayer_types, mlp_layer_types

Sources

Listed in the LLM Architecture Gallery checklist as “Laguna XS.2 (33B)” (name only; see about).