📘 项目介绍: "rasbt/LLMs-from-scratch"是一个GitHub项目,提供了一个如何从头开始实现类似ChatGPT的大语言模型(LLM)的详细教程。
👨💻 代码实现: 该项目包含了创建GPT-like大语言模型的全部代码,涵盖了编码、预训练和微调过程。
📚 官方教程书籍: 这是《Build a Large Language Model (From Scratch)》书籍的官方代码库。书中深入解析了LLM的内部工作原理,并提供了逐步的指导。
📖 逐步学习: 教程通过清晰的文本、图表和示例,分步骤教授如何创建自己的LLM。
💡 教育目的: 该方法主要用于教育,帮助学习者训练和开发小型但功能性的模型,这与创建像ChatGPT这样的大型基础模型的方法相似。
🔧 简洁易懂的代码: 利用简洁且可运行的notebook代码,即使只有PyTorch基础,也能完成大模型的构建。
🤔 深入理解模型原理: 通过本教程,读者可以深入理解大型语言模型的工作原理。
🌏 适合国内开发者: 翻译后的版本可以服务于中国国内的开发者,使其受益。
章节标题 | 主要代码(快速访问) | 所有代码 + 补充 |
---|---|---|
第1章: 理解大型语言模型 | 没有代码 | 没有代码 |
第2章: 处理文本数据 | - ch02.ipynb - dataloader.ipynb (摘要) - exercise-solutions.ipynb |
./ch02 |
第3章: 编写注意力机制 | - ch03.ipynb - multihead-attention.ipynb (摘要) - exercise-solutions.ipynb |
./ch03 |
第4章: 从零开始实现GPT模型 | - ch04.ipynb - gpt.py (摘要) - exercise-solutions.ipynb |
./ch04 |
第5章: 使用未标记数据进行预训练 | - ch05.ipynb - train.py (摘要) - generate.py (摘要) - exercise-solutions.ipynb |
./ch05 |
第6章: 用于文本分类的微调 | 2024年第2季度 | ... |
第7章: 使用人类反馈进行微调 | 2024年第2季度 | ... |
第8章: 在实践中使用大型语言模型 | 2024年第2/3季度 | ... |
附录A: PyTorch简介* | - code-part1.ipynb - code-part2.ipynb - DDP-script.py - exercise-solutions.ipynb |
./appendix-A |
Appendix B: 参考文献和进一步的阅读材料 | 没有代码 | - |
Appendix C: 练习 | 没有代码 | - |
Appendix D: 为训练过程添加额外的功能和特性 | - appendix-D.ipynb | ./appendix-D |
(* 如果您需要关于安装Python和Python包的更多指导,请参阅附录1和附录2文件夹。)
(这是一个总结了本书内容的思维导图。)
-
项目受众
- 技术背景:该项目适合有一定编程基础的人员,特别是对大型语言模型(LLM)感兴趣的开发者和研究者。
- 学习目标:适合那些希望深入了解LLM工作原理,并愿意投入时间从零开始构建和训练自己的LLM的学习者。
- 应用领域:适用于对自然语言处理、人工智能领域感兴趣的开发者,以及希望在教育或研究环境中应用LLM的人员。
-
项目亮点
- 系统化学习:该项目提供了一个系统化的学习路径,从理论基础到实际编码,帮助学习者全面理解LLM。
- 实践导向:与仅仅介绍理论或API使用不同,该项目强调实践,让学习者通过实际操作来掌握LLM的开发和训练。
- 深入浅出:该项目以清晰的语言、图表和示例来解释复杂的概念,使得非专业背景的学习者也能较好地理解。
注:说明当前项目的规划,并将每个任务通过 Issue 形式进行对外进行发布。
- 如果你想参与到项目中来欢迎查看项目的 Issue 查看没有被分配的任务。
- 如果你发现了一些问题,欢迎在 Issue 中进行反馈🐛。
- 如果你对本项目感兴趣想要参与进来可以通过 Discussion 进行交流💬。
如果你对 Datawhale 很感兴趣并想要发起一个新的项目,欢迎查看 Datawhale 贡献指南。
姓名 | 职责 | 简介 | GitHub |
---|---|---|---|
陈可为 | 项目负责人 | 华中科技大学 | @Ethan-Chen-plus |
王训志 | 第2章贡献者 | 南开大学 | @aJupyter |
汪健麟 | 第2章贡献者 | ||
Aria | 第2章贡献者 | @ariafyy | |
汪健麟 | 第2章贡献者 | ||
张友东 | 第3章贡献者 | ||
邹雨衡 | 第3章贡献者 | ||
陈嘉诺 | 第4章贡献者 | 广州大学 | @Tangent-90C |
高立业 | 第4章贡献者 | ||
蒋文力 | 第4章贡献者 | @morcake | |
丁悦 | 第5章贡献者 | 哈尔滨工业大学(威海) | @dingyue772 |
周景林 | 附录贡献者 | @Beyondzjl | |
陈可为 | 附录贡献者 | @Ethan-Chen-plus |
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
注:默认使用CC 4.0协议,也可根据自身项目情况选用其他协议