AI2 Opens OLMo 3's Full 32B Training Stack Where Qwen3 Stayed Closed

Allen AI's OLMo-core is the fully open PyTorch training framework behind OLMo 2 and OLMo 3, now supporting MoE, multimodal, and 4-way parallelism out of the box.

·
·
AI2 Opens OLMo 3's Full 32B Training Stack Where Qwen3 Stayed ClosedPRO
Read2 min
TypeRepo
  • OLMo-core is AI2's fully open PyTorch LLM training framework, used to build and release the OLMo 2 and OLMo 3 model families under Apache 2.0.
  • Supports 4-way parallelism out of the box: data (FSDP/DDP), tensor, context, expert, and pipeline parallelism in one unified API.
  • Official training scripts for OLMo 3 7B and 32B are included, making the exact training recipe fully reproducible by anyone.
  • OLMo 3-Think (7B) matches Qwen 3 8B on MATH and leads on HumanEvalPlus; the 32B base is one of the only open 32B base models available at this scale.
  • Recent additions include multimodal support (CLIP/SigLIP vision encoders), Gated DeltaNet hybrid architectures, Muon/Dion optimizers, flash-attention 4, and MXFP8 training.
  • Free to use via pip install ai2-olmo-core; full documentation and Docker images tested on H100 clusters are available.

OLMo-core is the PyTorch training library that the Allen Institute for AI (AI2) uses to build and release its OLMo model family. Unlike most training frameworks that stay internal, AI2 ships OLMo-core as a fully open-source library under Apache 2.0, complete with the exact training scripts, data mixes, and configs used to produce their released models. It is, in effect, the engine behind every OLMo model you can download today.

More than a training loop

OLMo-core represents a major rewrite of the original training and modeling code from OLMo, with a focus on performance and API stability. It aims to provide a standard set of robust tools that LLM researchers at AI2 and other organizations can use to build their research projects on, centered around a highly efficient yet flexible Trainer and a launch module that handles all the boilerplate of launching experiments on Beaker or other platforms.

The library is structured around a clean config-then-build pattern. You define your experiment through typed config classes, then call .build() on each component at runtime. This makes experiments reproducible, serializable, and easy to override from the command line.

code
model_config = TransformerConfig.llama2_7B(...)
train_module_config = TransformerTrainModuleConfig(...)
data_config = NumpyFSLDatasetConfig(...)
trainer_config = TrainerConfig(...)
def main():
    model = model_config.build()
    train_module = train_module_config.build(model)
    trainer = trainer_config.build(train_module, data_loader)
    trainer.fit()

The parallelism stack is production-grade

Scaling LLMs across hundreds of GPUs requires combining multiple parallelism strategies simultaneously. OLMo-core ships all of them in one coherent API. The TransformerTrainModule supports three dimensions of parallelism for dense models: data parallelism through FSDP or DDP, tensor parallelism (TP), and context parallelism (CP), as well as expert parallelism (EP) for MoE models.

Pro article

This story is for Pro members

You've reached the end of the free preview. Upgrade to AlphaSignal Pro to read the full article - and everything else behind the paywall.

Trending
  • No trending articles

Comments

avatar

Next Reads