Model reference · open weights
Olmo-3-DPO is an open-weight language model from allenai. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.
Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.
What it is
| Maker | allenai |
|---|---|
| Type | Language models |
| Task | Text gen |
| Parameters (lead) | 7.3B |
| Context | 64k tokens |
| Runs with | transformers |
| Based on | allenai/Olmo-3-7B-Instruct-SFT |
| Released | 2025-11-19 |
| Popularity | 15k downloads / month |
| Licence | Open weights |
About
We introduce Olmo 3, a new family of 7B and 32B models both Instruct and Think variants. Long chain-of-thought thinking improves reasoning tasks like math and coding.
Olmo is a series of Open language models designed to enable the science of language models. These models are pre-trained on the Dolma 3 dataset and post-trained on the Dolci datasets. We are releasing all code, checkpoints, logs (coming soon), and associated training details.
The core models released in this batch include the following:
| Stage | Olmo 3 7B Think | Olmo 3 32B Think | Olmo 3 7B Instruct |
|---|---|---|---|
| Base Model | Olmo-3-7B | Olmo-3-32B | Olmo-3-7B |
| SFT | Olmo-3-7B-Think-SFT | Olmo-3-32B-Think-SFT | Olmo-3-7B-Instruct-SFT |
| DPO | Olmo-3-7B-Think-DPO | Olmo-3-32B-Think-DPO | Olmo-3-7B-Instruct-DPO |
| Final Models (RLVR) | Olmo-3-7B-Think | Olmo-3-32B-Think | Olmo-3-7B-Instruct |
Olmo 3 is supported in transformers 4.57.0 or higher:
pip install transformers>=4.57.0
You can use OLMo with the standard HuggingFace transformers library:
from transformers import AutoModelForCausalLM, AutoTokenizer
olmo = AutoModelForCausalLM.from_pretrained("allenai/Olmo-3-7B-Instruct-DPO")
tokenizer = AutoTokenizer.from_pretrained("allenai/Olmo-3-7B-Instruct-DPO")
message = ["Who would win in a fight - a dinosaur or a cow named Moo Moo?"]
inputs = tokenizer(message, return_tensors='pt', return_token_type_ids=False)
# optional verifying cuda
# inputs = {k: v.to('cuda') for k,v in inputs.items()}
# olmo = olmo.to('cuda')
response = olmo.generate(**inputs, max_new_tokens=100, do_sample=True, top_k=50, top_p=0.95)
print(tokenizer.batch_decode(response, skip_special_tokens=True)[0])
>> 'This is a fun and imaginative question! Let’s break it down...'
For faster performance, you can quantize the model using the following method:
AutoModelForCausalLM.from_pretrained("allenai/Olmo-3-7B-Instruct-DPO",
torch_dtype=torch.float16,
load_in_8bit=True) # Requires bitsandbytes
The quantized model is more sensitive to data types and CUDA operations. To avoid potential issues, it's recommended to pass the inputs directly to CUDA using:
inputs.input_ids.to('cuda')
The default system prompt for this model is:
You are a helpful function-calling AI assistant.
You do not currently have access to any functions.
The chat template for this model is formatted as:
You are a helpful function-calling AI assistant.
You do not currently have access to any functions.
Who would win in a fight - a dinosaur or a cow named Moo Moo?
This is a fun and imaginative question! Let’s break it down...
Moo Moo the cow would certinaly win.
olmo@allenai.org. Press: press@allenai.org| Skill | Benchmark | Olmo 3 Instruct 7B SFT | Olmo 3 Instruct 7B DPO | Olmo3 Instruct 7B | Qwen 3 8B (no reasoning) | Qwen 3 VL 8B Instruct | Qwen 2.5 7B | Olmo 2 7B Instruct | Apertus 8B Instruct | Granite 3.3 8B Instruct |
|---|---|---|---|---|---|---|---|---|---|---|
| Math | MATH | 65.1 | 79.6 | 87.3 | 82.3 | 91.6 | 71.0 | 30.1 | 21.9 | 67.3 |
| AIME 2024 | 6.7 | 23.5 | 44.3 | 26.2 | 55.1 | 11.3 | 1.3 | 0.5 | 7.3 | |
| AIME 2025 | 7.2 | 20.4 | 32.5 | 21.7 | 43.3 | 6.3 | 0.4 | 0.2 | 6.3 | |
| OMEGA | 14.4 | 22.8 | 28.9 | 20.5 | 32.3 | 13.7 | 5.2 | 5.0 | 10.7 | |
| Reasoning | BigBenchHard | 51.0 | 69.3 | 71.2 | 73.7 | 85.6 | 68.8 | 43.8 | 42.2 | 61.2 |
| ZebraLogic | 18.0 | 28.4 | 32.9 | 25.4 | 64.3 | 10.7 | 5.3 | 5.3 | 17.6 | |
| AGI Eval English | 59.2 | 64.0 | 64.4 | 76.0 | 84.5 | 69.8 | 56.1 | 50.8 | 64.0 | |
| Coding | HumanEvalPlus | 69.8 | 72.9 | 77.2 | 79.8 | 82.9 | 74.9 | 25.8 | 34.4 | 64.0 |
| MBPP+ | 56.5 | 55.9 | 60.2 | 64.4 | 66.3 | 62.6 | 40.7 | 42.1 | 54.0 | |
| LiveCodeBench v3 | 20.0 | 18.8 | 29.5 | 53.2 | 55.9 | 34.5 | 7.2 | 7.8 | 11.5 | |
| IF | IFEval | 81.7 | 82.0 | 85.6 | 86.3 | 87.8 | 73.4 | 72.2 | 71.4 | 77.5 |
| IFBench | 27.4 | 29.3 | 32.3 | 29.3 | 34. |
From the published model card. Full card on the HuggingFace links in the sidebar.
Using it via the API
Once AxForge deploys olmo-3-dpo for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (olmo-3-dpo below is illustrative; you get the exact model name on deployment.)
$ curl -sS https://api.axforge.ai/v1/chat/completions \
-H "Authorization: Bearer $AXFORGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"olmo-3-dpo","messages":[{"role":"user","content":"Hello"}]}'
Create an account — your API key is available in the console. 5M tokens/month currently included with every new account at launch.