OLMo3-190M-zh

这是我完成的一个 187M 参数中文 Causal Language Model 预训练项目。模型基于 OLMo3 风格 Transformer 架构,从随机初始化权重开始训练,完成了从数据准备、云端 H100 训练、训练监控、生成评测,到 Hugging Face 模型发布与 Gradio Space 部署的端到端流程。

项目亮点

  • 从随机初始化权重开始预训练中文语言模型,不加载已有预训练 checkpoint。
  • 使用 packed token binary 格式训练数据,基于 numpy.memmap 高效读取大规模 token 序列。
  • 在 Modal H100 上完成 1 个 epoch 训练,共 13,040 step。
  • 使用 W&B 监控 loss、learning rate、grad norm 等核心指标。
  • 将模型、训练数据、在线 Demo 和训练曲线整理为可复现产物。

模型信息

项目 数值
模型类型 Causal LM
架构 OLMo3-style Transformer
参数量 187M
词表大小 48,000
上下文长度 2,048 tokens
注意力结构 Sliding Window Attention + Full Attention
位置编码 RoPE
训练精度 bf16

训练数据

训练数据仓库:

数据摘要:

项目 数值
文件 tokenized.bin
格式 packed token binary
dtype uint16
文件大小 6.37 GiB
估算 token 数 3,420,228,494
估算序列数 1,670,033
单条序列长度 2,048 tokens

训练时,每条样本由连续的 2048 个 token 组成,输入和标签相同,用于自回归语言模型训练。

训练配置

参数 数值
训练硬件 Modal H100
训练轮数 1 epoch
训练步数 13,040 steps
per-device batch size 16
gradient accumulation steps 8
learning rate 5.0e-4
warmup ratio 0.02
lr scheduler cosine
weight decay 0.1
max grad norm 1.0
precision bf16

训练结果

指标 数值
final train loss 3.965
final eval loss 3.82

训练曲线:

整体来看,训练过程中 loss 持续下降,learning rate 按 warmup + cosine 策略变化,grad norm 保持在合理区间,没有出现明显梯度爆炸或训练发散。

在线 Demo

生成示例

Prompt

人工智能是

Output

人工智能是未来产业发展的关键。
“在人工智能时代,我们看到了巨大的机会,同时也看到了人工智能的发展潜力。”陈军说。
他建议,未来,人工智能将会在各行各业发挥巨大作用。比如,人工智能将成为未来的教育、医疗、金融、物流等各领域重要应用。

使用方法

from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained(
    "xiaohuzhang/olmo3-190m-zh",
    attn_implementation="sdpa",
)
tok = AutoTokenizer.from_pretrained("xiaohuzhang/olmo3-190m-zh")

input_ids = tok("人工智能是", return_tensors="pt").input_ids
output = model.generate(
    input_ids,
    max_new_tokens=100,
    do_sample=True,
    temperature=0.8,
    top_p=0.9,
)
print(tok.decode(output[0], skip_special_tokens=True))

项目产物

局限性

该模型是一个小规模中文预训练实验模型,尚未经过指令微调、RLHF 或安全对齐,不适合作为生产级助手直接使用。模型可能生成不准确、重复或不稳定的内容。本项目主要用于展示从随机初始化开始训练中文语言模型的工程流程。

Downloads last month
16
Safetensors
Model size
0.2B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train xiaohuzhang/olmo3-190m-zh

Space using xiaohuzhang/olmo3-190m-zh 1