Laguna S 2.1
Poolside · Laguna · open weights
- GQA
- Sliding window
- RoPE
- Partial RoPE
- Pre-norm
- QK-norm
- MoE
- Shared expert
- Dense first layers
Facts and where they come from
| Released | 2026-07 | config.jsonconfig.jsonHugging Face repository creation date (api.createdAt) |
|---|---|---|
| Licence | openmdw-1.1 | config.jsonconfig.jsonREADME metadata: license |
| Total parameters | 118B | labmodel cardREADME: 118B total, ~8B activated per token |
| Active parameters | 8B | labmodel cardREADME: ~8B activated |
| Context length | 1M tokens | labmodel cardREADME: 1,048,576-token context window |
| Norm placement | pre | codemodelling codetransformers 5.18.0 / repo modelling code for laguna: input_layernorm before attention, post_attention_layernorm before the MLP |
| Norm type | RMSNorm | codemodelling codetransformers 5.18.0 / repo modelling code for laguna: input_layernorm before attention, post_attention_layernorm before the MLP |
| QK-norm | yes | codemodelling coderepo modeling_laguna.py: q/k norms |
| Positional encoding | RoPE on 50% of each head | config.jsonconfig.jsonrope_parameters.full_attention.partial_rotary_factor (global layers) |
| Parallel attention and MLP | no | codemodelling codetransformers 5.18.0 / repo modelling code for laguna: input_layernorm before attention, post_attention_layernorm before the MLP |
Architecture, drawn from the data
12× GQA 48q/8kv + 36× GQA 72q/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.
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) | 118B |
|---|---|
| Active per token (modelled) | 8.45B |
| Without embeddings and output head | 117B total, 7.83B active |
| Published weights (Hugging Face count) | 118B |
| KV cache per token, BF16 (layers that grow with context) | 48 KiB |
| KV cache + state at 1M tokens, BF16 | 48.1 GiB |
| Decode FLOPs per token at 4K context | 18.2 GFLOP |
| Prefill FLOPs for a 4K prompt | 69.2 TFLOP |
KV cache against context
Every architecture field
| Field | Value | Source |
|---|---|---|
| d_model | 3,072 | config.jsonconfig.jsonhidden_size |
| vocab | 100,352 | config.jsonconfig.jsonvocab_size |
| tied_embeddings | false | config.jsonconfig.jsontie_word_embeddings |
| mixers.full.type | attn | codemodelling codeattention block |
| mixers.full.heads | 48 | config.jsonconfig.jsonnum_attention_heads_per_layer (full layers) |
| mixers.full.kv_heads | 8 | config.jsonconfig.jsonnum_key_value_heads |
| mixers.full.head_dim | 128 | config.jsonconfig.jsonhead_dim |
| mixers.full.gate | headwise | codemodelling codegating: per-head output gate |
| mixers.full.qk_norm | true | codemodelling codemodeling_laguna.py: q/k norms |
| mixers.sliding.type | attn | codemodelling codeattention block |
| mixers.sliding.heads | 72 | config.jsonconfig.jsonnum_attention_heads_per_layer (sliding layers) |
| mixers.sliding.kv_heads | 8 | config.jsonconfig.jsonnum_key_value_heads |
| mixers.sliding.head_dim | 128 | config.jsonconfig.jsonhead_dim |
| mixers.sliding.window | 512 | config.jsonconfig.jsonsliding_window |
| mixers.sliding.gate | headwise | codemodelling codegating: per-head output gate |
| mixers.sliding.qk_norm | true | codemodelling codemodeling_laguna.py: q/k norms |
| ffns.dense.type | dense | codemodelling codeMLP block |
| ffns.dense.d_ff | 12,288 | config.jsonconfig.jsonintermediate_size |
| ffns.dense.gated | true | codemodelling codeMLP: gated (SwiGLU/GeGLU) |
| ffns.moe.type | moe | codemodelling codeMoE block |
| ffns.moe.experts | 256 | config.jsonconfig.jsonnum_experts |
| ffns.moe.active | 10 | config.jsonconfig.jsonnum_experts_per_tok |
| ffns.moe.d_expert | 1,024 | config.jsonconfig.jsonmoe_intermediate_size |
| ffns.moe.gated | true | codemodelling codeexperts are gated MLPs |
| ffns.moe.shared | 1 | codemodelling codeone shared expert of shared_expert_intermediate_size |
| ffns.moe.d_shared | 1,024 | config.jsonconfig.jsonshared_expert_intermediate_size |
| layout | 1× 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/moe · 1× full/moe · 3× sliding/moe · 1× full/moe · 3× sliding/moe | config.jsonconfig.jsonlayer_types, mlp_layer_types |
Sources
- config.json @ 0f57314
- model card
- modelling code · transformers 5.18.0 modelling code, or the model repository's own modelling file at the pinned revision
Listed in the LLM Architecture Gallery checklist as “Laguna S 2.1 (118B)” (name only; see about).