Code Your Own LLM 是一个基于 nanochat 的深度扩展项目,旨在提供一份从原理到实践、从算法到工程的全栈式大语言模型参考指南。我们将提供最简洁的代码实现,没有复杂封装、层层继承和不必要的抽象,用极致的扁平化结构,零层级嵌套和极简的项目依赖来实现大语言模型从零训练到工程落地的整套流程。此外,项目补充了深入的算法原理讲解、详细的复现教程、前沿的优化技术分析,以及丰富的可视化交互。
我们希望从原理解读、工程实现、实践指导、优化分析、可视化展示五个维度,系统且详尽地诠释大语言模型算法及工程中从理论设计到代码实现的每一个细节。帮助学习者踏入大语言模型的美妙世界。通过本项目的学习,你将有能力定义独属于自己的大语言模型,能够理解每一行代码背后的数学原理与工程考量,能够根据实际需求调整模型架构与训练策略。
| 章节 | 摘要(关键词) | 状态 | 
|---|---|---|
| 第1章 引言 | 项目概述和使用建议 | ✅ | 
| 第2章 环境配置 | 项目的实践环境配置详细指南 | ✅ | 
| 第3章 数据 | 数据采集、清洗、去重、预处理 | ✅ | 
| 第4章 分词 | 分词算法、词表构建、分词器训练 | 🚧 | 
| 第5章 模型架构 | 🚧 | |
| 第6章 预训练 | 🚧 | |
| 第7章 中期训练 | 🚧 | |
| 第8章 有监督微调 | 🚧 | |
| 第9章 强化学习 | 🚧 | |
| 第10章 模型推理 | 🚧 | |
| 第11章 模型评估 | 常用评估指标、评测方法以及性能分析 | 🚧 | 
| 第12章 模型安全与红队测试 | 模型安全对齐、红队测试、有害内容过滤 | 🚧 | 
| 附录 | 项目附录部分 | 🚧 | 
感谢以下项目的贡献者,排名不分先后
本项目受益于 感谢以上开源项目的出色工作
项目采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
