LLMs-from-scratch-CN

LLMs-from-scratch-CN

LLMs-from-scratch项目中文翻译

Stars: 130

Visit
 screenshot

This repository is a Chinese translation of the GitHub project 'LLMs-from-scratch', including detailed markdown notes and related Jupyter code. The translation process aims to maintain the accuracy of the original content while optimizing the language and expression to better suit Chinese learners' reading habits. The repository features detailed Chinese annotations for all Jupyter code, aiding users in practical implementation. It also provides various supplementary materials to expand knowledge. The project focuses on building Large Language Models (LLMs) from scratch, covering fundamental constructions like Transformer architecture, sequence modeling, and delving into deep learning models such as GPT and BERT. Each part of the project includes detailed code implementations and learning resources to help users construct LLMs from scratch and master their core technologies.

README:

《从零构建大模型》

version Status-building PRs-Welcome stars FORK Issues

项目动机/ 课程简介/ 课程资源/ 原书Readme/ 贡献者


项目动机

原项目与地址:《LLMs-from-scratch》

本项目是对GitHub项目《LLMs-from-scratch》内容的中文翻译,包括详细的markdown 笔记和相关的jupyter 代码。翻译过程中,我们尽可能保持原意的准确性,同时对部分内容进行了语序和表达的优化,以更贴合中文学习者的阅读习惯。需要特别说明的是,原作者为该项目的主要贡献者,本汉化版本仅作为学习辅助资料,不对原内容进行修改或延伸。

由于个人能力有限,翻译中可能存在不完善之处,欢迎提出宝贵意见并多多包涵 希望通过这一翻译项目,更多中文学习者能够从中受益,也希望为国内社区的 LLM 学习和研究贡献一份力量。

本项目的特色: jupyter代码均有详细中文注释,帮助大家更快上手实践。 诸多的附加材料可以拓展知识

本项目所用徽章来自互联网,如侵犯了您的图片版权请联系我们删除,谢谢。

课程简介

提到大语言模型(LLMs),我们可能会将其视为独立于传统机器学习的领域,但实际上,LLMs 是机器学习的一个重要分支。在深度学习尚未广泛应用之前,机器学习在许多领域(如语音识别、自然语言处理、计算机视觉等)的作用相对有限,因为这些领域往往需要大量的专业知识来应对复杂的现实问题。然而,近几年深度学习的快速发展彻底改变了这一状况,使 LLMs 成为推动人工智能技术革命的关键力量。

原项目与地址:《LLMs-from-scratch》 https://github.com/rasbt/LLMs-from-scratch.git

《LLMs-from-scratch》项目中,不仅关注 LLMs 的基础构建,如 Transformer 架构、序列建模 等,还深入探索了 GPT、BERT 等深度学习模型 的底层实现。项目中的每一部分均配备详细的代码实现和学习资源,帮助学习者从零开始构建 LLMs,全面掌握其核心技术。

课程资源

此外,本门课程还有相应的代码实现。每章都有相应的jupyter记事本,提供模型的完整python代码,所有的资源都可在网上免费获取。

原书Readme

从零构建大模型

这个仓库包含了开发、预训练和微调一个类似GPT的LLM(大语言模型)的代码,是《从零构建大模型》这本书的官方代码仓库,书籍链接:从零构建大模型




在《从零构建大模型》这本书中,您将逐步了解大语言模型(LLMs)如何从内到外工作,自己动手编写代码,逐步构建一个LLM。在这本书中,我将通过清晰的文字、图示和示例,带您完成构建自己LLM的每一个阶段。

本书描述的训练和开发自己的小型功能性模型的方法,旨在教育用途,类似于用于创建大规模基础模型(如ChatGPT背后的模型)的方法。此外,本书还包括加载更大预训练模型权重进行微调的代码。


要下载此仓库的副本,请点击下载ZIP按钮,或者在终端中执行以下命令:

git clone --depth 1 https://github.com/rasbt/LLMs-from-scratch.git

要下载此仓库汉化版本,请点击下载ZIP按钮,或者在终端中执行以下命令:

git clone --depth 1 https://github.com/MLNLP-World/LLMs-from-scratch-CN.git

(如果您是从Manning网站下载的代码包,请访问官方代码仓库 https://github.com/rasbt/LLMs-from-scratch 获取最新的更新 或者汉化版本https://github.com/MLNLP-World/LLMs-from-scratch-CN.git)


目录

请注意,本文档是一个Markdown (.md) 文件。如果您是从Manning网站下载的代码包并在本地查看它,建议使用Markdown编辑器或预览器进行正确查看。如果您尚未安装Markdown编辑器,MarkText 是一个不错的免费选项。

您也可以通过浏览器访问GitHub上的代码仓库,或者汉化版浏览器会自动渲染Markdown。


[!TIP] 如果您需要安装Python和Python包以及设置代码环境的指导,建议阅读README.md 文件,该文件位于setup目录中。


章节标题 主要代码(快速访问) 所有代码及补充内容 翻译者 校对者
安装建议 - -
第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
- gpt_train.py(总结)
- gpt_generate.py(总结)
- exercise-solutions.ipynb
ch05
第6章:进行文本分类的微调 - ch06.ipynb
- gpt_class_finetune.py
- exercise-solutions.ipynb
ch06
第7章:进行遵循指令的微调 - ch07.ipynb
- gpt_instruction_finetuning.py(总结)
- ollama_evaluate.py(总结)
- exercise-solutions.ipynb
ch07
附录 A:PyTorch 简介 - code-part1.ipynb
- code-part2.ipynb
- DDP-script.py
- exercise-solutions.ipynb
appendix-A
附录 B:参考文献与进一步阅读 无代码 -
附录 C:习题解答 无代码 -
附录 D:在训练循环中加入附加功能 - appendix-D.ipynb appendix-D
附录 E:使用 LoRA 进行参数高效微调 - appendix-E.ipynb appendix-E

 

下图是本书内容的总结性思维导图。


 

硬件要求

本书主要章节中的代码设计为能够在常规笔记本电脑上运行,并且不会占用过长时间,因此不需要专门的硬件。这种方式确保了广泛的读者群体能够参与其中。此外,如果有可用的 GPU,代码会自动使用它们。(更多建议请参考 setup 文档。)

 

问题、反馈和贡献

欢迎各种形式的反馈,最好通过 Manning 论坛GitHub 讨论区 分享。如果你有任何问题或只是想与他人讨论想法,也请随时在论坛中发布。

请注意,由于本存储库包含与印刷书籍相对应的代码,因此目前无法接受扩展主要章节代码内容的贡献,因为这可能会导致与实体书籍的内容不一致。保持一致性有助于确保每个人的顺畅体验。

 

引用

如果你发现本书或代码对你的研究有帮助,请考虑引用它。

引用:

Raschka, Sebastian. Build A Large Language Model (From Scratch). Manning, 2024. ISBN: 978-1633437166.

BibTeX 条目:

@book{build-llms-from-scratch-book,
author       = {Sebastian Raschka},
title        = {Build A Large Language Model (From Scratch)},
publisher    = {Manning},
year         = {2024},
isbn         = {978-1633437166},
url          = {https://www.manning.com/books/build-a-large-language-model-from-scratch},
github       = {https://github.com/rasbt/LLMs-from-scratch}
}

贡献者

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for LLMs-from-scratch-CN

Similar Open Source Tools

For similar tasks

For similar jobs