Dedicated Endpoints

Run this model inference on single tenant GPU with unmatched speed and reliability at scale.

Learn more

Get help setting up a custom Dedicated Endpoints.

Talk with our engineer to get a quote for reserved GPU instances with discounts.

README

License: apache-2.0

Installation

Olmo 3 is supported in transformers 4.57.0 or higher:

bash

pip install transformers>=4.57.0

Inference

You can use OLMo with the standard HuggingFace transformers library:

python

from transformers import AutoModelForCausalLM, AutoTokenizer
olmo = AutoModelForCausalLM.from_pretrained("allenai/Olmo-3.1-32B-Think")
tokenizer = AutoTokenizer.from_pretrained("allenai/Olmo-3.1-32B-Think")
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])
>> '<think>Okay, so the question is who would win in a fight...'

For faster performance, you can quantize the model using the following method:

python

AutoModelForCausalLM.from_pretrained("allenai/Olmo-3.1-32B-Think",
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:

python

inputs.input_ids.to('cuda')

We have released checkpoints for these models. For post-training, the naming convention is step_XXX.

To load a specific model revision with HuggingFace, simply add the argument revision:

bash

olmo = AutoModelForCausalLM.from_pretrained("allenai/Olmo-3.1-32B-Think", revision="step_300")

Or, you can access all the revisions for the models via the following code snippet:

python

from huggingface_hub import list_repo_refs
out = list_repo_refs("allenai/Olmo-3.1-32B-Think")
branches = [b.name for b in out.branches]

Chat template

Default System Message

The default system prompt for this model is:

markdown

<|im_start|>system
You are a helpful AI assistant.<|im_end|>

Chat Format

The chat template for this model is formatted as:

markdown

<|im_start|>system
You are a helpful AI assistant.<|im_end|>
<|im_start|>user
Who would win in a fight - a dinosaur or a cow named Moo Moo?<|im_end|>
<|im_start|>assistant
<think>Okay, so the question is who would win in a fight between a dinosaur and a cow named Moo Moo.
Hmm, first I need to break this down. Let me think about the different factors involved here..... </think>
Moo Moo the cow would certinaly win.<|im_end|>
<|endoftext|>

Model Description

  • Developed by: Allen Institute for AI (Ai2)
  • Model type: a Transformer style autoregressive language model.
  • Language(s) (NLP): English
  • License: This model is licensed under Apache 2.0. It is intended for research and educational use in accordance with Ai2's Responsible Use Guidelines.
  • Contact: Technical inquiries: olmo@allenai.org. Press: press@allenai.org
  • Date cutoff: Dec. 2024.

Model Sources

Evaluation

BenchmarkOlmo 3.1 32B ThinkOlmo 3 Think 32B SFTOlmo 3 Think 32B DPOOlmo 3 Think 32BQwen 3 32BQwen 3 VL 32B ThinkingQwen 2.5 32BGemma 3 27B InstructGemma 2 27B InstructOlmo 2 32B InstructDeepSeek-R1-Distill-Qwen-32B
Math
MATH96.295.695.996.195.496.780.287.451.549.292.6
AIME 202480.673.576.076.880.886.315.728.94.74.670.3
AIME 202578.166.270.772.570.978.813.422.90.90.956.3
OMEGA53.443.145.250.847.750.819.224.09.19.838.9
Reasoning
BigBenchHard88.688.889.189.890.691.180.982.466.065.689.7
ZebraLogic80.170.574.576.088.396.124.124.817.213.369.4
AGI Eval English89.285.987.888.290.092.278.976.970.968.488.1
Coding
HumanEvalPlus91.590.091.691.491.290.682.679.267.544.492.3
MBPP+68.366.767.268.070.666.266.665.761.249.070.1
LiveCodeBench v383.375.881.983.590.284.849.939.028.710.679.5
IF
IFEval93.883.980.689.086.585.581.985.462.185.878.7
IFBench68.137.034.447.637.355.136.731.327.836.423.8
Knowledge & QA
MMLU86.485.385.285.488.890.184.674.676.177.188.0
PopQA30.933.137.031.930.732.228.030.230.437.226.7
GPQA57.555.757.658.167.367.444.645.039.936.461.8
Chat
AlpacaEval 2 LC69.169.178.674.275.680.981.965.539.838.026.2
Safety83.664.865.368.869.082.781.968.674.383.863.6

Model Details

Stage 1: SFT

Stage 2:DPO

Stage 3: RLVR

  • reinforcement learning from verifiable rewards on the Dolci-Think-RL-7B dataset. This dataset consits of math, code, instruction-following, and general chat queries.
  • Datasets: Dolci-Think-RL-7B, Dolci-Instruct-RL-7B

Inference & Recommended Settings

We evaluated our models on the following settings. We also recommend using them for generation:

  • temperature: 0.6
  • top_p: 0.95
  • max_tokens: 32768

transformers Example

python

from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "allenai/Olmo-3.1-32B-Think"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
)
prompt = "Who would win in a fight - a dinosaur or a cow named MooMoo?"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
temperature=0.6,
top_p=0.95,
max_new_tokens=32768,
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

