LLMs-from-scratch-CN
LLMs-from-scratch-CN 是经典开源项目《LLMs-from-scratch》的中文汉化版本,致力于让中文学习者无障碍地掌握大语言模型的核心技术。该项目完整保留了原版的 Markdown 笔记与 Jupyter 代码,并增加了详细的中文注释,有效解决了非英语母语者在阅读原始技术资料时的语言障碍和理解困难。
它特别适合想要深入理解 AI 底层逻辑的开发者、算法工程师及高校学生。通过跟随教程,用户可以从零开始构建类似 GPT 的大模型,亲手实践 Transformer 架构、序列建模、预训练及微调等关键环节,而非仅仅调用现成接口。
LLMs-from-scratch-CN 的独特亮点在于“代码即教材”,每一章节都配有可运行的 Python 实现,将抽象的理论转化为具体的工程实践。此外,项目还整合了丰富的拓展资源,帮助大家系统性地建立知识体系。无论你是初学者还是希望巩固基础的研究者,这里都是探索大模型奥秘的优质起点。
使用场景
国内某金融科技公司的算法工程师陈明,受命为内部知识库构建一个轻量级垂直领域大模型。为了深入掌握模型原理而非单纯黑盒调用,他决定放弃现成的高层库,转而从底层逻辑入手进行实践。
没有 LLMs-from-scratch-CN 时
- 面对原版全英文开源项目,非英语母语者在理解注意力机制的数学推导时,常因专业术语障碍导致理解中断。
- 原始代码注释极少,一旦在张量运算维度上出错,排查 Bug 往往需要耗费数小时去猜测变量具体含义。
- 学习资料高度碎片化,需要在理论书籍、英文博客和代码仓库间反复切换,难以建立从数据清洗到最终推理的完整认知闭环。
使用 LLMs-from-scratch-CN 后
- 借助 LLMs-from-scratch-CN 提供的精准中文翻译与详细行内注释,陈明能轻松将线性代数公式与 PyTorch 代码行号一一对应。
- 项目内嵌的中文教学笔记充当了“实时导师”,帮助他在极短时间内成功运行出第一个可训练的微型 GPT 模型。
- 整合后的中文资源库彻底消除了语言隔阂,使他能将全部精力集中在调整超参数和优化模型结构上,而非浪费在查单词上。
通过 LLMs-from-scratch-CN,开发团队成功克服了语言与实现细节的双重壁垒,实现了从理论认知到底层代码落地的无缝衔接。
运行环境要求
- 未说明
未说明
未说明

快速开始
《从零构建大模型》
项目动机
原项目与地址:《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,全面掌握其核心技术。
课程资源
- 英文原版地址:原版地址
- 教材网址:原版教材
- 汉化地址:https://github.com/MLNLP-World/LLMs-from-scratch-CN.git
此外,本门课程还有相应的代码实现。每章都有相应的 Jupyter 记事本,提供模型的完整 Python 代码,所有的资源都可在网上免费获取。
原书 README
从零构建大模型
这个仓库包含了开发、预训练和微调一个类似 GPT 的 LLM(大语言模型)的代码,是《从零构建大模型》这本书的官方代码仓库,书籍链接:从零构建大模型。
在《从零构建大模型》这本书中,您将逐步了解大语言模型(LLMs)如何从内到外工作,自己动手编写代码,逐步构建一个 LLM。在这本书中,我将通过清晰的文字、图示和示例,带您完成构建自己 LLM 的每一个阶段。
本书描述的训练和开发自己的小型功能性模型的方法,旨在教育用途,类似于用于创建大规模基础模型(如 ChatGPT 背后的模型)的方法。此外,本书还包括加载更大预训练模型权重进行微调的代码。
- 官方 源代码仓库链接
- 汉化版本 汉化仓库链接
- 出版商网站上的书籍链接
- Amazon.com 上的书籍页面链接
- ISBN 9781633437166
要下载此仓库的副本,请点击 下载 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 | ![]() |
![]() |
下图是本书内容的总结性思维导图。

额外材料
| 章节 | 附加资料 | 翻译者 | 校对者 |
|---|---|---|---|
| 设置 | - Python 设置提示 - 安装本书中使用的 Python 包和库 - Docker 环境设置指南 |
![]() |
![]() |
| 第二章:处理文本数据 | - 从零开始实现字节对编码(BPE)分词器 - 比较不同字节对编码(BPE)实现 - 理解嵌入层和线性层的区别 - 用简单数字直观理解数据加载器 |
![]() |
![]() |
| 第三章:编码注意力机制 | - 比较高效的多头注意力实现 - 理解 PyTorch 缓冲区 |
![]() |
![]() |
| 第四章:从零开始实现 GPT 模型 | - FLOPS 性能分析 | ![]() |
![]() |
| 第五章:在未标注数据上进行预训练 | - 使用 Transformers 从 Hugging Face 模型库加载替代权重 - 在古腾堡计划数据集上预训练 GPT - 为训练循环添加附加功能 - 优化预训练的超参数 - 构建与预训练 LLM 交互的用户界面 - 将 GPT 转换为 Llama - 从零开始构建 Llama 3.2 - 内存高效的模型权重加载 - 扩展 Tiktoken BPE 分词器,添加新 Token |
![]() |
![]() |
| 第六章:用于分类的微调 | - 微调不同层并使用更大模型的额外实验 - 在 50k IMDB 电影评论数据集上微调不同模型 - 构建与 GPT 基于垃圾邮件分类器交互的用户界面 |
![]() |
![]() |
| 第七章:微调以跟随指令 | - 查找近重复项和创建被动语态条目的数据集工具 - 使用 OpenAI API 和 Ollama 评估指令响应 - 为指令微调生成数据集 - 改进指令微调数据集 - 使用 Llama 3.1 70B 和 Ollama 生成偏好数据集 - 用于 LLM 对齐的直接偏好优化(DPO) - 构建与指令微调的 GPT 模型交互的用户界面 |
![]() |
![]() |
硬件要求
本书主要章节中的代码设计为能够在常规笔记本电脑上运行,并且不会占用过长时间,因此不需要专门的硬件。这种方式确保了广泛的读者群体能够参与其中。此外,如果有可用的 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}
}
贡献者
常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。






