MiniMind — 亲手从头到尾训练一个小型语言模型
MiniMind(github.com/jingyaogong/minimind)의 모델 코드와 학습 방식을 그대로 쓰되, 설정을 줄인 약 100만 파라미터 모델을 CPU 두 개짜리 실습 파드에서 처음부터 학습합니다. 토크나이저 학습, 패킹, 모델 구성(RMSNorm·RoPE·GQA·SwiGLU), 사전학습과 손실 곡선, 체크포인트와 재개, SFT 와 손실 마스킹, LoRA, DPO, KV 캐시와 샘플링, 평가와 한계까지 모든 단계를 숫자로 확인합니다. 학습 한 번은 수십 초이고, 채점기는 여러분의 체크포인트를 직접 불러 다시 계산합니다. 파이썬과 PyTorch 기초, 트랜스포머의 구조를 아는 분을 위한 과정입니다.
고급 · 레슨 30 · 实验 10
커리큘럼
分词器
- 借来的分词器把韩文切成字节 reading
- 用 MiniMind 分词器测量韩语,并亲手训练小词表 lab
- 测验:分词器 quiz
数据准备 — 填充与打包
- 填充浪费计算,打包模糊文档边界 reading
- 测量填充浪费的计算并打包语料 lab
- 测验:填充与打包 quiz
模型结构
- MiniMind 的一层由六个决定构成 reading
- 缩小 MiniMind 配置构建模型,用数字验证每层的设计 lab
- 测验:MiniMind 的结构 quiz
预训练与损失曲线
- 损失曲线揭示模型先学会什么 reading
- 用 MiniMind 的训练循环预训练 300 步并读懂损失曲线 lab
- 测验:预训练与损失曲线 quiz
检查点与续训
- 续训文件里除了权重还有三样东西 reading
- 中断续训也与一次跑完相同 — 续训文件里放什么 lab
- 测验:检查点与续训 quiz
SFT 与损失掩码
- SFT 只教回答 — 损失掩码划出这条界线 reading
- 以聊天格式做 SFT,测量损失掩码改变了什么 lab
- 测验:SFT 与损失掩码 quiz
LoRA
- LoRA 不动权重,只加一条旁路 reading
- 用 MiniMind 的 LoRA 只改风格,并确认基座权重未变 lab
- 测验:LoRA quiz
DPO — 偏好学习
- DPO 无需奖励模型就能教会“这个更好” reading
- 用 DPO 改变风格,并检查内容是否保持 lab
- 测验:DPO quiz
推理 — KV 缓存与采样
- KV 缓存就是记住无需重算的东西 reading
- 用 MiniMind 的 generate 测量 KV 缓存与采样 lab
- 测验:KV 缓存与采样 quiz
评估与局限
- 小模型里,记住与学会的界线格外清晰 reading
- 用数字区分小模型能做与不能做的事 lab
- 测验:评估与局限 quiz