OLMo
AI2开源的大模型全链路训练框架,提供从数据处理到模型训练、推理、评测的完整工具链
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI2开源的大模型全链路训练框架,提供从数据处理到模型训练、推理、评测的完整工具链
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:OLMo 项目 Logo
Imagine walking into a recording studio. Instead of pressing record and hoping for the best, you have a complete toolkit that lets you capture every instrument separately, tune each one with precision, mix with professional software, and finally release a polished album. That's what OLMo (Open Language Model) is for AI language models — a full-stack, open-source training studio that gives researchers complete control over every stage of building a powerful language model.
2023年2月,AI2 (Allen Institute for AI) 发布了 OLMo,在开源社区投下了一颗重磅炸弹。长期以来,训练大语言模型是少数科技巨头的专利——GPT-4、Claude、PaLM 的训练细节从不公开,学术界只能用"黑箱"API做研究,训练数据、架构决策、课程设计全部成谜。
OLMo 的出现改变了这一切。作为当时最完整的开源 LLM 训练框架,它不仅开源了模型权重,更开源了训练代码、数据处理流程、评估基准和中间检查点,真正做到了"玻璃房"级别的透明度。这让全球任何有GPU的研究者,都能完整复现甚至改进一个前沿语言模型的训练过程。
值得注意的是,项目 README 已在2025年初明确标注:OLMo 仓库已不再活跃维护,最新模型(OLMo-2 32B等)已迁移至 OLMo-core 继续开发。理解这一点对于选择使用哪个仓库至关重要。
如果把训练一个语言模型比作养大一个孩子,OLMo 就是一套完整的"育儿手册+工具箱":
这套装备让科研人员不再依赖商业API,也不必从零搭建训练基础设施,站在前人的完整经验上推进研究。
OLMo 的训练采用精心设计的两阶段预训练范式。第一阶段在大规模网络语料(OLMo-mix-1124)上进行海量通用学习,塑造语言模型的基础能力。第二阶段切换到高质量精炼语料(Dolmino-mix-1124),针对特定能力进行强化——这类似于人类教育中"先广泛涉猎、再专精深耕"的策略。
OLMo 每1000步保存一个完整检查点(checkpoint),覆盖整个训练过程。这些检查点以 OLMo 原生格式和 HuggingFace 格式双轨输出,兼容 transformers 生态。研究人员可以随时回溯任意中间状态,研究"模型是如何一步步变聪明的",这对可解释性研究价值极大。
OLMo 提供从微型到巨型的完整规格:
| 规格 | 参数量 | 典型显存需求 | 适用场景 |
|---|---|---|---|
| OLMo-20M | 20M | 1GB | 算法验证、快速实验 |
| OLMo-2 0425-1B | 1B | 8GB | 单卡推理、微调研究 |
| OLMo-2 1124-7B | 7B | 16GB | 单GPU推理 |
| OLMo-2 1124-13B | 13B | 28GB | 双GPU推理 |
| OLMo-2 0325-32B | 32B | 64GB+ | 多卡推理/微调 |
训练引擎原生支持 PyTorch FSDP (Fully Sharded Data Parallel),配合 Flash Attention 和激活检查点技术,可在有限硬件上训练更大模型。torchrun 多节点脚本支持大规模集群训练,是工业级训练的入门门槛。
inference/ 目录提供了完整的推理工具链:INT8量化压缩脚本可将7B模型显存需求从28GB降至约14GB;MMLU评测脚本量化对比压缩前后的精度损失;效率基准测试工具可量化延迟、吞吐量和GPU功耗。
项目内置了 oeval 风格的标准化评测框架,覆盖 MMLU(57个学科)、GSM8K(数学推理)、人体评估等多个维度。评估结果以结构化日志输出,方便接入 W&B 可视化。
OLMo 的架构设计体现了 AI 训练工程的最佳实践:
Transformer 核心:采用标准 decoder-only Transformer,代码适配自 MosaicML 和 minGPT 项目,添加了 Flash Attention 支持(olmo/model.py)。支持 RoPE (Rotary Position Embedding)、GELU 激活、SwiGLU 等现代 LLM 标配组件。
配置驱动:基于 OmegaConf + Hydra 的声明式配置系统,所有训练超参数(模型规模、数据路径、学习率策略、优化器类型)均可通过 YAML 文件或命令行覆盖。这种设计让"对比实验"变得极为高效——改一行参数就跑新实验。
数据流水线:自定义 IterableDataset 和 MemMapDataset 实现流式数据加载,支持超大语料库(TB级)无需全量加载内存。数据通过 HTTP 流式传输,适合分布式训练节点同时拉取数据。
检查点管理:olmo/checkpoint.py 实现了完整的中断恢复和增量训练逻辑,支持从任意检查点无缝续训,解决了长周期训练中的容错难题。
核心依赖栈:PyTorch 2.1+ / Transformers / ai2-olmo-core(AI2共享基础库)/ OmniLog / Weights & Biases / Boto3(S3/GCS存储集成)。完整安装可通过 pip install -e .[all] 一键完成。
OLMo 不适合普通用户——它没有 Web 界面,没有 API 服务,纯命令行交互,需要科研级硬件。
OLMo 适合以下场景:
推理阶段(而非训练)可通过 pip install ai2-olmo + HuggingFace 模型卡直接加载已训练好的 OLMo-2 权重,门槛大幅降低,普通开发者也能使用。
OLMo 的出现是开源 LLM 生态的分水岭事件。在它之前,Meta 的 LLaMA 打破了"模型保密"的第一道墙;OLMo 则打破了"训练过程保密"的第二道墙。当研究社区能够完整观察一个7B模型从随机初始化到完成预训练的全过程,科学研究才真正成为可能。
从影响力看,6513 GitHub Stars 证明了工业界和学术界的广泛认可。更重要的是,它催生了 OLMo-core、OLMo-Family 等后续项目生态,以及大量基于 OLMo 训练流程的二创研究。透明训练的价值,正在被越来越多的实践证明。
图2:GitHub 仓库封面图