Ouro 2.6B Thinking
ByteDance · Ouro · open weights
- MHA
- RoPE
- Sandwich norm
- Looped
Facts and where they come from
| Released | 2025-10 | config.jsonconfig.jsonHugging Face repository creation date (api.createdAt) |
|---|---|---|
| Licence | apache-2.0 | config.jsonconfig.jsonREADME metadata: license |
| Total parameters | 2.6B | labmodel cardREADME: only 2.6B parameters |
| Active parameters | not disclosed | not disclosed |
| Context length | 64K tokens | config.jsonconfig.jsonmax_position_embeddings |
| Norm placement | sandwich | codemodelling coderepo modeling_ouro.py: input_layernorm(_2) and post_attention_layernorm(_2) |
| Norm type | RMSNorm | codemodelling coderepo modeling_ouro.py: input_layernorm(_2) and post_attention_layernorm(_2) |
| QK-norm | no | codemodelling codeno q/k normalisation in the attention block |
| Positional encoding | RoPE | codemodelling coderotary on the full head (default) |
| Parallel attention and MLP | no | codemodelling coderepo modeling_ouro.py: input_layernorm(_2) and post_attention_layernorm(_2) |
Architecture, drawn from the data
MHA 16q/16kv. 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) | 2.67B |
|---|---|
| Active per token (modelled) | 2.67B |
| Without embeddings and output head | 2.47B total, 2.47B active |
| Published weights (Hugging Face count) | 2.67B |
| KV cache per token, BF16 (layers that grow with context) | 384 KiB |
| KV cache + state at 64K tokens, BF16 | 24 GiB |
| Decode FLOPs per token at 4K context | 26.4 GFLOP |
| Prefill FLOPs for a 4K prompt | 94 TFLOP |
KV cache against context
Every architecture field
| Field | Value | Source |
|---|---|---|
| d_model | 2,048 | config.jsonconfig.jsonhidden_size |
| vocab | 49,152 | config.jsonconfig.jsonvocab_size |
| tied_embeddings | false | config.jsonconfig.jsontie_word_embeddings |
| mixers.full.type | attn | codemodelling codeattention block |
| mixers.full.heads | 16 | config.jsonconfig.jsonnum_attention_heads |
| mixers.full.kv_heads | 16 | config.jsonconfig.jsonnum_key_value_heads |
| mixers.full.head_dim | 128 | config.jsonconfig.jsonhead_dim |
| mixers.full.qk_norm | true | codemodelling codetransformers 5.18.0 ouro: q_norm and k_norm |
| ffns.dense.type | dense | codemodelling codeMLP block |
| ffns.dense.d_ff | 5,632 | config.jsonconfig.jsonintermediate_size |
| ffns.dense.gated | true | codemodelling codeMLP: gated (SwiGLU/GeGLU) |
| layout | 48× full/dense | config.jsonconfig.jsonnum_hidden_layers |
| loops | 4 | config.jsonconfig.jsontotal_ut_steps |
Sources
- config.json @ f1edd81
- model card
- arXiv 2510.25741
- 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 “Ouro-Thinking (2.6B)” (name only; see about).