Downloads · 30 days
23
2% of all-time downloads
zhubolin/olmo2-0.837b-zh-en-dpo
olmo2-0.837b-zh-en-dpo is a text generation model from zhubolin. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
从零训练的 0.837B 中英双语对话模型(DPO 对齐版)。纯个人学习项目,完整走完 「语料 → Tokenization → 预训练 → SFT → DPO → 评测」全流程。
Downloads · 30 days
23
2% of all-time downloads
All-time downloads
1.2K
Public
Parameters
837M
5 GB on disk
Likes
1
Public
Click a slice to open those files.
.gguf3.3 GB · 66%
From the Hugging Face model README
从零训练的 0.837B 中英双语对话模型(DPO 对齐版)。纯个人学习项目,完整走完 「语料 → Tokenization → 预训练 → SFT → DPO → 评测」全流程。
| 项目 | 值 |
|---|---|
| 架构 | OLMo2(reordered norm、QK-norm、tied embedding),16 层 / d_model 1536 / 16 头 / SwiGLU 6144 |
| 参数量 | 837,037,056(0.837B) |
| 上下文 | 4096 |
| Tokenizer | Qwen2.5(词表 151665),chat 模板为 Qwen 风格 |
| 预训练 | 132.1B tokens 单遍(中英约 3:7,悟道 2.0 + Dolma 1.7 子集),62,999 步,8×A100 |
| SFT | 509,515 条 / 129.7M tokens(中文 30.0%),3 epoch,4×A100 |
| DPO | 17,291 偏好对(中文 29.9%),LoRA(rank 16 / alpha 32)1 epoch 后 merge,beta 0.1,lr 5e-6 |
本仓库为 DPO 最终产物;SFT 版本见 zhubolin/olmo2-0.837b-zh-en-sft。
from transformers import AutoModelForCausalLM, AutoTokenizer
path = "zhubolin/olmo2-0.837b-zh-en-dpo"
tok = AutoTokenizer.from_pretrained(path)
model = AutoModelForCausalLM.from_pretrained(path, dtype="bfloat16", device_map="auto")
messages = [{"role": "user", "content": "保持健康的三个提示。"}]
text = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tok(text, return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=512, do_sample=False)
print(tok.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
生成停止符:eos_token_id = [151645, 151643](<|im_end|> / <|endoftext|>),
Qwen 模板生成会在 <|im_end|> 处正常停止。
OpenCompass(core 数据包子集,约 9.5K 题,SFT/DPO 同题对比):
