Skip to content

从模型原理到 LLM 应用 ​

目标与边界 ​

这门课先回答“模型怎样从文本学会预测”,再回答“怎样把模型放进可靠的应用”。 从零指能够解释、实现和验证核心机制;张量计算与自动求导采用 PyTorch,必要时用小规模手算或标准库实验交叉验证。

模型主线的产物是一个能训练、评估、保存、恢复和生成文本的小型 decoder-only Transformer。 小模型用来理解机制,不预设它能达到通用聊天模型的质量。 应用阶段接入成熟的预训练或指令模型,并明确区分模型架构、权重、提示词、检索和外部工具的职责。

当前进度 ​

  • 已初始化:仓库规范、Python 3.12 环境入口、课程和笔记模板。
  • 当前课程:第 0 课:建立可复现的实验环境,教材与脚手架已准备,等待学习者完成。
  • 学习记录:note-00.md,尚未作答或结课。
  • 下一课计划:张量与批量计算,理解维度、矩阵乘法和广播,届时引入 PyTorch。
  • 下面各阶段是规划,不是已经实现的课程。后续课号、规模与节奏按实际学习反馈确定。

阶段与里程碑 ​

阶段要建立的能力主要内容可验证的里程碑
01 · 基础与实验环境把数学表达变成可检查的计算Python 环境、张量形状、矩阵乘法、概率、损失、梯度与参数更新手算小例子与代码一致;一次参数更新能解释方向与结果
02 · 最小语言模型从文本得到下一个 token 的预测字符编码、上下文与目标错位、计数基线、embedding、神经网络和训练循环训练一个小模型,在独立验证集上和简单基线比较并生成文本
03 · Transformer让预测有选择地使用上下文自注意力、因果遮罩、多头、位置信息、残差、归一化与前馈层组装并训练小型 GPT;检查未来信息不泄漏,观察上下文如何影响预测
04 · 训练与推理让实验可恢复、可比较、可测量数据切分、子词分词、优化与过拟合、checkpoint、采样、KV cache、设备与精度保存后恢复训练;缓存与非缓存推理在误差内一致,并测量速度与内存
05 · 预训练模型、微调与评估理解从基础模型到可用助手的变化模型与权重加载、聊天模板、监督微调、LoRA、任务评估;偏好优化作为拓展在小任务上比较提示词与微调的效果,记录成本、失败样例与数据边界
06 · 检索增强应用让回答使用可追溯的外部资料模型调用、本地服务或 API、结构化输出、embedding、切分、检索、重排与引用构建一个有引用的文档问答,分别测量检索命中和回答质量,支持证据不足时拒答
07 · 工具调用与 Agent让模型在受控流程中完成多步任务工具 schema、参数校验、执行循环、状态、失败重试、停止条件与轨迹评估用少量工具完成可验收任务;能定位错误步骤、限制循环和重放失败案例

怎么安排每一课 ​

每章围绕完整能力组织:输入是什么,内部发生了什么变化,输出如何被检查,失败时怎样归因。 典型课时 60–120 分钟,环境课和小实验可缩短;超过这个负担再拆分。 数学、Python 语法与框架用法在首次需要时补齐,不将大段先修学习变成主线阻塞。

一课通常只要求一次预测、一个贯穿实验和一到两个解释。 导师提供数据读取、日志和命令入口等配套设施,学习者聚焦新增机制。 阶段结束时把局部机制串回模型或应用的完整流程,避免只会实现互不相连的辅助函数。

运行规模与验证 ​

前期使用 CPU 和微型数据验证正确性。加速器用于后续提速:Apple Silicon 可以评估 MPS, 有 NVIDIA GPU 时可以评估 CUDA;实际支持情况在引入 PyTorch 时检查。 较大的预训练模型和微调实验根据实际内存选择尺寸,保留小样本与小步数的可运行路径。

模型阶段至少区分训练损失、验证损失和生成样例。应用阶段分别记录任务成功率、检索质量、延迟与调用成本。 一个看起来不错的回答不能替代固定评估集;模型或数据配置变化后重新比较。

训练实验记录版本、设备、种子、数据切分和关键超参数。固定种子只控制相应随机过程, 不同硬件、库版本和并行计算仍可能产生差异。

后续专题 ​

分布式训练、大规模数据流水线、量化、推理调度、偏好优化和多模态作为主线之后的拓展。 课程站点已建立,直接从 docs/ 和 notes/ 生成,支持搜索、课程阅读和学习记录回顾。

资料分工见 参考资料。

先理解,再实现;每个结论,都留下一条可重复的证据。