标签: 从零构建大模型

  • LLMs-from-scratch:96.3K Stars!从零手写大模型,彻底搞懂LLM底层原理

    LLMs-from-scratch:96.3K Stars!从零手写大模型,彻底搞懂LLM底层原理

    LLMs-from-scratch 封面

    《Build a Large Language Model (From Scratch)》书籍封面


    📌 项目简介

    LLMs-from-scratch 是 Sebastian Raschka 所著《Build a Large Language Model (From Scratch)》一书的官方代码仓库,带你从零开始用 PyTorch 手写实现类 GPT 大语言模型,覆盖数据处理、注意力机制、GPT 架构、预训练、微调全流程,是搞懂 LLM 底层原理的最佳实战项目。


    ⚙️ 安装要求与过程

    环境要求

    • Python 3.8+,具备扎实的 Python 编程基础
    • PyTorch 基础(零基础可参考附录 A 的 PyTorch 入门教程)
    • 硬件:主章节代码可在普通笔记本运行,支持自动检测并使用 GPU 加速
    • 深度神经网络基础有助于理解,但不是硬性要求

    快速安装步骤

    # 1. 克隆仓库(只拉取最新版本,减少下载量)
    git clone --depth 1 https://github.com/rasbt/LLMs-from-scratch.git
    
    # 2. 进入目录
    cd LLMs-from-scratch
    
    # 3. 安装依赖
    pip install -r requirements.txt
    
    # 4. (可选)安装 Jupyter Notebook
    pip install jupyter
    
    # 5. 启动 Notebook,按章节运行代码
    jupyter notebook

    📌 如果你从 Manning 官网下载了代码包,建议前往 GitHub 官方仓库获取最新更新。


    ✨ 核心功能

    🧠 从零实现注意力机制

    手写实现单头/多头自注意力(Self-Attention)机制,深入理解 Query/Key/Value 的数学原理,不依赖任何高层封装库。

    🏗️ 完整 GPT 架构实现

    从词嵌入、位置编码到 Transformer 解码器块,完整实现 GPT 模型架构,代码逐行对照论文,透明可调试。

    🔥 预训练与微调全流程

    覆盖无标注数据预训练、文本分类微调、指令遵循微调(SFT)完整流程,附带可运行的训练脚本。

    🚀 主流模型权重加载

    支持加载 Llama 3.2、Qwen3、Gemma 3、OLMo 3 等主流开源模型的预训练权重进行微调与推理。

    📚 附录与扩展内容

    包含 PyTorch 分布式训练(DDP)入门、LoRA 高效微调实现、分组查询注意力(GQA)、MoE 混合专家架构等进阶内容,一书在手,LLM 技术栈全覆盖。


    🎯 典型使用场景

    场景一:系统学习 LLM 底层原理

    不看封装库黑盒,从张量运算级别理解 Transformer 和 GPT。每章配有练习和解答,适合有一定 Python 基础、想深入 LLM 原理的开发者系统学习。可搭配书籍《Build a Large Language Model (From Scratch)》一起使用,理解更透彻。

    场景二:在自己的数据上训练定制 LLM

    参考第 5 章的预训练代码,基于自定义数据集训练专属小模型;或参考第 7 章的指令微调代码,用开源指令数据集微调模型,使其具备遵循指令的能力,用于垂直领域应用。

    场景三:作为 LLM 课程的配套实践材料

    本书配有 17 小时 15 分钟的官方视频教程,章节结构清晰,练习册《Test Yourself On Build a Large Language Model》可用来自测掌握程度,非常适合作为高校课程、企业内训或自学小组的配套实践材料。


    💡 推荐理由

    我第一次翻开这本书的代码时,有一种「原来 GPT 是这样工作的」的恍然大悟感。

    大多数 LLM 教程要么停留在概念层面,要么直接调用 transformers 库,黑盒到底。而 LLMs-from-scratch 选择了一条更难但更有价值的路:从张量运算级别手写实现,不依赖任何高层封装。

    我最喜欢的是第 4 章实现 GPT 模型那部分——当你亲手写出 self.attn = MultiHeadAttention(...)self.ln = LayerNorm(...) 并成功跑通时,那种「我理解了」的满足感是任何调用封装库都给不了的。

    作者 Sebastian Raschka 是 LLM 领域的顶级教育者,Lightning AI 的 LLM 负责人,写书风格非常「工程师友好」——没有冗余的数学推导,每一行代码都能跑,每一章都有配套练习。

    如果你是想深入 LLM 原理的开发者、研究者,或正在准备 LLM 相关技术面试,这个项目绝对值得你花时间从头到尾跟一遍。96.3K 的 Star 数不是偶然,是工程师们用脚投票的结果。


    📥 下载地址

    🔗 GitHub 仓库

    https://github.com/rasbt/LLMs-from-scratch

    访问 GitHub →

    📘 配套书籍

    《Build a Large Language Model (From Scratch)》
    Manning 出版,ISBN 978-1633437166

    Amazon 购买 →

    🎬 配套视频教程(17h15min)

    Manning LiveVideo:Master and Build Large Language Models

    观看视频 →


    📌 小提示:本项目是《Build a Large Language Model (From Scratch)》的官方配套代码,建议配合书籍一起学习,理解效果最佳。书籍附录 A 还提供了 PyTorch 入门教程,适合 PyTorch 零基础读者补基础。