许可证:Apache-2.0
数据集:
- allenai/dolma
- allenai/tulu-v2-sft-mixture
- allenai/ultrafeedback_binarized_cleaned
语言:
- 英文
OLMo 7B Instruct模型卡
对于transformers版本v4.40.0或更高版本,建议使用OLMo 7B Instruct HF替代。
OLMo是一系列开放语言模型,旨在推动语言模型科学研究。
基础模型基于Dolma数据集训练,适配版本则采用Tulu SFT混合数据集和UltraFeedback清洗版数据集(指令版本专用)。我们公开了所有训练代码、检查点、日志(即将发布)及模型细节。
OLMo 7B Instruct和OLMo SFT是针对问答优化的适配版本,展示了基础模型通过微调技术可实现的性能提升。
注意: 使用本模型需通过pip安装ai2-olmo
,且需ai2-olmo
>=0.3.0或HuggingFace Transformers<=4.39。兼容性改进的新版本即将发布。
此为原始OLMo发布的指令变体——现已推出更新(更优)版本!查看此处获取最新版本。
模型详情
我们发布两个适配版本:
相关基础模型如下:
基础模型规格:
模型描述
- 开发方: 艾伦人工智能研究所(AI2)
- 支持方: Databricks、哈佛大学Kempner研究所、AMD、CSC(Lumi超算)、华盛顿大学
- 模型类型: 自回归Transformer语言模型
- 语言: 英语
- 许可证: Apache 2.0
- 联系方式: 技术咨询:
olmo at allenai dot org
;媒体:press at allenai dot org
- 数据截止: 基于Dolma数据集版本,2023年2月/3月
模型来源
- 项目页: https://allenai.org/olmo
- 代码库:
- 核心库(训练/推理/微调):https://github.com/allenai/OLMo
- 评估代码:https://github.com/allenai/OLMo-Eval
- 微调代码:https://github.com/allenai/open-instruct
- 论文: 链接
- 技术博客: https://blog.allenai.org/olmo-open-language-model-87ccfc95f580
- W&B日志: https://wandb.ai/ai2-llm/OLMo-7B/reports/OLMo-7B--Vmlldzo2NzQyMzk5
用途
推理
快速安装依赖:
pip install ai2-olmo
HuggingFace标准调用:
from hf_olmo import OLMoForCausalLM, OLMoTokenizerFast
olmo = OLMoForCausalLM.from_pretrained("allenai/OLMo-7B-Instruct")
tokenizer = OLMoTokenizerFast.from_pretrained("allenai/OLMo-7B-Instruct")
chat = [
{ "role": "user", "content": "什么是语言建模?" },
]
prompt = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
inputs = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt")
response = olmo.generate(input_ids=inputs.to(olmo.device), max_new_tokens=100, do_sample=True, top_k=50, top_p=0.95)
print(tokenizer.batch_decode(response, skip_special_tokens=True)[0])
可通过量化加速(需bitsandbytes
):
OLMoForCausalLM.from_pretrained("allenai/OLMo-7B-Instruct", torch_dtype=torch.float16, load_in_8bit=True)
若未正确安装ai2-olmo
可能出现导入错误,未来版本将优化错误提示。
评估
核心指标对比:
模型 |
MMLU 0-shot↑ |
AlpacaEval胜率↑ |
ToxiGen毒性%↓ |
TruthfulQA准确%↑ |
OLMo基础版 |
28.3 |
- |
81.4 |
31.6 |
OLMo 7B SFT |
47.3 |
57.0 |
14.4 |
41.2 |
OLMo 7B Instruct |
46.2 |
69.3 |
1.7 |
52.0 |
*注:Tulu 2因测试集污染未报告TruthfulQA分数(依Ivison等2023年建议)
训练细节
数据
参见Dolma、Tulu 2和UltraFeedback文档。
超参数
阶段 |
学习率 |
Beta |
轮次 |
预热策略 |
权重衰减 |
梯度裁剪 |
最大序列长 |
SFT |
2×10^-6 |
N/A |
3 |
前3%训练时间线性预热,后冷却至0 |
0 |
0 |
2048 |
DPO |
5×10^-7 |
0.1 |
3 |
前10%训练时间线性预热,后冷却至0 |
0 |
0 |
2048 |
相比Tulu 2,DPO参数相同,SFT学习率更低、轮次增加至3(上下文长度2k替代8k)。
偏差、风险与限制
本模型为研究用途,旨在帮助社区理解LLM安全属性和开发安全工具。
未内置安全过滤器或安全训练数据,可能生成有害内容。建议开发者:
- 谨慎评估应用风险
- 针对偏见/隐私等潜在危害实施防护措施
- 验证事实性输出可靠性
引用
BibTeX:
@article{Groeneveld2023OLMo,
title={OLMo: Accelerating the Science of Language Models},
author={Groeneveld, Dirk and Beltagy, Iz and ... (详见原文)},
journal={Preprint},
year={2024}
}
APA:
Groeneveld, D., et al. (2024). OLMo: Accelerating the Science of Language Models. Preprint.
联系
模型卡问题请联系Nathan或Jacob:{nathanl, jacobm} at allenai dot org