|
|
||
|---|---|---|
| .. | ||
| core | ||
| tests | ||
| README.md | ||
| __init__.py | ||
| train_dpo_impl.py | ||
| train_grpo_impl.py | ||
| train_lora_impl.py | ||
| train_pretrain_impl.py | ||
| train_sft_impl.py | ||
README.md
Course Implementation
这个目录用于手写一个教学版 MiniMind 核心实现。
目标不是复制原项目的所有工程能力,而是通过课程逐步实现核心链路:
model parts
-> causal LM forward/loss
-> generation with KV cache
-> pretrain dataset and train loop
-> SFT labels and training
-> LoRA
-> DPO
-> PPO/GRPO minimal loop
边界
自己实现:
- RMSNorm / Attention / RoPE / KV cache / FFN / CausalLM
- causal LM loss / SFT labels mask / DPO loss / PPO/GRPO 核心 loss
- pretrain / SFT / DPO 的关键数据处理
- 最小训练循环、保存和加载教学版权重
直接复用原项目:
- tokenizer 文件
- 原始数据文件
- 分布式训练
- wandb/swanlab
- 完整断点续训
- rollout server
- WebUI/API
- 模型转换
使用方式
每节课会指定一个或多个 TODO。先读课程原理和 MiniMind 源码,再补本目录中的实现。补完后运行对应对齐测试。
不要提前把后续模块全部写完。这里的代码应该跟课程进度一起增长。