Skip to content

🧠 AI 大模型学习路线图

从基础到实战,系统化掌握 LLM / RAG / ReAct / Agent · 点击任意卡片直达学习资源

0
数学预科 · 高中生入门必读
📌 适合人群:仅有高中数学基础,首次接触 AI · 建议先学完本章再进入 Phase 1
⏱ 预计周期:9 周 · 每天 1 小时 · 三门核心:线性代数 → 微积分(梯度)→ 概率论
线性代数(Week 1–4)
向量 · 矩阵乘法 · 点积 · 余弦相似度 · 低秩分解(LoRA 原理)
⭐⭐⭐ 最重要
微积分 · 梯度下降(Week 5–7)
导数 · 偏导数 · 链式法则 · 梯度下降 · 反向传播直觉
⭐⭐⭐ 最重要
概率论与统计(Week 8–9)
Softmax · 交叉熵损失 · 期望 · KL 散度 · 贝叶斯直觉
⭐⭐ 重要
推荐:线性代数的本质 B站
3Blue1Brown 动画版 · 中文字幕 · 16集每集10分钟 · 直觉优先无痛入门
免费
推荐:动手学深度学习 第2章 中文
李沐著 · 数学 + Python 代码同步讲解 · 专为 AI 入门者设计
免费
推荐:Khan Academy 线性代数
全免费 · 从零开始 · 含练习题和即时反馈
免费
📝 工位练习 · 数学预科(3 项 · 纯手算 + 代码,不看视频)
练习 0-1
手算 Self-Attention(草稿纸即可)

给定 3 个词,每词 2 维向量:q1=[1,0], k1=[1,1], v1=[2,0];q2=[0,1], k2=[0,1], v2=[1,1];q3=[1,1], k3=[1,0], v3=[0,2]。
① 算出 3x3 attention 分数矩阵(S[i][j] = qi·kj)
② 每行做 softmax 归一化
③ 用权重加权 V 得到输出向量
④ 用 NumPy 写代码验证手算结果

练习 0-2
NumPy 实现梯度下降

对 f(x,y) = x^2 + 2xy + 3y^2 做梯度下降。
① 手算偏导数
② 从 (3, 2) 出发,lr=0.1,迭代 20 步,打印每步的 (x, y, f)
③ 观察 f 是否收敛到 0,若不收敛调整学习率重试

练习 0-3
手写 Softmax + 交叉熵损失

logits = [2.0, 1.0, 0.1],正确类别索引为 0。
① 用 NumPy 实现 softmax
② 用 NumPy 实现交叉熵:loss = -log(P[correct])
③ 改大/改小正确类别的 logit,观察 loss 变化

📝 Phase 0 自测 · 数学基础 · 0 题
得分:0 / 0
📐 数学预科详细教程(点击展开 · 9周完整内容)

第一门:线性代数(Week 1–4)

Week 1 — 向量基础

向量 = 一列有序数字。AI 里每个词、每张图都被表示成向量(Embedding)。

点积(Dot Product):
a = [1,2,3]  b = [4,5,6]
a · b = 1×4 + 2×5 + 3×6 = 32
→ Attention 机制本质就是做点积,判断两个词的"相关度"

余弦相似度(RAG 向量数据库用这个找最相似文档):
cos(θ) = (a · b) / (|a| × |b|)

练习:给定 q=[1,0,1],k=[1,1,0],计算点积和余弦相似度。

Week 2 — 矩阵乘法(最重要!)

理解 Self-Attention:
Attention(Q,K,V) = softmax(QKᵀ / √d) × V
  1. QKᵀ   → 矩阵乘法,算"每对词的相关度分数"
  2. / √d   → 防止数值过大
  3. softmax → 分数变概率(概率之和=1)
  4. × V    → 用概率加权汇聚 V,得到最终表示

Week 3 — 矩阵分解(理解 LoRA)

原始更新:ΔW (4096×4096) → 16,777,216 参数
LoRA:   A (4096×8) × B (8×4096) → 只需 65,536 参数!节省 256 倍

原理:权重更新是"低秩"的——用小矩阵近似大矩阵,
      损失极少精度,训练速度和显存大幅下降。

Week 4 — Python NumPy 实战

import numpy as np
q = np.array([1, 0, 1])
k = np.array([1, 1, 0])
print(np.dot(q, k))          # → 1

Q = np.random.randn(4, 3)
K = np.random.randn(4, 3)
scores = Q @ K.T              # (4×4) attention分数矩阵

第二门:微积分 · 梯度下降(Week 5–7)

Week 5 — 梯度下降

AI 训练的核心:找让损失函数最小的参数,就像闭眼下山。

公式:θ_new = θ_old - lr × ∂L/∂θ

偏导数示例:
L(w₁, w₂) = w₁² + 2w₁w₂ + w₂²
∂L/∂w₁ = 2w₁ + 2w₂   (把 w₂ 当常数,对 w₁ 求导)

