Skip to content

ikun-llm/ikun-pretrain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

ikun-pretrain

从零开始的练习生
Level 1 | 基础篇


大家好,我是参数量两千五百万的个人练习生,从零开始练习语言建模。

你将学到

  • 什么是语言模型预训练(Next Token Prediction)
  • 数据格式 (jsonl)、清洗、去重
  • Cosine Learning Rate Schedule 的原理
  • 混合精度训练 (AMP) + 梯度累积
  • 预训练 vs SFT 的本质区别
  • 从零训练一个能"说话"的模型

核心代码

基于 MiniMindtrainer/train_pretrain.py

cd trainer && python train_pretrain.py \
    --epochs 2 --batch_size 32 --learning_rate 5e-4 \
    --hidden_size 512 --data_path ../dataset/pretrain_hq.jsonl

关键概念

概念 说明
CLM Causal Language Modeling,预测下一个 token
Loss Cross Entropy,衡量预测和真实 token 的差距
Cosine LR 学习率从高到低余弦衰减,训练更稳定
Gradient Accumulation 小 batch 模拟大 batch,省显存
AMP 混合精度,float16 加速训练

预训练 vs SFT

预训练: "给它一堆书让它自学" → 学会语言
SFT:   "给它对话样本让它学" → 学会聊天

预训练的数据: {"text": "中国是世界上人口最多的国家..."}
SFT的数据:   {"conversations": [{"role":"user",...}, {"role":"assistant",...}]}

系列导航

Level Repo 学什么
1 ikun-tokenizer 分词器原理
1 ikun-pretrain <-- 你在这里 从零预训练
1 ikun-2.5B SFT + LoRA 微调
2 ikun-DPO 偏好对齐
2 ikun-GRPO 强化学习
2 ikun-Reason 推理模型
3 ikun-MoE 混合专家
3 ikun-Distill 知识蒸馏
3 ikun-V 多模态
4 ikun-deploy 部署

About

从零预训练语言模型 | Pretrain LLM from scratch 📚

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors