Files
OLMo3-190M-zh-v3.1/README.md
ModelHub XC 823c2bafbe 初始化项目,由ModelHub XC社区提供模型
Model: cmz1024/OLMo3-190M-zh-v3.1
Source: Original Platform
2026-06-05 15:38:33 +08:00

158 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
license: apache-2.0
language:
- zh
tags:
- pretrained
- olmo3
- chinese
- continue-pretrain
- mid-training
library_name: transformers
pipeline_tag: text-generation
base_model: allenai/Olmo-3-1025-7B
datasets:
- openbmb/Ultra-FineWeb
- opencsg/chinese-cosmopedia
- wikimedia/wikipedia
---
# OLMo3-190M-zh-v3.1
**中文 continue-pretrain 教学模型**,基于 OLMo3-190M 架构,在 v3 (from-scratch pretrain) 之上注入 **事实密度高的中文语料**Wikipedia-zh + Cosmopedia-Chinese
> **活水 42ailab 出品**。配套于《零基础 AI 大模型研发训练营》第 04 讲:预训练。
## 来源与动机
v3.1 的目标是**验证 continue pretrain 这个工业级技术**:在已有 base model 上继续训练 1-2B tokens以低成本**~$14 / 3h H100**)改善特定能力。
**对比 v3原 base→ v3.1 的 7-prompt 抽测**
| Prompt | v3 | v3.1 | 变化 |
|---|---|---|---|
| 人工智能是 | 🟢 | 🟢 | 持平 |
| 北京大学位于 | 🔴 "江苏省" | 🟢 **"北京市"** | ✅ 关键质变 |
| Python 是一种 | 🔴 "开源库" | 🟡 "开源的可扩展代码" + 能写代码 | ✅ 改善 |
| 中国古代四大发明是 | 🔴 | 🔴 | 持平190M 物理天花板)|
| 其他 3 个 | 🟡×3 | 🟡×3 + 1 退步 | — |
| **合计** | **1🟢 3🟡 3🔴** | **2🟢 3🟡 2🔴** | **+1 绿** |
关键 takeaways
-**事实密度策略有效**wiki + Cosmopedia 让"北京大学"跨过了 190M 模型的记忆阈值。
- ⚠️ **190M 参数有记忆天花板**"四大发明"即便在语料中存在,曝光次数不够就学不会。
- ⚠️ **未清洗的 Wiki 会引入格式污染**:红楼梦 prompt 出现"林黛玉、林黛玉、林黛玉的妹妹"重复——已作为 v4 必修项。
## 架构
基于 **OLMo3-190M canonical** 架构(和 allenai/Olmo-3 同宗,但从零训练 + continue pretrain
| 字段 | 值 |
|---|---|
| `architectures` | `["Olmo3ForCausalLM"]` |
| `hidden_size` | 768 |
| `num_hidden_layers` | 12 |
| `num_attention_heads` | 12 |
| `intermediate_size` | 3072 |
| `sliding_window` | 4096 (每 4 层 full attention) |
| `vocab_size` | 48000 (自训 48k 中文 BPE) |
| `max_position_embeddings` | 4096 |
| `total params` | ~187M |
## 使用
### 最简用法(路径 A
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("42ailab/OLMo3-190M-zh-v3.1")
model = AutoModelForCausalLM.from_pretrained("42ailab/OLMo3-190M-zh-v3.1")
inputs = tok("北京大学位于", return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=50, temperature=0.8, top_p=0.9)
print(tok.decode(outputs[0], skip_special_tokens=True))
```
### 用于 SFT推荐用法L05 课程路径)
v3.1 是 **base model**,没有对话能力。上 SFT 就是:
```python
from transformers import AutoModelForCausalLM
# 作为 SFT 基座
model = AutoModelForCausalLM.from_pretrained("42ailab/OLMo3-190M-zh-v3.1")
# ... 用 TRL SFTTrainer 训练
```
### 国内加速
```bash
export HF_ENDPOINT=https://hf-mirror.com
# 或用 ModelScopehttps://modelscope.cn/models/42ailab/OLMo3-190M-zh-v3.1
```
## 训练配方
### 数据混合1.19B tokens effective
| 数据源 | HF 路径 | tokens | % |
|---|---|---|---|
| v3 replay | 自 merged_raw 抽样 30% | 300M | 27% |
| Wikipedia-zh | `wikimedia/wikipedia` config `20231101.zh` | 394M | 35% |
| Cosmopedia-Chinese | `opencsg/chinese-cosmopedia` | 500M | 45% |
(原计划加入 `bigcode/the-stack-v2` 代码和 `liwu/MNBVC` 事实补刀,但两者在 HF datasets 3.0+ 中因 script-based loading 失效。v4 会用 Parquet-native 替代。)
### 超参
- Base: v3 final checkpoint
- Peak lr: **2e-4**v3 peak 5e-4 的 2/5
- Warmup: **500 steps** 显式(从 ~0 线性爬升)
- Scheduler: cosine decay to 2e-5
- Batch: 16 × 2048 × grad_accum 8 = **262K tokens/step**
- Max steps: 5700
- Duration: **3h 00min** on H100
- Attention: **SDPA**OLMo3 SWA + flash-attn-2 有 `s_aux` None bugcontinue pretrain 场景必须 SDPA
### Loss 轨迹
| step | train loss |
|---|---|
| 0 | 3.33 |
| 500 (warmup done) | 2.97 |
| 1500 | 2.87 |
| 3000 | 2.81 |
| 4500 | 2.80 |
| 5700 (final) | **2.85 mean** |
对比 v3 final mean loss **3.95** → v3.1 **-28%**。
## 限制
1. **事实记忆上限**190M 参数约能稳定记住 ~1000-2000 个事实。"四大发明"等低曝光事实仍会错。
2. **无 code 数据**Stage-2 计划中的代码数据源因 HF gated / script-based 问题未加入。"Python 是编程语言"仍偶有漂移。
3. **未做 SFT**v3.1 是纯 base model不会对话。对话任务需额外做 SFT。
4. **eval 数字偏乐观**:训练时 eval/loss = 2.00 是在 in-domain 数据上算的wiki + Cosmopedia 尾部),不能直接对比 v3 的 3.61 held-out eval。
## License
- **模型权重**Apache-2.0(允许商用)
- **训练数据**:混合 license
- FineWeb-Edu-Chinese V2.2、Ultra-FineWeb、Cosmopedia-ChineseApache-2.0
- **Wikipedia-zh****CC-BY-SA-3.0 + GFDL**share-alike 传染性,商用前请咨询法律)
按 Allen AI OLMo 社区实践:权重本身声明 Apache-2.0,但披露训练数据含 CC-BY-SA 内容。
## Citation
```bibtex
@misc{huoshui-olmo3-190m-zh-v3.1,
title={OLMo3-190M-zh-v3.1: Chinese Continue-Pretrained Teaching Model},
author={活水 AI 实验室 (42ailab) and 阳志平},
year={2026},
howpublished={\url{https://huggingface.co/42ailab/OLMo3-190M-zh-v3.1}},
note={LLM001 Course, Lecture 04}
}
```
## 配套资源
- **数据集**[`42ailab/llm101-v3.1-data`](https://huggingface.co/datasets/42ailab/llm101-v3.1-data) — tokenizer + tokenized.bin + nano 子集 + 7-prompt 评测对照
- **课程仓库**https://cnb.cool/42edu/LLM001/llm001
- **讲师笔记**`demo/ch04/OLMo3-190M-zh-v3.1/teaching_notes.md`