AI 见闻

rasbt/LLMs-from-scratch:在PyTorch中从头开始逐步实现类似ChatGPT的LLM

GitHub Trending (AI repos)··rasbt·约 7 分钟阅读
Hacker News 96923

该存储库包含用于开发、预训练和微调类似GPT的LLM的代码,并且是《构建大型语言模型(从头开始)》一书的官方代码存储库。在构建大型语言模型(从头开始)中,您将通过从头开始、一步一步地编码大型语言模型(LLM)如何从内到外学习和理解大型语言模型(LLM)的工作原理。

在这本书中,我将指导您创建自己的LLM,用清晰的文本、图表和示例解释每个阶段。本书中描述的用于出于教育目的训练和开发自己的小但实用模型的方法反映了创建大规模基础模型(例如ChatGPT背后的模型)所使用的方法。

此外,本书还包括加载更大的预训练模型的权重以进行微调的代码。- 链接到官方源代码库- 曼宁(出版商网站)的书链接- 链接到亚马逊上的图书页面。

网- ISBN 9781633437166要下载此存储库的副本,请单击Download ZIP按钮或在终端中执行以下命令:git clone --depth 1 https://github. com/rasbt/LLMs-从头开始。

git(If您从Manning网站下载了代码包,请考虑访问GitHub上的官方代码存储库https://github。com/rasbt/LLMs-从头开始了解最新更新。)请注意,此REAUTE。

MD文件是Markdown(。MD)文件。

如果您已从Manning网站下载此代码包并正在本地计算机上查看,我建议使用Markdown编辑器或预览器来正确查看。如果您尚未安装Markdown编辑器,Ghostwriter是一个很好的免费选项。

您也可以在GitHub上查看此文件和其他文件,网址为https://github。com/rasbt/LLMs-从头开始在您的浏览器中进行,它会自动呈现Markdown。

提示:如果您正在寻求有关安装Python和Python包以及设置代码环境的指导,我建议您阅读REAUTE。位于设置目录中的md文件。下面的心理模型总结了本书涵盖的内容。最重要的先决条件是Python编程的坚实基础。

有了这些知识,你将为探索LLM的迷人世界做好充分的准备,并理解本书中提出的概念和代码示例。如果你有深度神经网络的经验,你可能会发现某些概念更熟悉,因为LLM是建立在这些架构之上的。本书使用PyTorch从头开始实现代码,而不使用任何外部LLM库。

虽然熟练掌握PyTorch不是先决条件,但熟悉PyTorch基础知识肯定是有用的。如果您是PyTorch的新手,附录A提供了PyTorch的简要介绍。或者,您可能会发现我的书《一小时内的PyTorch:从张量到在多个图形处理器上训练神经网络》,这本书有助于了解基本知识。

本书主要章节中的代码旨在在合理的时间范围内在传统笔记本电脑上运行,并且不需要专门的硬件。这种方法确保广泛的受众能够参与材料。此外,如果有可用的图形处理器,该代码会自动使用图形处理器。(请参阅设置文档了解更多建议。

)一个17小时15分钟的配套视频课程,我在其中编写了本书的每一章。该课程被组织为反映该书结构的章节和部分,以便它可以用作该书的独立替代品或补充代码资源。构建推理模型(从头开始)虽然是一本独立的书,但可以被视为构建大型语言模型(从头开始)的续集。

它从预训练的模型开始,并实现不同的推理方法,包括推理时缩放、强化学习和蒸馏,以提高模型的推理能力。与构建大型语言模型(从头开始)类似,构建推理模型(从头开始)采用了从头开始实现这些方法的实践方法。

- 亚马逊链接(待定)- 曼宁链接- GitHub存储库本书的每一章都包括几个练习。解决方案总结在附录C中,相应的代码笔记本位于此存储库的主要章节文件夹中(例如,。/ch 02/01_main-chapter-code/exercise-solution。

ipynb。

除了代码练习之外,您还可以从曼宁网站下载一份免费的170页PDF,标题为“测试自己构建大型语言模型(从头开始)”。它每一章包含大约30个测验问题和解决方案,以帮助您测试您的理解能力。

几个文件夹包含可选材料,作为对感兴趣的读者的奖励:-设置-第2章:使用文本数据-第3章:编码注意机制-第4章:从头开始实施GPT模型-第5章:

未标记数据的预训练- 替代重量加载方法- 在古腾堡项目数据集上预训练GPT- 将钟声和哨子添加到训练循环中- 优化预训练的超参数- 构建用户界面以与预训练的LLM进行交互- 将GPT转换为美洲驼- 内存高效模型权重加载- 使用新令牌扩展Tiktoken BPE Token

izer- PyTorch更快LLM培训的绩效技巧- 法学硕士架构- 第5章以其他LLM作为临时替代品(例如G.、

Lama 3、Qwen 3)-第6章:分类微调-第7章:微调以遵循指示- 用于查找接近重复项和创建被动语音收件箱的数据集实用程序- 使用OpenAI API和Ollama评估指令响应- 为指令微调生成数据集- 改进用于指令微调的数据集- 使用Llama生成偏好数据集3.

1 70 B和Olama- LLM对齐的直接偏好优化(DPO)- 构建与指令微调GPT模型交互的用户界面来自“从头开始推理”存储库的更多奖励材料:-Qwen 3(从头开始)基础知识-评价-推理缩放-强化学习(RL)我欢迎各种反馈,最好通过曼宁论坛或GitHub讨论分享。

同样,如果您有任何问题或只是想向他人提出想法,请毫不犹豫地在论坛上发布这些问题。请注意,由于此存储库包含与印刷书籍对应的代码,因此我目前无法接受扩展主要章节代码内容的贡献,因为这会引入与实体书籍的偏差。

保持一致有助于确保每个人都能获得流畅的体验。如果您发现这本书或代码对您的研究有用,请考虑引用它。芝加哥风格的引用:拉什卡,塞巴斯蒂安。构建大型语言模型(从头开始)。曼宁,2024年。ISBN:978-1633437166。

BibTeX条目:@book{build-llms-from-scratch-book,作者= {Sebastian Raschka},title = {构建大型语言模型(从头开始)},出版商= {曼宁},年= {2024},

isbn = {978-1633437166},url = {https://www.曼宁com/books/build-a-large-languages-model-从头开始},github = {https://github。

com/rasbt/LLMs-from-scratch}}

原文出处
rasbt/LLMs-from-scratch: Implement a ChatGPT-like LLM in PyTorch from scratch, step by step

本文为机器翻译辅以 AI 润色,仅供参考。原始事实以原文为准。