vllm Example

python

from vllm import LLM, SamplingParams
model_id = "allenai/Olmo-3.1-32B-Think"
llm = LLM(model=model_id)
sampling_params = SamplingParams(
temperature=0.6,
top_p=0.95,
max_tokens=32768,
)
prompt = "Who would win in a fight - a dinosaur or a cow named MooMoo?"
outputs = llm.generate(prompt, sampling_params)
print(outputs[0].outputs[0].text)

Bias, Risks, and Limitations

Like any base language model or fine-tuned model without safety filtering, these models can easily be prompted by users to generate harmful and sensitive content. Such content may also be produced unintentionally, especially in cases involving bias, so we recommend that users consider the risks when applying this technology. Additionally, many statements from OLMo or any LLM are often inaccurate, so facts should be verified.

Citation

markdown

@misc{olmo2025olmo3,
title={Olmo 3},
author={Team Olmo and Allyson Ettinger and Amanda Bertsch and Bailey Kuehl and David Graham and David Heineman and Dirk Groeneveld and Faeze Brahman and Finbarr Timbers and Hamish Ivison and Jacob Morrison and Jake Poznanski and Kyle Lo and Luca Soldaini and Matt Jordan and Mayee Chen and Michael Noukhovitch and Nathan Lambert and Pete Walsh and Pradeep Dasigi and Robert Berry and Saumya Malik and Saurabh Shah and Scott Geng and Shane Arora and Shashank Gupta and Taira Anderson and Teng Xiao and Tyler Murray and Tyler Romero and Victoria Graf and Akari Asai and Akshita Bhagia and Alexander Wettig and Alisa Liu and Aman Rangapur and Chloe Anastasiades and Costa Huang and Dustin Schwenk and Harsh Trivedi and Ian Magnusson and Jaron Lochner and Jiacheng Liu and Lester James V. Miranda and Maarten Sap and Malia Morgan and Michael Schmitz and Michal Guerquin and Michael Wilson and Regan Huff and Ronan Le Bras and Rui Xin and Rulin Shao and Sam Skjonsberg and Shannon Zejiang Shen and Shuyue Stella Li and Tucker Wilde and Valentina Pyatkin and Will Merrill and Yapei Chang and Yuling Gu and Zhiyuan Zeng and Ashish Sabharwal and Luke Zettlemoyer and Pang Wei Koh and Ali Farhadi and Noah A. Smith and Hannaneh Hajishirzi},
year={2025},
eprint={2512.13961},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2512.13961},
}

Model Card Contact

For errors in this model card, contact olmo@allenai.org.

Model provider

chankhavu

Model tree

Base

allenai/Olmo-3-32B-Think-DPO

Fine-tuned

this model

Modalities

Input

Text

Output

Text

Pricing

Dedicated Endpoints

View details

Supported Functionality

Model APIs

Dedicated Endpoints

Container

More information

Explore FriendliAI today