🤗GitHub上的"rasbt/LLMs-from-scratch"项目是一个关于如何从头开始实现类似ChatGPT的大语言模型(LLM)的教程。这个项目包含了编码、预训练和微调GPT-like LLM的代码,并且是《Build a Large Language Model (From Scratch)》这本书的官方代码库。书中详细介绍了LLM的内部工作原理,并逐步指导读者创建自己的LLM,包括每个阶段的清晰文本、图表和示例。这种方法用于训练和开发自己的小型但功能性的模型,用于教育目的,与创建大型基础模型(如ChatGPT背后的模型)的方法相似,翻译后的版本可以服务于国内的开发者。🎉
章节标题 | 主要代码(快速访问) | 所有代码 + 补充 |
---|---|---|
第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章: 使用未标记数据进行预训练 | 2024年第1季度 | ... |
第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 |
(* 如果您需要关于安装Python和Python包的更多指导,请参阅附录1和附录2文件夹。)
(这是一个总结了本书内容的思维导图。)
-
项目受众
- 技术背景:该项目适合有一定编程基础的人员,特别是对大型语言模型(LLM)感兴趣的开发者和研究者。
- 学习目标:适合那些希望深入了解LLM工作原理,并愿意投入时间从零开始构建和训练自己的LLM的学习者。
- 应用领域:适用于对自然语言处理、人工智能领域感兴趣的开发者,以及希望在教育或研究环境中应用LLM的人员。
-
项目亮点
- 系统化学习:该项目提供了一个系统化的学习路径,从理论基础到实际编码,帮助学习者全面理解LLM。
- 实践导向:与仅仅介绍理论或API使用不同,该项目强调实践,让学习者通过实际操作来掌握LLM的开发和训练。
- 深入浅出:该项目以清晰的语言、图表和示例来解释复杂的概念,使得非专业背景的学习者也能较好地理解。
注:说明当前项目的规划,并将每个任务通过 Issue 形式进行对外进行发布。
- 如果你想参与到项目中来欢迎查看项目的 Issue 查看没有被分配的任务。
- 如果你发现了一些问题,欢迎在 Issue 中进行反馈🐛。
- 如果你对本项目感兴趣想要参与进来可以通过 Discussion 进行交流💬。
如果你对 Datawhale 很感兴趣并想要发起一个新的项目,欢迎查看 Datawhale 贡献指南。
姓名 | 职责 | 简介 | GitHub |
---|---|---|---|
陈可为 | 项目负责人 | 华中科技大学 | @Ethan-Chen-plus |
王训志 | 第2章贡献者 | 南开大学 | @aJupyter |
汪健麟 | 第2章贡献者 | ||
张友东 | 第3章贡献者 | ||
邹雨衡 | 第3章贡献者 | ||
陈嘉诺 | 第4章贡献者 | ||
高立业 | 第4章贡献者 | ||
周景林 | 附录贡献者 | ||
陈可为 | 附录贡献者 |
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
注:默认使用CC 4.0协议,也可根据自身项目情况选用其他协议