章节 01
导读 / 主楼:从零构建大语言模型:一个适合初学者的动手实验项目
华中科技大学 NLP 课程开源的 LLM-From-Scratch 项目,通过四个章节的渐进式实验,带领学习者从零手写 Transformer 核心组件,最终组装出约 10 万参数的 MiniLLM。
正文
华中科技大学 NLP 课程开源的 LLM-From-Scratch 项目,通过四个章节的渐进式实验,带领学习者从零手写 Transformer 核心组件,最终组装出约 10 万参数的 MiniLLM。
章节 01
华中科技大学 NLP 课程开源的 LLM-From-Scratch 项目,通过四个章节的渐进式实验,带领学习者从零手写 Transformer 核心组件,最终组装出约 10 万参数的 MiniLLM。
章节 02
当前大语言模型技术日新月异,但许多学习者在面对复杂的框架和封装好的 API 时,往往只能停留在调用层面,难以真正理解模型内部的运作原理。LLM-From-Scratch 项目正是为了填补这一空白而诞生。它并非要构建一个能与 GPT-4 或 Claude 竞争的生产级模型,而是通过约 10 万参数的 MiniLLM,让学习者能够清晰地看到每一个组件是如何工作的。
该项目专为 HUST 自然语言处理课程设计,适合已经具备一定 Python 基础、希望深入理解 Transformer 架构的学习者。项目采用渐进式教学方法,将复杂的模型构建过程拆解为四个易于理解的章节。
章节 03
任何语言模型的第一步都是将文本转换为模型可理解的数字表示。本章涵盖字符级分词器的实现、滑动窗口数据构建方法,以及 Token Embedding 和 Positional Embedding 的构建过程。学习者将亲手实现从原始文本到嵌入向量的完整转换流程。
章节 04
注意力机制是 Transformer 架构的核心。本章深入讲解缩放点积注意力(Scaled Dot-Product Attention)的数学原理,实现因果掩码(Causal Masking)以确保模型只能看到当前位置之前的信息,并最终构建完整的多头注意力(Multi-Head Attention)模块。
章节 05
本章聚焦于现代大语言模型的关键组件:RMSNorm 归一化层、SwiGLU 激活函数、残差连接(Residual Connection)以及 Pre-Norm 架构。这些都是当前主流模型如 LLaMA、GPT 系列采用的标准设计模式。
章节 06
最后一章将所有组件组装起来,实现完整的预训练流程。包括权重绑定(Weight Tying)技术、交叉熵损失函数、AdamW 优化器以及梯度裁剪(Gradient Clipping)等训练技巧。学习者将运行一个完整的训练循环,亲眼见证模型从零开始学习语言模式。
章节 07
项目的设计理念强调简洁性,仅需 PyTorch 和 Jupyter 环境即可运行。推荐的安装步骤如下:
conda create -n lfs python=3.10
conda activate lfs
pip install torch --index-url https://download.pytorch.org/whl/cpu
pip install jupyter
这种轻量级的依赖设计,使得项目可以在普通笔记本电脑上顺利运行,无需昂贵的 GPU 资源。
章节 08
项目采用填空式(Fill-in-the-blank)的学习模式。学习者在 llm-from-scratch.ipynb 中按顺序执行每个单元格,在标注了「学生填空点」的代码块中实现自己的理解。每个章节末尾都配有验证函数,可以即时检查实现是否正确。
对于不熟悉 Python 或深度学习框架的学习者,项目还在 validation_files/llm-from-scratch-answer.ipynb 中提供了参考解答,方便对照学习。