主题
零基础到大模型精通 —— 第一阶段:基础学习大纲
定位:面向零基础学习者,目标是在 3~6 个月内建立扎实的数学、编程、深度学习与大模型基础,能够独立完成「加载模型 → 微调 → 部署推理」的完整闭环,为后续的精通阶段(底层性能优化、算子、运行时、投机解码、编译等)打下地基。
总体学习路线(四阶段全景)
| 阶段 | 名称 | 目标 | 本文件覆盖 |
|---|---|---|---|
| 一 | 基础筑基(本大纲) | 数学 + 编程 + 深度学习 + Transformer + 微调/蒸馏/训练入门 | ✅ 详细展开 |
| 二 | 应用实战 | RAG、Agent、提示工程、vLLM 部署、领域微调实战 | 后续大纲 |
| 三 | 进阶原理 | 预训练全流程、MoE、长上下文、对齐(RLHF/DPO)、多模态 | 后续大纲 |
| 四 | 精通/底层优化 | CUDA 算子、推理引擎内核、分布式并行、投机解码、编译优化(Triton/TorchCompile/TensorRT) | 后续大纲 |
第一阶段:基础学习大纲(详细)
模块 0:学习准备与工程环境(1 周)
目标:搭好环境,会用工具。
- Linux 基础命令、Shell 使用
- Python 3.10+、虚拟环境(venv/uv/conda)
- Git 基础(clone / commit / branch)
- GPU 与 CUDA 概念扫盲:什么是显存、算力、
nvidia-smi使用 - 编辑器(VS Code)与 Jupyter Notebook
- Hugging Face 账号与模型/数据集下载
实战:在自己的机器上跑通 transformers 加载一个小模型(如 Qwen3-0.6B)输出一句话。
模块 1:数学基础(4~6 周)
原则:够用优先,学到"能看懂论文公式"即可,不死磕证明。
1.1 线性代数(核心中的核心)
- 标量、向量、矩阵、张量的概念与几何直觉
- 向量运算:点积、范数、余弦相似度(→ 理解 embedding 与检索)
- 矩阵运算:乘法、转置、逆、秩
- 特征值与特征向量(直觉层面)
- 矩阵分解:SVD、低秩近似(→ 为 LoRA 埋伏笔)
- 为什么 GPU 擅长矩阵乘法
1.2 概率与统计
- 概率分布:离散/连续、高斯分布
- 条件概率、贝叶斯公式
- 期望、方差、最大似然估计(MLE)
- 交叉熵与 KL 散度(→ 理解语言模型损失函数与蒸馏)
- 采样:温度(temperature)、Top-k / Top-p 的概率学含义
1.3 微积分与最优化
- 导数、偏导数、梯度、链式法则
- 梯度下降与随机梯度下降(SGD)
- 学习率、动量、Adam 优化器直觉
- 损失曲面、局部最优、梯度消失/爆炸
实战:用纯 NumPy 手写一个两层神经网络的反向传播,训练拟合一个简单函数。
推荐资源:《3Blue1Brown》线性代数/微积分系列视频;《深度学习》(花书)第 2~4 章选读。
模块 2:Python 与 PyTorch 编程(3~4 周)
2.1 Python 进阶
- 面向对象、装饰器、生成器
- NumPy:ndarray、广播、向量化思维
- 数据处理:Pandas 基础、JSON/JSONL 读写
2.2 PyTorch 核心
- Tensor 与自动微分(autograd)
nn.Module、Linear、Embedding、LayerNorm- 训练循环五件套:前向 → 算 loss → backward → step → zero_grad
- DataLoader 与 Dataset
- GPU 编程基础:
.to(device)、混合精度(AMP)、显存观察 - 模型的保存与加载(state_dict、safetensors)
实战:
- 用 PyTorch 手写 MLP 完成 MNIST 分类
- 手写一个字符级 RNN,生成文本
模块 3:机器学习与深度学习基础(3~4 周)
3.1 机器学习通识
- 监督/无监督/自监督学习
- 欠拟合与过拟合、正则化、训练/验证/测试集划分
- 常用评估指标:准确率、精确率/召回率、F1、困惑度(Perplexity)
3.2 深度学习核心组件
- 激活函数:ReLU、GELU、SiLU/SwiGLU
- 归一化:BatchNorm vs LayerNorm vs RMSNorm
- Dropout、残差连接
- 词嵌入(Embedding):one-hot → Word2Vec → 上下文向量
3.3 NLP 演进简史(建立技术脉络)
- n-gram → RNN/LSTM → Seq2Seq + Attention → Transformer → LLM
- 为什么 RNN 被淘汰(并行性、长程依赖)
实战:实现 Seq2Seq + Bahdanau 注意力完成英法小数据集翻译。
模块 4:Transformer 与大模型架构(4~6 周)⭐ 重点模块
4.1 Transformer 逐层拆解
- Tokenizer:BPE / SentencePiece / tiktoken,词表大小对模型的影响
- 自注意力机制:Q/K/V 推导、缩放点积、为什么除以 √d
- 多头注意力(MHA)→ MQA → GQA(→ 理解 KV Cache 的源头)
- 位置编码:正弦位置编码 → RoPE 旋转位置编码 → 位置插值
- FFN 层:为什么是参数大头、SwiGLU 变体
- Pre-Norm vs Post-Norm、RMSNorm
- Encoder-Decoder / Encoder-only(BERT)/ Decoder-only(GPT)三种范式
4.2 动手实现
- 从零手写一个 GPT(nanoGPT 级别,~300 行),在小语料上训练并生成文本
- 逐行理解:embedding、attention mask、causal mask、logits、softmax、交叉熵损失
4.3 主流开源模型架构巡礼
- Llama 系列(RMSNorm、RoPE、SwiGLU、GQA)
- Qwen3 / DeepSeek-V3(MoE、MLA)架构要点速览
- 学会读 Hugging Face 的
config.json:hidden_size、num_layers、num_heads、vocab_size……
实战:
- 手写 nanoGPT 并训练(莎士比亚语料)
- 打印并解释 Qwen3-0.6B 的模型结构(
print(model)),对照 config 逐层核对
推荐资源:Andrej Karpathy《Let's build GPT》视频;论文《Attention Is All You Need》。
模块 5:大模型训练基础(4~6 周)⭐ 重点模块
5.1 推理(Inference)先学
- 自回归生成流程:prefill 与 decode 两阶段
- 解码策略:greedy、beam search、temperature、top-k/top-p、重复惩罚
- KV Cache:为什么需要、显存占用如何计算
- 显存估算公式:参数量 × 每参数字节数(FP16/BF16/INT8/INT4)
- 用 vLLM 起一个本地 API 服务并压测(吞吐、延迟)
5.2 预训练(Pretraining)认知
- 数据:清洗、去重、配比、tokenization
- 训练目标:next-token prediction、损失曲线解读
- 超参数:学习率 warmup/decay、batch size、序列长度
- Scaling Law 直觉:参数量、数据量、算力的关系
- 分布式训练概念扫盲:DP / TP / PP / ZeRO(先建立概念,精通阶段再深挖)
5.3 微调(Fine-tuning)⭐
- 全参数微调 vs 参数高效微调(PEFT)
- LoRA 原理:低秩分解、target_modules、rank/alpha 怎么选
- QLoRA:4bit 量化 + LoRA 的显存账
- 指令微调(SFT):数据格式(Alpaca / ShareGPT / ChatML)
- 工具链:LLaMA-Factory / Axolotl / TRL / Swift
- 评估:微调前后对比、灾难性遗忘
5.4 知识蒸馏(Distillation)⭐
- 蒸馏直觉:教师模型 → 学生模型
- Logits 蒸馏(软标签、温度)vs 数据蒸馏(用大模型生成训练数据)
- 经典案例解读:DeepSeek-R1 → Distill-Qwen-7B/1.5B
- 蒸馏与剪枝、量化的组合使用
5.5 量化与压缩入门
- FP32 / FP16 / BF16 / INT8 / INT4 的概念
- 量化方式:PTQ vs QAT;GPTQ / AWQ / FP8 速览
- 量化对精度与显存的影响实测
实战(本模块至少完成 3 个):
- 用 QLoRA 微调 Qwen3-4B,做一个"客服问答"小模型(LLaMA-Factory)
- 用 GPT-4/DeepSeek-R1 生成数据,蒸馏一个 1.5B 小模型
- 对同一模型分别做 FP16 / AWQ-INT4 推理,对比显存与输出质量
- 用 vLLM 部署微调后的模型并跑通 OpenAI 兼容 API
模块 6:基础阶段综合毕业项目(2~3 周)
项目:从零做一个领域小助手
- 选题示例:法律咨询助手 / 医疗问答 / 代码补全 / 企业内部知识助手
- 完整流程:
- 收集并清洗领域数据,转成指令微调格式
- QLoRA 微调一个 4B~8B 基座模型
- 评估微调效果(人工评审 + 自动指标)
- AWQ 量化并用 vLLM 部署
- 写一份实验报告:显存占用、吞吐、延迟、bad case 分析
毕业标准(自检清单):
- [ ] 能手推自注意力的矩阵维度变化
- [ ] 能解释交叉熵损失与困惑度的关系
- [ ] 能独立写出 PyTorch 训练循环
- [ ] 能估算任意模型 FP16/INT4 的显存占用
- [ ] 能解释 KV Cache 为什么省时间不省显存
- [ ] 能独立完成 LoRA 微调并用 vLLM 上线服务
- [ ] 能说清蒸馏与量化在压缩路径上的区别
时间规划参考(可按自身节奏调整)
| 周次 | 内容 |
|---|---|
| 第 1 周 | 模块 0:环境与工具 |
| 第 2~7 周 | 模块 1:数学基础 |
| 第 8~11 周 | 模块 2:Python 与 PyTorch |
| 第 12~15 周 | 模块 3:ML/DL 基础 |
| 第 16~21 周 | 模块 4:Transformer(重点,放慢) |
| 第 22~27 周 | 模块 5:训练/微调/蒸馏/量化(重点) |
| 第 28~30 周 | 模块 6:毕业项目 |
配套资源总表
| 类型 | 资源 |
|---|---|
| 视频 | 3Blue1Brown(数学直觉)、Andrej Karpathy《Neural Networks: Zero to Hero》 |
| 书籍 | 《深度学习》(花书)选读、《Natural Language Processing with Transformers》、《Large Language Model Foundations》 |
| 论文 | Attention Is All You Need、GPT-3、LoRA、QLoRA、Scaling Laws |
| 代码 | nanoGPT、minGPT、llama2.c、Hugging Face Transformers 源码(选读) |
| 工具 | PyTorch、Transformers、PEFT、TRL、LLaMA-Factory、vLLM |
| 社区 | Hugging Face、ModelScope、GitHub Trending |
后续大纲规划(预告)
01-应用实战大纲.md:RAG、Agent、提示工程、多模型部署实战02-进阶原理大纲.md:预训练工程、MoE、长上下文、RLHF/DPO、多模态03-精通底层优化大纲.md:CUDA/Triton 算子开发、注意力内核(FlashAttention)、推理引擎运行时(vLLM/SGLang 源码)、投机解码(Speculative Decoding)、图编译(TorchCompile/CUDA Graph)、TensorRT-LLM、分布式通信(NCCL)