Week 6 — 链式法则(反向传播的核心)

链式法则:y = f(g(x))  →  dy/dx = f'(g(x)) × g'(x)

神经网络反向传播 = 链式法则的连续应用
(PyTorch autograd 自动计算,不需手算)

Week 7 — AI 常用函数速查

函数导数AI 用途
Softmax 分母
ln(x)1/x交叉熵损失
max(0,x)0 或 1ReLU 激活函数
1/(1+e⁻ˣ)σ(x)(1-σ(x))Sigmoid 分类

第三门:概率论与统计(Week 8–9)

Week 8 — Softmax 与交叉熵损失

Softmax(把分数变概率):
["你好"→3.2, "再见"→1.1, "谢谢"→2.8]
P("你好") = e^3.2 / (e^3.2 + e^1.1 + e^2.8) = 55.7%

交叉熵损失(预测越准 Loss 越小):
P = [0.7, 0.2, 0.1],正确答案是第一个
Loss = -log(0.7) = 0.357
若 P[0]=0.01,Loss = -log(0.01) = 4.6 ← 预测很差

Week 9 — 期望与 KL 散度

期望(加权平均):E[X] = Σ x × P(x)
→ RLHF 的 Reward Model 估计"这个回答的期望质量"

KL 散度:KL(P||Q) = Σ P(x) × log(P(x)/Q(x))
→ DPO/RLHF 训练时防止模型偏离原始分布太远

9 周学习路线总览

高中数学基础
Week 1–2:向量 + 矩阵乘法 ← 最优先
Week 3:矩阵分解(LoRA 原理)
Week 4:Python NumPy 实战
Week 5–6:导数 + 梯度下降 + 链式法则
Week 7:常用函数导数速查
Week 8–9:Softmax + 交叉熵 + KL 散度
✅ 可以开始看 Phase 1 了!
1
基础基石
理解 AI 大模型底层原理,夯实基本功
📝 工位练习 · 基础基石(4 项 · 读论文 + 写代码)
练习 1-1
从零实现 Scaled Dot-Product Attention

只 import numpy,不调深度学习框架。实现 attention(Q,K,V,mask=None),支持多头。随机矩阵测试验证输出形状。自写测试验证 attention weights 每行和 = 1。

练习 1-2
对比三种 Tokenizer 的分词效果

HuggingFace 加载 BPE(GPT-2)、WordPiece(BERT)、SentencePiece(LLaMA)。同一段中英混合文本分词,记录 token 数量和切分结果。写 200 字总结:哪种对中文最友好?

练习 1-3
精读 Transformer 论文,写 500 字笔记

读 Attention Is All You Need,重点 Section 3。用自己话解释 Self-Attention / Multi-Head / Positional Encoding。画 Encoder-Decoder 结构图。回答:为什么要除以 sqrt(d_k)?

练习 1-4
Prompt Engineering 对比实验

选一个任务(翻译/摘要/分类),设计 4 种 prompt:零样本、少样本(3例)、Chain-of-Thought、角色扮演。记录输出质量,写 300 字对比分析。

📝 Phase 1 自测 · 基础基石 · 0 题
得分:0 / 0
2
LLM 核心能力
掌握模型的训练、微调和对齐技术
📝 工位练习 · LLM 核心能力(4 项 · 微调 + 实验)
练习 2-1
LoRA 微调实战(Colab 免费 GPU)

Qwen2.5-0.5B + HuggingFace PEFT,自备 50 条 JSONL 数据。LoRA(r=8,alpha=16),微调 3 epoch。对比微调前后 5 个 case 的输出。保存 adapter,学会 merge 和 push 到 Hub。

练习 2-2
手写 DPO 损失函数

不调库,用 NumPy/PyTorch 实现 DPO Loss。理解公式,给定 chosen/rejected 的 log prob 计算损失。构造数据验证:chosen 越高于 rejected 则 loss 越小。

练习 2-3
In-Context Learning 系统性实验

同一分类任务,控制变量:0-shot、1-shot、3-shot、5-shot、5-shot+CoT。表格记录准确率,画折线图看 shot 数与效果的关系。

练习 2-4
"Lost in the Middle" 上下文窗口测试

把答案放在文档 10%/50%/90% 位置,用 4K/8K/16K/32K 上下文测试。画"答案位置 vs 准确率"曲线。你的模型在哪个位置最容易"忘记"?

📝 Phase 2 自测 · LLM 核心能力 · 0 题
得分:0 / 0
3
RAG 检索增强生成
让模型拥有外部知识,解决幻觉和时效性问题
📝 工位练习 · RAG 检索增强生成(5 项 · 搭系统 + 对比实验)
练习 3-1
从零搭建 RAG Pipeline

Chroma + sentence-transformers + 任意 LLM API。准备 20 篇文档建向量索引。实现 query,embed,top-5 retrieve,prompt,generate 全流程。10 个预设问题测试,加分:Gradio UI。

