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