Olmo 2 0325 32B
OLMo 2 32B是艾伦人工智能研究院(AI2)推出的开放语言模型系列中规模最大的32B参数模型,基于Apache 2.0许可开源,支持英语语言处理。
下载量 2,246
发布时间 : 2/23/2025
模型简介
OLMo 2 32B是一个自回归Transformer语言模型,旨在推动语言模型科学研究。该模型经过多阶段训练,包括初始预训练和中期训练,并在多个评估基准上表现出色。
模型特点
完全开源
模型代码、检查点、训练日志全部开源,支持科学研究
多阶段训练
包含初始预训练和中期训练阶段,采用混合数据集优化性能
高性能表现
在多个评估基准上超越同类开源模型
多版本支持
提供基础模型、监督微调版、偏好优化版和指令版等多种变体
模型能力
文本生成
语言理解
问答系统
数学推理
使用案例
学术研究
语言模型科学研究
可用于研究语言模型的训练方法、架构优化等
商业应用
智能问答系统
构建基于知识的问答应用
内容生成
自动生成文章、报告等文本内容
🚀 OLMo 2 32B模型
OLMo 2 32B是OLMo 2系列中最大的模型,基于Transformer架构的自回归语言模型,在自然语言处理领域表现出色,可用于文本生成、语言理解等多种任务。
🚀 快速开始
你可以使用标准的HuggingFace transformers库来使用OLMo 2 32B模型进行推理。以下是一个简单的示例:
from transformers import AutoModelForCausalLM, AutoTokenizer
olmo = AutoModelForCausalLM.from_pretrained("allenai/OLMo-2-0325-32B")
tokenizer = AutoTokenizer.from_pretrained("allenai/OLMo-2-0325-32B")
message = ["Language modeling is "]
inputs = tokenizer(message, return_tensors='pt', return_token_type_ids=False)
# 可选:验证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])
>> 'Language modeling is a key component of any text-based application, but its effectiveness...'
✨ 主要特性
- 多种规模可选:提供了7B、13B和32B等不同规模的模型,满足不同场景的需求。
- 多阶段训练:经过预训练、中间训练和后训练等多个阶段,提升模型性能。
- 支持量化:可以对模型进行量化,提高推理速度。
📦 安装指南
OLMo 2 32B支持transformers v4.48或更高版本,你可以使用以下命令进行安装:
pip install transformers>=4.48
如果你使用vLLM,需要从主分支安装,直到v0.7.4版本发布。
💻 使用示例
基础用法
from transformers import AutoModelForCausalLM, AutoTokenizer
olmo = AutoModelForCausalLM.from_pretrained("allenai/OLMo-2-0325-32B")
tokenizer = AutoTokenizer.from_pretrained("allenai/OLMo-2-0325-32B")
message = ["Language modeling is "]
inputs = tokenizer(message, return_tensors='pt', return_token_type_ids=False)
# 可选:验证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])
>> 'Language modeling is a key component of any text-based application, but its effectiveness...'
高级用法
为了获得更快的性能,你可以使用以下方法对模型进行量化:
AutoModelForCausalLM.from_pretrained("allenai/OLMo-2-0325-32B",
torch_dtype=torch.float16,
load_in_8bit=True) # 需要bitsandbytes库
量化后的模型对数据类型和CUDA操作更为敏感。为避免潜在问题,建议直接将输入传递给CUDA:
inputs.input_ids.to('cuda')
📚 详细文档
模型描述
属性 | 详情 |
---|---|
开发者 | Allen Institute for AI (Ai2) |
模型类型 | Transformer风格的自回归语言模型 |
语言 | 英语 |
许可证 | 代码和模型遵循Apache 2.0许可证 |
联系方式 | 技术咨询:olmo@allenai.org ;媒体:press@allenai.org |
数据截止日期 | 2023年12月 |
模型来源
- 项目页面:https://allenai.org/olmo
- 仓库:
- 核心仓库(训练、推理、微调等):https://github.com/allenai/OLMo-core
- 评估代码:https://github.com/allenai/OLMo-Eval
- 进一步微调代码:https://github.com/allenai/open-instruct
- 论文:https://arxiv.org/abs/2501.00656
评估结果
模型 | 训练FLOPs | 平均 | ARC/C | HSwag | WinoG | MMLU | DROP | NQ | AGIEval | GSM8k | MMLUPro | TriviaQA |
---|---|---|---|---|---|---|---|---|---|---|---|---|
开放权重模型 | ||||||||||||
Llama-2-13B | 1.6 · 10^23 | 54.1 | 67.3 | 83.9 | 74.9 | 55.7 | 45.6 | 38.4 | 41.5 | 28.1 | 23.9 | 81.3 |
Mistral-7B-v0.3 | n/a | 58.8 | 78.3 | 83.1 | 77.7 | 63.5 | 51.8 | 37.2 | 47.3 | 40.1 | 30 | 79.3 |
Llama-3.1-8B | 7.2 · 10^23 | 61.8 | 79.5 | 81.6 | 76.6 | 66.9 | 56.4 | 33.9 | 51.3 | 56.5 | 34.7 | 80.3 |
Mistral-Nemo-12B | n/a | 66.9 | 85.2 | 85.6 | 81.5 | 69.5 | 69.2 | 39.7 | 54.7 | 62.1 | 36.7 | 84.6 |
Qwen-2.5-7B | 8.2 · 10^23 | 67.4 | 89.5 | 89.7 | 74.2 | 74.4 | 55.8 | 29.9 | 63.7 | 81.5 | 45.8 | 69.4 |
Gemma-2-9B | 4.4 · 10^23 | 67.8 | 89.5 | 87.3 | 78.8 | 70.6 | 63 | 38 | 57.3 | 70.1 | 42 | 81.8 |
Mistral-Small-24B | n/a | 75.2 | 93.3 | 91.3 | 77.8 | 80.7 | 74.4 | 42.3 | 69.1 | 79.7 | 54.2 | 88.8 |
Gemma-2-27B | 2.1 · 10^24 | 71.3 | 90.7 | 88.4 | 74.5 | 75.7 | 70.1 | 44.7 | 61.5 | 75.7 | 44.7 | 87.4 |
Qwen-2.5-14B | 1.6 · 10^24 | 72.2 | 94.0 | 94.0 | 80.0 | 79.3 | 51.5 | 37.3 | 71.0 | 83.4 | 52.8 | 79.1 |
Qwen-2.5-32B | 3.5 · 10^24 | 74.9 | 95.6 | 96.0 | 84.0 | 83.1 | 53.1 | 37.0 | 78.0 | 83.3 | 59.0 | 79.9 |
部分开放模型 | ||||||||||||
StableLM-2-12B | 2.9 · 10^23 | 62.2 | 81.9 | 84.5 | 77.7 | 62.4 | 55.5 | 37.6 | 50.9 | 62 | 29.3 | 79.9 |
Zamba-2-7B | n/c | 65.2 | 92.2 | 89.4 | 79.6 | 68.5 | 51.7 | 36.5 | 55.5 | 67.2 | 32.8 | 78.8 |
完全开放模型 | ||||||||||||
Amber-7B | 0.5 · 10^23 | 35.2 | 44.9 | 74.5 | 65.5 | 24.7 | 26.1 | 18.7 | 21.8 | 4.8 | 11.7 | 59.3 |
OLMo-7B | 1.0 · 10^23 | 38.3 | 46.4 | 78.1 | 68.5 | 28.3 | 27.3 | 24.8 | 23.7 | 9.2 | 12.1 | 64.1 |
MAP-Neo-7B | 2.1 · 10^23 | 49.6 | 78.4 | 72.8 | 69.2 | 58 | 39.4 | 28.9 | 45.8 | 12.5 | 25.9 | 65.1 |
OLMo-0424-7B | 0.9 · 10^23 | 50.7 | 66.9 | 80.1 | 73.6 | 54.3 | 50 | 29.6 | 43.9 | 27.7 | 22.1 | 58.8 |
DCLM-7B | 1.0 · 10^23 | 56.9 | 79.8 | 82.3 | 77.3 | 64.4 | 39.3 | 28.8 | 47.5 | 46.1 | 31.3 | 72.1 |
OLMo-2-1124-7B | 1.8 · 10^23 | 62.9 | 79.8 | 83.8 | 77.2 | 63.7 | 60.8 | 36.9 | 50.4 | 67.5 | 31.0 | 78 |
OLMo-2-1124-13B | 4.6 · 10^23 | 68.3 | 83.5 | 86.4 | 81.5 | 67.5 | 70.7 | 46.7 | 54.2 | 75.1 | 35.1 | 81.9 |
OLMo-2-0325-32B | 1.3 · 10^24 | 72.9 | 90.4 | 89.7 | 78.7 | 74.9 | 74.3 | 50.2 | 61.0 | 78.8 | 43.3 | 88.0 |
训练详情
OLMo 2 32B | OLMo 2 13B | OLMo 2 7B | |
---|---|---|---|
预训练阶段1 | 6万亿个标记 (1.5个周期) |
5万亿个标记 (1.2个周期) |
4万亿个标记 (1个周期) |
预训练阶段2 | 1000亿个标记 (3次运行) 3000亿个标记 (1次运行) 合并 |
1000亿个标记 (3次运行) 3000亿个标记 (1次运行) 合并 |
500亿个标记 (3次运行) 合并 |
后训练 | SFT + DPO + GRPO (偏好混合) |
SFT + DPO + PPO (偏好混合) |
SFT + DPO + PPO (偏好混合) |
阶段1:初始预训练
- 数据集:OLMo-mix-1124 (3.9T个标记)
- 覆盖率:超过95%的总预训练预算
- 32B模型:约1.5个周期
阶段2:中间训练
- 数据集:Dolmino-Mix-1124
- 两种训练混合:
- 1000亿个标记
- 3000亿个标记
- 混合组成:50%高质量网络数据 + 学术/问答/指令/数学内容
模型合并
- 32B模型:在100B混合上的3个版本 + 在300B混合上的1个版本,合并为最终检查点
🔧 技术细节
微调
模型微调可以从最终检查点(此模型的main
版本)或许多中间检查点开始。有两种微调方法可供选择:
- 使用OLMo-core仓库进行微调:
torchrun --nproc-per-node=8 ./src/scripts/official/OLMo2-0325-32B-train.py run01
你可以从命令行覆盖大多数配置选项。例如,要覆盖学习率,可以这样启动脚本:
torchrun --nproc-per-node=8 ./src/scripts/train/OLMo2-0325-32B-train.py run01 --train_module.optim.lr=6e-3
更多文档请参阅GitHub README。 2. AI2的Open Instruct仓库正在开发进一步的微调支持。详情请见此处。
加载特定版本
要使用HuggingFace加载特定的模型版本,只需添加revision
参数:
olmo = AutoModelForCausalLM.from_pretrained("allenai/OLMo-2-0325-32B", revision="step250000-tokens2098B")
或者,你可以通过以下代码片段访问模型的所有版本:
from huggingface_hub import list_repo_refs
out = list_repo_refs("allenai/OLMo-2-0325-32B")
branches = [b.name for b in out.branches]
📄 许可证
代码和模型遵循Apache 2.0许可证。
⚠️ 重要提示
与任何基础或微调语言模型一样,用户可以通过提示让AI生成有害和敏感内容。此类内容也可能无意中产生,特别是在涉及偏差的情况下,因此我们建议用户在应用此技术时考虑风险。此外,OLMo或任何大语言模型的许多陈述往往不准确,因此应核实事实。
引用
@misc{olmo20242olmo2furious,
title={{2 OLMo 2 Furious}},
author={Team OLMo and Pete Walsh and Luca Soldaini and Dirk Groeneveld and Kyle Lo and Shane Arora and Akshita Bhagia and Yuling Gu and Shengyi Huang and Matt Jordan and Nathan Lambert and Dustin Schwenk and Oyvind Tafjord and Taira Anderson and David Atkinson and Faeze Brahman and Christopher Clark and Pradeep Dasigi and Nouha Dziri and Michal Guerquin and Hamish Ivison and Pang Wei Koh and Jiacheng Liu and Saumya Malik and William Merrill and Lester James V. Miranda and Jacob Morrison and Tyler Murray and Crystal Nam and Valentina Pyatkin and Aman Rangapur and Michael Schmitz and Sam Skjonsberg and David Wadden and Christopher Wilhelm and Michael Wilson and Luke Zettlemoyer and Ali Farhadi and Noah A. Smith and Hannaneh Hajishirzi},
year={2024},
eprint={2501.00656},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2501.00656},
}
模型卡片联系信息
如果此模型卡片存在错误,请联系olmo@allenai.org
。
Phi 2 GGUF
其他
Phi-2是微软开发的一个小型但强大的语言模型,具有27亿参数,专注于高效推理和高质量文本生成。
大型语言模型 支持多种语言
P
TheBloke
41.5M
205
Roberta Large
MIT
基于掩码语言建模目标预训练的大型英语语言模型,采用改进的BERT训练方法
大型语言模型 英语
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基础模型的蒸馏版本,在保持相近性能的同时更轻量高效,适用于序列分类、标记分类等自然语言处理任务。
大型语言模型 英语
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一个多语言大语言模型,针对多语言对话用例进行了优化,在常见的行业基准测试中表现优异。
大型语言模型 英语
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基于100种语言的2.5TB过滤CommonCrawl数据预训练的多语言模型,采用掩码语言建模目标进行训练。
大型语言模型 支持多种语言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基于Transformer架构的英语预训练模型,通过掩码语言建模目标在海量文本上训练,支持文本特征提取和下游任务微调
大型语言模型 英语
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI发布的开放预训练Transformer语言模型套件,参数量从1.25亿到1750亿,旨在对标GPT-3系列性能,同时促进大规模语言模型的开放研究。
大型语言模型 英语
O
facebook
6.3M
198
1
基于transformers库的预训练模型,适用于多种NLP任务
大型语言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多语言大语言模型系列,包含8B、70B和405B参数规模,支持8种语言和代码生成,优化了多语言对话场景。
大型语言模型
Transformers 支持多种语言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基础版是由Google开发的文本到文本转换Transformer模型,参数规模2.2亿,支持多语言NLP任务。
大型语言模型 支持多种语言
T
google-t5
5.4M
702
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98