练习 3-2
切块策略对比实验

同一批文档,三种切法:Fixed-size 512(overlap=0)、Fixed-size 512(overlap=128)、Semantic Chunking。统计 10 个问题的 top-3 命中率。

练习 3-3
实现混合搜索(Hybrid Search)

BM25 + 向量检索双路召回。rank-bm25 + Chroma,RRF 合并排序。对比纯向量 vs 纯 BM25 vs 混合的 top-5 准确率。

练习 3-4
Query Rewrite 提升检索命中率

口语化问题转精确查询。准备 10 个模糊问题,对比改写前后的 top-3 命中率。加分:实现 HyDE(先生成假设答案再检索)。

练习 3-5
用 RAGAS 评估 RAG 系统质量

安装 ragas,用你的 RAG 系统生成 20 条问答。评估 Faithfulness / Answer Relevancy / Context Precision / Context Recall 四个指标。针对最差指标改进 pipeline。

📝 Phase 3 自测 · RAG 检索增强 · 0 题
得分:0 / 0
4
ReAct & Agent 智能体
让模型能推理、能行动、能使用工具
📝 工位练习 · ReAct & Agent(4 项 · 从零实现智能体)
练习 4-1
从零实现 ReAct 循环

纯 Python,不用 LangChain。定义 search + calculator 两个工具。实现 Thought-Action-Observation 循环。解析 LLM 输出,执行工具,结果喂回下一轮。测试多步推理。

练习 4-2
Function Calling 实现智能计算器

OpenAI/Claude Function Calling API。定义加减乘除四个工具(JSON Schema)。测试"三加五乘以二"的自动拆解。处理除零等异常。对比 Function Calling vs ReAct 两种范式。

练习 4-3
多工具编排 Agent

搜索+计算+天气,三个工具一个 Agent。Agent 自动选择工具顺序,无需人工指定。加 FINAL_ANSWER 终止条件防止死循环。

练习 4-4
LangChain Agent vs 原生实现对比

同一任务双实现:查公司名,找 CEO,搜 CEO 年龄。LangChain 版 vs 原生 Python+OpenAI API。从代码行数、可控性、调试难度写对比。

📝 Phase 4 自测 · ReAct & Agent · 0 题
得分:0 / 0
5
工程化与进阶
性能优化、部署、多模态等生产级能力
📝 工位练习 · 工程化与进阶(4 项 · 部署 + 优化 + 评估)
练习 5-1
模型量化对比实验

llama.cpp 把 Qwen2.5-7B 量化为 Q4_K_M/Q5_K_M/Q8_0。记录模型大小、加载耗时、输出质量(人工1-5打分)。写结论:精度与速度如何取舍?

练习 5-2
vLLM 部署与压测

启动 vLLM 服务加载 Qwen2.5-7B。并发 1/4/8/16/32,记录 QPS 和平均延迟。开启 vs 关闭 prefix caching 各跑一轮。画出"并发 vs QPS"曲线。

练习 5-3
手写模型评估脚本

自建 20 题评估集(JSON: question + reference_answer)。用 GPT-4 做 LLM-as-Judge 打分。自动统计:平均分、标准差、按分类得分。对比 2 个模型在你自建集上的表现。

练习 5-4
Prompt Caching 成本收益分析

4000 token 系统 prompt + 2000 token 用户 prompt。调 OpenAI/Anthropic API,记录 cached_tokens。算账:日均 1000 次调用能省多少钱?什么场景下收益最大?

📝 Phase 5 自测 · 工程化与进阶 · 0 题
得分:0 / 0

📚 推荐学习资源

🇨🇳 中文课程(质量最高)

李沐《动手学深度学习》 — 中文,配套视频+代码
李沐 Transformer 精读 — B站,逐行读论文
Prompt Engineering 中文指南 — 官方翻译版
HuggingFace NLP 课程中文版 — 官方出品

🌍 英文精品(B站有字幕搬运)

Andrej Karpathy Zero to Hero — 从零手写 GPT,B站有中文字幕
DeepLearning.AI LLM 专项课 — 吴恩达出品,B站有搬运
HuggingFace NLP Course — 英文原版,代码更完整

⚒️ 实战框架 & 工具

LangChain / LlamaIndex — RAG & Agent 框架
vLLM — 高性能推理引擎
HuggingFace Transformers + PEFT — 训练微调
Chroma / Milvus — 向量数据库
Unsloth / Axolotl — 高效微调

🗺️ 我的建议(按顺序来)

• 先看李沐 Transformer 精读,理解注意力机制
• 跑通一个 RAG demo(Chroma + 开源模型)
• 再实现一个 ReAct Agent(LangChain 或原生)
• 最后尝试用 LoRA 微调一个模型
• 每一步:看中文课 → 读原文 → 动手写代码

数学预科
基础
LLM 核心
RAG
ReAct & Agent
工程与进阶

Built with VitePress