---
title: Ouro-1.4B-Thinking
canonical_url: "https://www.modelscope.cn/models/bytedance-community/Ouro-1.4B-Thinking"
md_url: "https://www.modelscope.cn/models/bytedance-community/Ouro-1.4B-Thinking.md"
repository: bytedance-community/Ouro-1.4B-Thinking
last_updated: 2026-06-05
license: apache-2.0
pipeline_tag: text-generation
tasks:
  - text-generation
model_type:
  - ouro
architectures:
  - OuroForCausalLM
parameters: 1.4B
tensor_type:
  - BF16
library_name:
  - transformer
  - safetensors
  - pytorch
frameworks:
  - pytorch
downloads: 85
stars: 0
tags:
  - looped-language-model
  - reasoning
  - recurrent-depth
  - thinking
  - chain-of-thought
---

# Ouro-1.4B-Thinking

> Ouro-1.4B-Thinking - bytedance-community 在 ModelScope 开源的模型。⚠️ IMPORTANT: This model is intended for research purposes only. It is provided as-is without warranties for production use.

bytedance-community/Ouro-1.4B-Thinking 是 ModelScope 魔搭社区上的 1.4B 参数text-generation模型，采用 apache-2.0 许可。

- **Repository**: bytedance-community/Ouro-1.4B-Thinking
- **License**: apache-2.0
- **Tasks**: text-generation
- **Parameters**: 1.4B
- **Tags**: looped-language-model, reasoning, recurrent-depth, thinking, chain-of-thought
- **Downloads**: 85
- **Stars**: 0
- **Last updated**: 2026-06-05

Source: https://www.modelscope.cn/models/bytedance-community/Ouro-1.4B-Thinking

---

# Ouro-1.4B-Thinking

![Ouro Logo](assets/logo.png)

## Model Description


**⚠️ IMPORTANT: This model is intended for research purposes only. It is provided as-is without warranties for production use.**


**Ouro-1.4B-Thinking** is a reasoning-specialized variant of the Ouro-1.4B base model, enhanced through supervised fine-tuning on high-quality reasoning data.

![Thinking Model Performance](assets/ouro_thinking.png)

## Key Features

- **Advanced Reasoning**: Specifically optimized for mathematical and scientific reasoning tasks
- **Compact Size**: Competitive with 4B models despite having only 1.4B parameters
- **Cross-Step Consistency**: Intermediate recurrent outputs can serve as reliable proxies for final answers
- **Explicit Thinking Process**: Trained to generate detailed reasoning steps


## Configuration

### Recurrent Steps and Adaptive Exit

The model's computational behavior can be configured through the `config.json` file:

```json
{
  "total_ut_steps": 4,
  "early_exit_threshold": 1.0
}
```

- **`total_ut_steps`**: Controls the number of recurrent steps (default: 4). You can adjust this value to trade off between performance and computation time.
- **`early_exit_threshold`**: Controls the adaptive exit mechanism (default: 1.0). Lower values encourage earlier exit, while 1.0 means always use all steps.

**Example: Modify recurrent steps**
```python
from transformers import AutoConfig, AutoModelForCausalLM

config = AutoConfig.from_pretrained("ByteDance/Ouro-1.4B-Thinking")
config.total_ut_steps = 3  # Use 3 recurrent steps instead of 4
model = AutoModelForCausalLM.from_pretrained(
    "ByteDance/Ouro-1.4B-Thinking",
    config=config,
    device_map="auto"
)
```

> **Note**: vLLM does not currently support the adaptive exit feature due to its inference optimization characteristics. When using vLLM, the model will always execute the full number of `total_ut_steps`.


## Model Architecture

Based on Ouro-1.4B with additional reasoning fine-tuning:

| Configuration | Value |
|:---|:---|
| **Parameters** | 1.4B |
| **Layers** | 24 |
| **Recurrent Steps** | 4 |
| **Hidden Size** | 2048 |
| **Attention Heads** | Multi-Head Attention (MHA) |
| **FFN Activation** | SwiGLU |
| **Position Embedding** | RoPE |
| **Vocabulary Size** | 49,152 |
| **Context Length** | 32K (SFT) |
| **Normalization** | Sandwich RMSNorm |

## Training Details

### Pre-training
- **Training Tokens**: 7.7T tokens across 4 stages
- **Base Architecture**: Ouro-1.4B

### Supervised Fine-Tuning
- **Data Size**: ~8.3M examples
- **Data Composition**:
  - Mathematics: 3.5M examples (OpenThoughts3, AceReason-1.1-SFT)
  - Code: 3.2M examples (AceReason, OpenCodeReasoning, Llama-Nemotron, OpenThoughts3)
  - Science: 808K examples (OpenThoughts3, Llama-Nemotron)
  - Chat: 767K examples (DeepWriting-20K)
- **Training**: 2 epochs, max sequence length 32K
- **Optimizer**: Adam (lr=2×10⁻⁵, β=(0.9, 0.95))
- **Scheduler**: Cosine decay

## Quick Start
**⚠️ IMPORTANT**: Please use `transformers<4.56.0` to avoid compatibility issues. We recommend `transformers==4.54.1` or earlier versions.

```python
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "Bytedance/Ouro-1.4B-Thinking"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    device_map="auto",
    torch_dtype="auto"
)

# Generate with reasoning
messages = [
    {"role": "user", "content": "Solve: If 2x + 3 = 11, what is x?"}
]
inputs = tokenizer.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_tensors="pt"
).to(model.device)

outputs = model.generate(inputs, max_new_tokens=512, temperature=1.0, top_p=0.7)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
```

## Acknowledgments

We thank [@Antizana](https://github.com/Antizana) for the KV cache fix merged from [ouro-cache-fix](https://github.com/Antizana/ouro-cache-fix), which resolved a critical compatibility issue with transformers>=4.56.0.

## Citation

```bibtex
@article{zhu2025scaling,
  title={Scaling Latent Reasoning via Looped Language Models},
  author={Zhu, Rui-Jie and Wang, Zixuan and Hua, Kai and Zhang, Tianyu and Li, Ziniu and Que, Haoran and Wei, Boyi and Wen, Zixin and Yin, Fan and Xing, He and others},
  journal={arXiv preprint arXiv:2510.25741},
  year={2025}
}

## License

This model is licensed under Apache-2.0. See the LICENSE file for details.

## Project Links

- **Paper**: [Scaling Latent Reasoning via Looped Language Models](https://huggingface.co/papers/2510.25741)
- **Code**: [https://github.com/Ouro-LLM/Ouro](https://github.com/Ouro-LLM/Ouro)
- **Project Page**: [https://ouro-llm.github.io](https://ouro-llm.github.io)

---
