6小时视频+85页手写笔记:LLM推理从零构建
Hours of YouTube and 85 handtyped pages of notes on LLM Inference – Start here
我通过6个多小时的YouTube视频教程和85页手写笔记,从零开始用C++和CUDA构建了一个小型LLM推理引擎。这个项目详细拆解了从加载模型权重到GPU上运行Transformer的每一个步骤,包括Embedding gather、RMSNorm、RoPE、自注意力机制以及Paged KV cache等核心组件。所有笔记均为亲笔手写,未使用任何AI生成,旨在通过第一性原理深入理解AI推理的底层逻辑。
该系列通过从头构建一个小型引擎,从第一性原理出发教授LLM推理。
HN 评论区
12- ericreg92
这些幻灯片显然是由 LLM 生成的。
- samirswr
我拍摄了超过 6 小时的素材,并手写了 85 多页笔记,旨在向零基础初学者讲解 AI 推理。
过去两个月里,我在担任全职 SWE 实习生的同时,利用下班时间打磨这套视频系列。当初我正是通过面向初学者的 YouTube 视频学会了编程等许多技能。如今随着 AI 的兴起,这类视频越来越难找,所以我决定做出改变。
这是我自己做的。制作过程中倾注了大量的思考和考量,所有笔记均由我亲笔撰写。为了保持透明,几乎所有代码也是由我编写的,仅包含少量 bug 修复、README 更新之类的内容。此外,每个视频还附带了一些由 AI 生成的补充笔记,但主要笔记全是我写的。
本系列将带你用 C++ 和 CUDA 构建一个小型的 Llama 3.2 1B 推理引擎,从发送 LLM 提示词后发生了什么开始讲起。
我涵盖了以下内容:
文本如何转化为 token,token 又如何转化为 embeddings。
将模型权重加载到 GPU 内存。
CUDA 基础、编写自定义 GPU 内核,以及使用 cuBLAS 进行矩阵乘法。
Transformer 逐步解析:RMSNorm、RoPE、attention 以及 SwiGLU 前馈网络。
Prefill 和 decode:处理你的提示词并逐个 token 生成回复。
KV 缓存及其如何节省重复计算。
静态批处理和连续批处理以应对多个请求。
Paged KV 缓存和 paged attention 以管理和读取 GPU 上的缓存数据。
GitHub 仓库链接:[…]
- samirswr
如果你对我的内容感兴趣,欢迎联系我!: https://www.linkedin.com/in/samir-sarwar-swe/