Files
olmo3-190m-zh-v2-base/README.md
ModelHub XC 10accdcff7 初始化项目,由ModelHub XC社区提供模型
Model: Nwna/olmo3-190m-zh-v2-base
Source: Original Platform
2026-07-03 20:07:33 +08:00

186 lines
5.2 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
- base-model
- llm001
library_name: transformers
pipeline_tag: text-generation
datasets:
- Nwna/olmo3-190m-zh-v2-base-data
---
# OLMo3-190M-zh-v2-base
**中文 from-scratch pretrain 教学模型**。本模型使用自训 48k 中文 BPE tokenizer 和约 **3.3907B tokens** 中文语料,从零训练 OLMo3-190M 架构 1 epoch。
> 这是《零基础 AI 大模型研发训练营》第 04 讲作业模型。它是 base model不是 instruction/chat model适合用于中文续写、继续预训练和后续 SFT。
## 来源与动机
本模型的目标是完整走通小型中文 LLM 的基础预训练链路:
```text
原始中文语料
-> 自训 48k 中文 BPE tokenizer
-> 构建 3.3907B tokenized base 数据
-> 从零训练 OLMo3-190M base model 1 epoch
-> 生成评估
-> 推送 HuggingFace
```
这条 v2 链路没有直接复用老师旧版 tokenized 数据,而是重新训练 tokenizer、重新构建 tokenized 数据,并同步模型 config 的 `vocab_size` 与特殊 token id。
## 架构
基于 OLMo3-190M causal LM 架构:
| 字段 | 值 |
|---|---:|
| `architectures` | `["Olmo3ForCausalLM"]` |
| `hidden_size` | 768 |
| `num_hidden_layers` | 12 |
| `num_attention_heads` | 12 |
| `intermediate_size` | 3072 |
| `vocab_size` | 48,000 |
| `max_position_embeddings` | 4096 |
| training seq_len | 2048 |
| total params | ~187M |
## 使用
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("Nwna/olmo3-190m-zh-v2-base")
model = AutoModelForCausalLM.from_pretrained("Nwna/olmo3-190m-zh-v2-base")
inputs = tok("人工智能是", return_tensors="pt")
outputs = model.generate(
**inputs,
max_new_tokens=120,
do_sample=True,
temperature=0.8,
top_p=0.9,
)
print(tok.decode(outputs[0], skip_special_tokens=True))
```
### 用于继续预训练 / SFT
这是 base model没有对话能力。推荐用途是
```python
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("Nwna/olmo3-190m-zh-v2-base")
# 继续做 continue pretrain 或作为 SFT 底座
```
## 训练配方
### Tokenizer 与数据
| 项目 | 值 |
|---|---:|
| tokenizer | `Nwna/olmo3-190m-zh-v2-tokenizer` |
| tokenizer 类型 | 中文 Byte-level BPE |
| vocab size | 48,000 |
| tokenized data | `Nwna/olmo3-190m-zh-v2-base-data` |
| actual tokens | 3,390,687,394 |
| dtype | uint16 |
数据主要来自:
| 数据源 | 作用 |
|---|---|
| Ultra-FineWeb-zh | 提供通用中文网页文本,覆盖面广 |
| Fineweb-Edu-Chinese-V2.2 | 提供教育类文本,提高知识密度 |
### 超参
| 项目 | 值 |
|---|---:|
| GPU | H100 |
| precision | bf16 |
| attention | SDPA |
| epochs | 1.0 |
| global steps | 12,288 |
| per-device batch | 16 |
| grad accumulation | 8 |
| effective batch | 128 sequences |
| tokens / step | 262,144 |
| peak lr | 5e-4 |
| min lr | 5e-5 |
| scheduler | warmup + cosine |
| optimizer | AdamW |
| weight decay | 0.1embedding / norm / bias excluded |
## Loss 轨迹
| step | eval_loss | eval_ppl |
|---:|---:|---:|
| 4,000 | 4.1429 | 63.0 |
| 8,000 | 3.9029 | 49.5 |
| 12,000 | 3.8042 | 44.9 |
最后 100 条训练日志的 train loss 平均约 **3.797**。训练结束在 step 12,288最后一次 eval 发生在 step 12,000。
## 7-prompt 抽测表现
使用 `src/eval.py` 的采样生成设置:
```text
max_new_tokens=120
do_sample=True
temperature=0.8
top_p=0.9
repetition_penalty=1.1
```
| Prompt | 表现 | 观察 |
|---|---|---|
| 人工智能是 | 🟡 | 能生成中文科普段落,但重复与套话明显 |
| 山里有座庙 | 🟡 | 可续写,容易转成虚构的文物/寺庙说明 |
| 今天天气不错,我准备 | 🟡 | 能续写日常文本,但上下文关系混乱 |
| 北京大学位于 | 🔴 | 地理事实不稳定,可能答到错误地点 |
| 四大发明是 | 🔴 | 不能稳定列出正确四大发明 |
| 《红楼梦》人物 | 🔴 | 容易生成标题式重复或人物混杂 |
| Python 是一种 | 🟡 | 知道与编程相关,但定义不稳定 |
## 限制
1. **不是 chat / instruction model**:没有经过 SFT 或 RLHF不具备稳定对话能力。
2. **事实可靠性有限**190M 小模型在单轮 1 epoch 训练后仍会产生事实混淆。
3. **采样输出会波动**`do_sample=True` 时,同一 prompt 多次生成可能不同。
4. **上下文控制较弱**:开放式 prompt 可能漂移到网页、列表、故事或百科腔。
## License
- **模型权重**Apache-2.0
- **训练数据**:混合来源。请根据各原始数据源许可确认下游使用边界。
## 配套资源
- Tokenizer: <https://huggingface.co/Nwna/olmo3-190m-zh-v2-tokenizer>
- Tokenized data: <https://huggingface.co/datasets/Nwna/olmo3-190m-zh-v2-base-data>
- Space demo: <https://huggingface.co/spaces/Nwna/olmo3-190m-zh-v2-base>
- Continue model: <https://huggingface.co/Nwna/olmo3-190m-zh-v2-continue>
## Citation
```bibtex
@misc{nwna-olmo3-190m-zh-v2-base,
title={OLMo3-190M-zh-v2-base: Chinese From-Scratch Pretrained Teaching Model},
author={Nwna},
year={2026},
howpublished={\url{https://huggingface.co/Nwna/olmo3-190m-zh-v2-base}},
note={LLM001 Course, Lecture 04 homework}
}
```