---
license: apache-2.0
base_model: openeurollm/OLMo-3-7B-Instruct-SFT
language:
- en
- cs
- de
- es
- fi
- fr
- it
- sv
library_name: transformers
tags:
- olmo
- sft
- multilingual
- european-languages
- dolci-translated
- continued-sft
datasets:
- allenai/Dolci-Instruct-SFT
- openeurollm/Dolci-Instruct-SFT-translated
---

# OLMo-3-7B Dolci-Translated A-75EN

Continued-SFT of `openeurollm/OLMo-3-7B-Instruct-SFT` on a $75/25$ English:EU
mixture, the headline configuration of the paper *Translate, Replay, Mix:
Exploring Multilingual Post-Training for Low-Resource European Languages*.

- Qualitative completions viewer: https://ferreirafabio.github.io/olmo3-multilingual-dolci-sft-progression/

## Recipe

| | |
|---|---|
| **Base checkpoint** | `openeurollm/OLMo-3-7B-Instruct-SFT` (our reproduction at parity with `allenai/OLMo-3-7B-Instruct-SFT`) |
| **English half (Dolci replay)** | `allenai/Dolci-Instruct-SFT`, 75% of the mixture |
| **EU half (Dolci-Translated)** | `openeurollm/Dolci-Instruct-SFT-translated`, 25% of the mixture, 7 EU languages translated with `gemma-3-27b-it` |
| **EU languages** | cs, de, es, fi, fr, it, sv |
| **Total samples** | 2.87M (2,152,112 en + 717,370 EU) |
| **Final step** | 3998 |
| **Chat template** | `olmo` (inherited from base) |

## Training configuration

- Optimiser: AdamW, $\beta_1=0.9$, $\beta_2=0.95$
- Peak learning rate: $8\times10^{-5}$, linear warm-up + cosine decay
- Effective batch size: ${\sim}1$M tokens per step
- Sequence length: 32,768
- Precision: BF16
- DeepSpeed ZeRO stage 2
- Hardware: 8 × NVIDIA H200 SXM (HoreKa), $2\times4$ topology
- Training framework: OLMo-core via the `open-instruct` fork

## Evaluation

Bradley-Terry Elo (Qwen3.5-27B judge, LMArena BT implementation, 500
battles/language, 100 bootstrap resamples):

| Metric              | A-75EN (this checkpoint) | Baseline (`openeurollm/OLMo-3-7B-Instruct-SFT`) |
|---------------------|--------------------------|-------------------------------------------------|
| Overall Elo         | $789 \pm 7$               | $762 \pm 7$                                       |
| English Elo         | $\mathbf{950 \pm 14}$    | $954 \pm 16$                                      |
| Non-English Elo     | $\mathbf{755 \pm 8}$     | $697 \pm 9$                                       |

Per-language Elo (cs / de / es / fi / fr / it / sv):

| en        | cs        | de        | es        | fi        | fr        | it        | sv        |
|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|
| $950 \pm 14$ | $714 \pm 19$ | $690 \pm 24$ | $746 \pm 18$ | $732 \pm 44$ | $743 \pm 17$ | $\mathbf{820 \pm 15}$ | $722 \pm 35$ |

A-75EN preserves English Elo within CI of baseline and improves on every EU
language except Swedish, with the largest gain on Italian. Full per-language
breakdown and the comparison to A-25EN are in the paper, Tables 2 and 3.

## Intermediate checkpoints

Training-step revisions (`step500`, `step1500`, `step2500`, `step3500`) are
available as HF git revisions of this repo (loaded via `revision="step1500"`)
and back the qualitative completions viewer at https://ferreirafabio.github.io/olmo3-multilingual-dolci-sft-progression/.

## How to load

```python
from transformers import AutoTokenizer, AutoModelForCausalLM
tok = AutoTokenizer.from_pretrained("openeurollm/OLMo-3-7B-Dolci-Translated-A-75EN")
model = AutoModelForCausalLM.from_pretrained("openeurollm/OLMo-3-7B-Dolci-Translated-A-75EN", torch_dtype="bfloat16")
# tok.chat_template is set; use tok.apply_chat_template(...) directly
```

## Citation

Please cite the paper and the OLMo-3 family if you use this checkpoint.
