AI学习路线图

AI Infra 与科研双修:研一一年务实学习计划与资源地图

执行摘要与假设前提

我将你的目标拆成两条必须同时闭环的能力主线:AI Infra 工程认知(分布式训练、显存优化、推理加速、profiling)与科研能力(读顶会论文、复现实验、做消融、写作与开源)。这两条线看似不同,但在大模型时代高度耦合:训练/推理系统的优化往往需要以论文思想为指导,而科研复现要想“对齐指标 + 解释差异”,离不开工程化的可复现与性能诊断工具链(Profiler、日志、版本锁定、分布式配置)。

本报告是“务实版”而非“理想版”。我明确采纳并整合了你提到的他人建议,并给出证据链与调整逻辑:

  • 不死磕 Docker / CUDA:第一周只要求用 conda/pip 跑通 PyTorch(必要时 CUDA: None 先 CPU),把 GPU 容器化放到第二阶段。PyTorch 官方安装页明确写到:若不需要 CUDA,可选择 CUDA: None 并运行给出的安装命令。citeturn18search10 同时,GPU Docker 往往需要 NVIDIA Container Toolkit 且先装驱动,官方安装指南把“安装 GPU driver”列为前置条件,并提示平台支持与已知问题(例如 systemd cgroup 相关)。citeturn18search0
  • 第一周数学“训练相关最小集”:只追求“能推导/能实现/能解释训练现象”,避免陷入证明细节导致挫败(第二阶段再系统补齐)。
  • 二选一资源策略:每阶段只固定“主线资源 1 个 + 参考文档 1 套 + 主项目 1 个”,杜绝收藏癖。
  • 微调优先于从零训练:BERT 官方仓库直接指出预训练很昂贵(4 天、4–16 Cloud TPU),但对多数研究者是“一次性成本”,下游 fine-tuning 相对便宜且更贴近常规实践。citeturn0search0 同时 Hugging Face 官方教程把核心工作流定义为“fine-tune a pretrained model”。citeturn0search1 我会把“复现”分级(L0–L3),默认以 L1/L2 为主,避免“复现幻觉”。

默认假设与可加速条件
我默认你每周可投入 20 小时(标准强度),并有单卡 GPU(RTX 3090/4090 或等效云实例)。单卡条件下,计划重点放在:小模型/中等 batch 的训练复现、显存优化与推理系统实验(能做“趋势复现”和“工程对照”)。如果你有多卡(≥2)或可用 TPU/集群,则可以将第二阶段末尾与第三阶段的分布式实验从“理解配置 + 小规模验证”扩展到“真实吞吐/扩展效率曲线”,尤其适合验证 DDP/FSDP2/ZeRO 的规模效应;PyTorch DDP 文档强调 DDP 在单机多卡上显著快于 DataParallel 且建议每 GPU 一个进程。citeturn0search2

分阶段路线与评估体系

我将一年划分为三阶段(符合你的定义),并让每阶段都产出可交付物(repo/报告/复现记录/实验图表),避免“学一堆但拿不出东西”。

三阶段总览表

阶段建议时长范围默认每周投入阶段目标必学主题(P0/P1/P2)里程碑任务与可交付物样例评估方法与通过标准
第一阶段:充分认识6–10 周20h/w建立“训练闭环 + 误差分析 + 最小 Infra 直觉”,能独立跑通且解释一个 baselineP0:PyTorch 训练闭环;反向传播直觉;实验记录与可复现;基础 profiling;Transformer 基础概念。P1:混合精度基本用法;基础 CNN/CV 或 NLP 二选一。P2:Docker 入门(只看概念,先不强制落地)交付物:①一个端到端训练仓库(README + 环境 + 命令 + 曲线 + 错误分析);②一份“训练故障排查笔记”;③一份 2 页论文阅读模板笔记(按三遍阅读法结构)。PyTorch “60min blitz”可作为训练闭环快速入口。citeturn18search3通过标准:1)别人按 README 能复跑出同趋势曲线;2)能解释至少 3 种训练不稳定来源并给出证据;3)能用 profiler 找到最耗时算子/数据瓶颈(结论 + 截图或 trace)。PyTorch Profiler 说明其用于收集训练/推理性能指标并可视化 trace。citeturn3search2
第二阶段:能读论文并复现/调试代码16–20 周20h/w形成“论文→复现→对齐→差异分析”的标准流程;开始系统掌握分布式/显存优化/推理关键模块P0:三遍阅读法;复现模板化;随机性控制;DDP/FSDP2 基本原理;AMP + checkpointing;FlashAttention/KV cache 认知;ONNX/推理框架入门。P1:ZeRO 分阶段;张量并行/流水线并行概念;量化(INT8/4-bit)与评测。P2:更深 PyTorch internals(按需)交付物:①复现报告 ×2(各含:环境、数据、指标、差异归因、消融);②Infra 小实验合集(DDP vs 单卡;AMP/ckpt 显存曲线;FlashAttn 前后吞吐对比;vLLM/TensorRT-LLM 推理对比);③可复现项目模板仓库(configs/logs/seed/脚本)。FSDP2 教程明确“FSDP1 已弃用”。citeturn4search3通过标准:1)至少 2 篇论文达到 L1/L2 复现等级(见后文分级);2)能用 DDP/FSDP2/ZeRO 中至少两种技术把同模型“能训/训得更大/更快”并解释原因;FSDP 教程解释其分片参数/梯度/优化器状态以节省显存。citeturn0search3 3)能用 profiler + Nsight Systems 定位瓶颈并提出可验证优化。citeturn3search3
第三阶段:能做实验并撰写论文18–22 周20h/w从复现走向研究:提出问题、设计对照/消融、写作与开源,形成可投稿工作(workshop/short paper 优先)P0:研究问题定义;实验设计(对照/消融/误差分析);写作结构;开源与复现规范;安全/透明(Model Cards/Datasheets/NIST RMF 视角)。P1:更强基线与规模化评测;推理加速系统化;分布式扩展曲线。P2:理论推导/新优化器等交付物:①一篇完整论文草稿(含消融 + 局限 + 伦理/风险);②开源仓库(复现脚本 + 环境 + 结果表);③一套可复现实验追踪(MLflow/W&B)。NeurIPS checklist 强调可复现、透明、研究伦理与社会影响。citeturn20search2 PWC 的 releasing-research-code 清单针对“最受欢迎 ML 仓库”总结了便于复现与复用的组件。citeturn17search3通过标准:1)论文结构与实验达到“可投稿”最低要求(强基线 + 消融 + 误差分析);2)仓库满足 PWC 清单关键项(依赖/训练/评测/结果/模型)。citeturn17search3 3)按 NeurIPS checklist 自检并补齐关键信息。citeturn20search2

学习阶段流程图(Mermaid)

flowchart TD
  A[第一阶段:充分认识\n(训练闭环+最小Infra直觉)] --> B[第二阶段:论文阅读+复现/调试\n(DDP/FSDP2/AMP/ZeRO/推理入门)]
  B --> C[第三阶段:实验+写论文\n(对照/消融/开源/投稿)]
  A --> A1[交付物:baseline repo + 误差分析 + 阅读模板]
  B --> B1[交付物:复现报告×2 + Infra小实验合集 + 复现模板]
  C --> C1[交付物:论文草稿 + 开源仓库 + 实验追踪]

一年时间分配建议(标准 20h/w)

我建议“科研主线 + Infra 支线”并行,但每周保持刚性配比,避免被系统细节吞没:

pie title 标准强度(20h/w)建议配比
  "科研:论文阅读/笔记/复现报告" : 7
  "Infra:分布式/显存/推理/Profiling" : 7
  "模型与数学:训练相关最小集+补缺" : 4
  "工程习惯:Git/实验追踪/复现模板" : 2

必备数学与编程基础清单

这一部分我只列“对你目标真正有用、且可检验掌握程度”的知识点,并标注先修顺序与掌握深度:能做(Do)/能推导(Derive)/能证明(Prove)。研一一年内,我建议把“能证明”留给与研究方向强相关的少数主题,其余以 Do/Derive 为主。

数学基础(先修顺序 + 深度)

模块必备知识点(尽量具体)推荐教材/课程(权威/原始优先)练习/项目(可交付)掌握深度
线性代数(先修)矩阵乘法与形状推理;正交/投影;范数;特征分解与 SVD;PCA 直觉;条件数与数值稳定性直觉《Mathematics for Machine Learning》(MML)免费 PDF 版适合快速补齐线代与微积分。citeturn11search3项目:用 NumPy 实现 PCA(SVD)并在数据集上可视化;写“形状推理笔记”(Transformer 张量维度)Do + Derive(关键公式如最小二乘/PCA)
概率统计(先修)常见分布;期望/方差;MLE/MAP;交叉熵/ KL;置信区间直觉;采样与估计深度学习教材《Deep Learning》(Goodfellow 等)提供 ML 所需的概率与信息论背景。citeturn11search0项目:推导交叉熵=负对数似然;实现 softmax + log-sum-exp 的数值稳定版本Derive 为主(证明可选)
向量微积分梯度/雅可比/链式法则;反向传播;Hessian 直觉(不必全推)MML 对向量微积分讲解清晰。citeturn11search3项目:手写两层 MLP 的前向+反向(NumPy),与 PyTorch autograd 对比梯度Derive(能写出梯度)
优化SGD/动量/Adam;学习率调度;梯度裁剪;收敛直觉与失败模式Adam 原始论文理解其动机与适用性。citeturn1search2turn1search0项目:同任务对比 SGD/Adam 收敛;写“训练不收敛排查树”Do(调参)+ Derive(核心公式)
凸优化(研究加分)凸集/凸函数;对偶/KKT 直觉;正则化与岭回归/LASSOBoyd & Vandenberghe《Convex Optimization》官网提供权威材料。citeturn11search2项目:用 CVX 类工具解 LASSO,并联系到稀疏与压缩选学:Do/Derive
数值稳定性(Infra 强相关)FP16 溢出/下溢;log-sum-exp;梯度缩放;累加误差;混合精度稳定策略PyTorch AMP 文档解释 autocast + GradScaler 与“梯度缩放减少 underflow”。citeturn1search2项目:用 AMP 训练同模型并记录 loss/NaN;解释原因与修复Do(会用)+ Derive(理解原因)

编程与系统工程基础(面向 AI Infra)

模块必备知识点推荐资源(官方优先)练习/小项目(可交付)掌握深度
Linux 基础进程/线程;文件权限;SSH;日志;top/htop;磁盘与 IO(不强制列特定教程)关键是“会用命令定位瓶颈”交付:写一个“训练/推理排障 checklist”(显存、IO、CPU、GPU)Do
Git分支/PR;tag;可追溯实验(commit+config+seed)(原则:每次实验可追溯)交付:复现模板仓库(configs + scripts + results)Do
Docker(放第二阶段)镜像/容器;Dockerfile;(可选)GPU 容器Docker 官方 get started。citeturn18search1 GPU 容器需 NVIDIA Container Toolkit 且先装驱动。citeturn18search0交付:给你的复现仓库加一个 CPU 可跑 Dockerfile(GPU 作为增强)Do
PyTorch 训练工程DataLoader;checkpoint;分布式接口;AMP;ProfilerPyTorch DDP 文档:DDP 多 GPU 更快且一 GPU 一进程。citeturn0search2 AMP 与 checkpointing 官方说明。citeturn1search2turn1search3 Profiler 文档。citeturn3search2交付:同模型在 FP32/AMP/ckpt 下的速度与显存曲线报告Do(熟练)
分布式通信基础collective(all-reduce/all-gather等);后端 NCCL/GlooNCCL 官方说明其提供 all-reduce/all-gather 等原语并为多 GPU/多节点优化。citeturn9search0 PyTorch distributed 文档说明 Linux 默认包含 Gloo/NCCL(CUDA 构建时)。citeturn9search1交付:写一个最小 all-reduce benchmark(测通信开销)Do + Derive(能解释通信量)
实验追踪记录超参/指标/产物;对比 runs;复现实验MLflow tracking 用于记录参数、指标、artifact 并比较 runs。citeturn20search0 W&B tracking 也提供 logging 与 artifact。citeturn20search1交付:对同一任务做 5 次对照实验并形成对比图表Do

AI 子领域与“长期稳定”技术栈地图

你要一年内达到“大厂 AI Infra 工程师认知 + 扎实科研复现”,我建议模型方向以 Transformer/LLM 为主线(抗过时、与 Infra 强耦合),同时保持 CV/生成模型/RL 的“可迁移基础”。下面我按子领域给出:核心概念、代表性论文/文档、推荐开源仓库与课程入口。

子领域与技术栈速览(主流、长生命周期)

方向核心概念(你必须能解释)代表性论文/文档(优先原始)推荐开源项目(GitHub)入门/进阶课程入口
深度学习基础反向传播、优化、正则化、误差分析、可复现《Deep Learning》教材(免费在线版)。citeturn11search0PyTorch(训练/Profiler/分布式生态)。citeturn9search1turn3search2MIT 6.S191(强度高、快速建立直觉)。citeturn10search2turn10search10
CVCNN/ResNet、检测/分割、ViT、多模态视觉表征ResNet。citeturn6search2 ViT。citeturn5search0Detectron2。https://github.com/facebookresearch/detectron2 citeturn15search0;MMDetection。https://github.com/open-mmlab/mmdetection citeturn15search1CS231n。citeturn10search0turn10search4
NLP/LLM(主线)Transformer、自回归生成、微调/PEFT、对齐、RAG、评测Transformer。citeturn6search0 BERT(微调范式)。citeturn6search1 LoRA。citeturn5search3 RAG。citeturn7search0Transformers。https://github.com/huggingface/transformers citeturn16search0;Datasets。https://github.com/huggingface/datasets citeturn16search1;PEFT。https://github.com/huggingface/peft citeturn15search3;TRL。https://github.com/huggingface/trl citeturn16search3CS224n(含 LLM 进展)。citeturn10search1
强化学习MDP、值函数、策略梯度、PPO、稳定性与复现DQN(经典)。citeturn5search2 Sutton&Barto 教材。citeturn11search1Stable-Baselines3。https://github.com/DLR-RM/stable-baselines3 citeturn17search0;Spinning Up。https://github.com/openai/spinningup citeturn13search9Berkeley CS285。citeturn13search0
生成模型扩散模型、条件生成、训练与推理成本DDPM。citeturn5search1 FlashAttention(长上下文加速关键)。citeturn2search0Diffusers。https://github.com/huggingface/diffusers citeturn15search2HF Diffusion Course(含从零训练与微调)。citeturn13search3turn13search11
部署/工程化模型导出、运行时优化、服务化、可观测性ONNX 定义开放格式与算子集合以实现互操作。citeturn3search0 ONNX Runtime 文档强调性能调优与硬件加速。citeturn3search1ONNX Runtime。https://onnxruntime.ai/ citeturn3search1;TensorRT-LLM。https://github.com/NVIDIA/TensorRT-LLM citeturn2search3;vLLM。https://github.com/vllm-project/vllm citeturn2search6(工程向以官方文档与示例为主)TensorRT-LLM docs。citeturn2search7
可解释性/安全/可信归因方法、鲁棒性、文档化(模型卡/数据卡)、风险治理Model Cards。citeturn28academia0 Datasheets。citeturn28academia1 NIST AI RMF 1.0。citeturn27search3 对抗样本经典论文。citeturn24academia0Captum。https://github.com/meta-pytorch/captum citeturn27search0;SHAP。https://github.com/shap/shap citeturn27search1;LIME。https://github.com/marcotcr/lime citeturn27search2(研究向可参考 NeurIPS checklist 的透明与责任实践)citeturn20search2
AI Infra(主线)DDP/FSDP2/ZeRO;并行策略;AMP/ckpt;FlashAttention;KV cache;量化;推理引擎;profilingDDP 官方文档。citeturn0search2 FSDP2 教程(FSDP1 deprecated)。citeturn4search3 ZeRO 论文与文档。citeturn1search0turn1search1 FlashAttention/2。citeturn2search0turn2search1 vLLM PagedAttention。citeturn2search2DeepSpeed。https://github.com/deepspeedai/DeepSpeed citeturn9search2;TensorRT-LLM。citeturn2search3;vLLM。citeturn2search6;NCCL。citeturn9search0(优先官方教程 + 论文)PyTorch/DeepSpeed/NVIDIA docs citeturn9search3turn2search7turn3search2

资源清单对比表(入门—进阶—研究/工程)

说明:表中链接全部放在代码格式,避免“收藏癖”。我建议你在每阶段只选 1 个主线资源,其余作为参考即可(见后文“二选一策略”)。
资源名称类型语言难度时长估计优点局限链接
《动手学深度学习》(D2L)(中文)书+可运行笔记本中文入门→进阶6–10 周公式+代码闭环,适合第一阶段主线。citeturn10search3覆盖面广,需自控节奏https://zh.d2l.ai/
PyTorch 60 Minute Blitz教程英文/中文入门1 周快速跑通训练闭环。citeturn18search3turn18search7深度不够,需要继续扩展https://docs.pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html
PyTorch DDP 文档官方文档英文/中文进阶1–2 周直接给出“多 GPU 一进程/更快”的实践要点。citeturn0search2turn0search6需要你配合实验理解通信与瓶颈https://docs.pytorch.org/docs/stable/generated/torch.nn.parallel.DistributedDataParallel.html
PyTorch FSDP2 教程官方教程英文进阶→工程1–2 周官方明确 FSDP1 deprecated;给出可运行示例。citeturn4search3真正吃透需做显存/吞吐对照https://docs.pytorch.org/tutorials/intermediate/FSDP_tutorial.html
DeepSpeed ZeRO 文档 + 论文文档+论文英文进阶→工程2–4 周Stage 0–3 清晰;与大模型训练强相关。citeturn1search1turn1search0配置多,需做小实验验证https://deepspeed.readthedocs.io/en/latest/zero3.html
FlashAttention / FlashAttention-2 论文论文英文进阶→研究/工程1–3 周注意力层 IO-aware 加速关键;LLM 长上下文时代仍核心。citeturn2search0turn2search1需要一定 GPU 内存层次知识https://arxiv.org/abs/2205.14135
vLLM + PagedAttention论文+开源英文工程1–3 周KV cache 管理与吞吐优化,服务化常用。citeturn2search2turn2search6真正落地需结合业务流量与SLAhttps://github.com/vllm-project/vllm
TensorRT-LLM开源+官方文档英文工程2–6 周NVIDIA 官方推理优化库与部署文档。citeturn2search3turn2search7turn2search11偏 NVIDIA 生态;学习曲线较陡https://github.com/NVIDIA/TensorRT-LLM
Hugging Face Transformers开源+文档英文进阶持续统一训练/推理生态,覆盖多模态。citeturn16search0代码体量大,需围绕任务切入https://github.com/huggingface/transformers
Hugging Face Fine-tune 教程官方文档英文入门→进阶1–2 周明确微调流程(强契合 L1 复现)。citeturn0search1需要你补齐评测与误差分析https://huggingface.co/docs/transformers/en/training
MLflow / W&B Tracking工程工具英文/中文工程1 周起实验对比与复现;记录指标/超参/产物。citeturn20search0turn20search1需要你坚持记录才有价值https://mlflow.org/docs/latest/ml/tracking/ / https://docs.wandb.ai/models/track
NeurIPS Paper Checklist研究规范英文研究1–2 天复现、透明、伦理的 checklist 思维。citeturn20search2不是教程,需结合项目实践https://neurips.cc/public/guides/PaperChecklist

AI Infra 必修清单与可做的小实验

这一节我把你列出的 Infra 关键词全部“落地化”:每项都给出必须掌握的原理要点、最可信的学习资源(论文/官方文档/示例 repo)、单卡可做的小实验与评估标准。你可以把它当作一年里反复回看的“Infra 技能考纲”。

Infra 必修清单(原理 → 资源 → 小实验 → 标准)

主题你必须真正理解的原理点学习资源(优先原始/官方)单卡/少量 GPU 小实验任务评估标准(可量化)
DDP数据并行的梯度同步(all-reduce);为何“一 GPU 一进程”;与 DataParallel 差异PyTorch DDP 文档强调 DDP 在单机多卡显著更快,并建议 N GPU 启动 N 进程且每进程独占一 GPU。citeturn0search2若你有 2 卡:做 DDP vs 单卡吞吐(samples/s)对比;若只有 1 卡:用 torchrun 跑单进程 DDP 骨架,理解进程组初始化与通信接口(可用 Gloo)。PyTorch distributed 说明 Linux 默认含 Gloo/NCCL(CUDA 构建时)。citeturn9search1你能写出“吞吐 = 计算 + 通信”的解释,并能用 profiler 看出通信段(或其开销)。citeturn3search2
FSDP2参数/梯度/优化器状态分片;all-gather 与 reduce-scatter 何时发生;节省显存但增通信PyTorch FSDP 教程解释其分片并强调 FSDP1 deprecated、推荐 FSDP2。citeturn0search3turn4search3选一个中等模型(如 1–3B 参数以下或更小)在单机多卡做 FSDP2;单卡则做“代码级理解实验”:打印每步显存与 shard 行为(可结合示例)。输出一份“显存节省与代价”报告:显存峰值降低多少、吞吐变化多少、是否出现通信瓶颈。
ZeRO / DeepSpeedZeRO-1/2/3 分别分片哪些状态(优化器/梯度/参数);通信与显存的权衡;为什么能上到更大模型ZeRO 原论文。citeturn1search0 DeepSpeed 文档把 Stage 0–3 定义为禁用、分片优化器、分片优化器+梯度、分片优化器+梯度+参数。citeturn1search1 DeepSpeed 官方 ZeRO 教程。citeturn9search3用 DeepSpeed 在小模型上切换 ZeRO stage(即使单卡也可读懂配置含义);多卡则做 stage 对比。DeepSpeed repo。citeturn9search2通过标准:你能解释每个 stage 节省的显存来源,并给出实测显存/吞吐/通信量对照表。
张量并行(TP)层内切分(矩阵乘法切分、通信插入点);与流水线并行互补Megatron-LM 论文提出层内模型并行训练数十亿参数模型,并说明可在原生 PyTorch 中插入少量通信实现。citeturn4search0单卡:阅读 Megatron-LM 通信插入点,做“矩阵切分+all-reduce 模拟”;多卡:跑一个最小 TP demo(若条件允许)。你能画出 Transformer 一层在 TP 下的张量切分示意,并指出每次通信发生在哪。
流水线并行(PP)micro-batch、pipeline bubble;参数一致性(weight stashing等)GPipe 论文提出任务无关的 pipeline 并行并使用 micro-batch;citeturn4search1 PipeDream 讨论流水线训练系统与一致性策略。citeturn4search2单卡:实现一个 toy pipeline scheduler(模拟 bubble);多卡:用现成框架跑简单 pipeline。能解释 bubble 如何随 micro-batch 数变化,并给出简单实验图。
AMP(混合精度)autocast 选择计算精度;GradScaler 为什么能减轻 fp16 梯度下溢;数值稳定性排查PyTorch AMP 示例说明 autocast + GradScaler 的典型组合,并解释梯度缩放用于减少 float16 梯度 underflow。citeturn1search2同一模型 FP32 vs AMP:记录吞吐与显存;故意制造 NaN(过大学习率)并写修复笔记。通过标准:你能解释“为什么会 underflow/overflow”,并给出可复现的 NaN case 与修复 commit。
Activation checkpointing以计算换显存;重计算开销;use_reentrant 两种实现差异PyTorch checkpoint 文档建议使用 use_reentrant=False。citeturn1search3在同模型/同 batch 下比较开启/关闭 checkpoint 的显存峰值、速度变化,并做 profiler 分析。citeturn3search2通过标准:写出“显存节省比例 vs 速度损失比例”的对照表,并能解释原因。
FlashAttentionIO-aware:减少 HBM↔SRAM 读写;注意力从 O(n²) 内存到近线性;与数值稳定(safe softmax)关系FlashAttention 原论文(IO-aware、tiling)。citeturn2search0 FlashAttention-2 进一步优化并行与分工获得更高吞吐。citeturn2search1用支持 FlashAttention 的实现(如库集成)对同模型做长序列吞吐对照;记录 kernel 时间占比。通过标准:你能解释“瓶颈从 FLOPs 转为内存 IO”的原因,并用 profiler/Nsight 证据支持。citeturn3search3
KV cache 与 PagedAttention自回归推理的 KV cache 增长与碎片;PagedAttention 类似 OS paging,减少浪费并提升 batchvLLM 论文提出 PagedAttention 并构建 vLLM,强调 KV cache 碎片/浪费与吞吐提升。citeturn2search2 vLLM repo。citeturn2search6用 vLLM 对比 HF 推理:固定延迟目标下测吞吐;不同序列长度下对比吞吐曲线。通过标准:你能给出“吞吐-延迟-显存”的三方权衡曲线或表。
量化(INT8/4-bit/混合)权重/激活量化的误差来源;outlier;PTQ vs QAT;可用性与硬件友好性LLM.int8() 解释 8-bit 矩阵乘与 outlier 处理。citeturn8search0 SmoothQuant(W8A8、处理 activation outlier)。citeturn8search1turn8search5 GPTQ(3–4bit、二阶近似)。citeturn8search2turn8search10 QLoRA(4-bit NF4 + LoRA、单卡 48GB 可微调 65B 级别)。citeturn17search2在同一基座模型上比较 FP16 vs INT8 vs 4-bit:测显存、吞吐、困惑度/任务指标。通过标准:你能说明“误差来自哪里”,并给出量化策略选择理由(不是只报速度)。
ONNX / ONNX Runtime互操作标准与算子集合;图优化与执行提供者(硬件加速)ONNX 官方定义开放格式与通用算子集合。citeturn3search0 ONNX Runtime 文档强调可用配置/硬件加速进行性能调优。citeturn3search1导出一个模型到 ONNX,分别用 PyTorch 与 ORT 跑推理并比较延迟/吞吐;记录不支持算子与解决方式。通过标准:你能把“导出失败/精度差异/性能差异”归因到具体算子或优化开关。
TensorRT-LLMengine 构建与推理优化(kernel fusion、KV cache 优化等);在线/离线推理路径TensorRT-LLM GitHub 与官方文档(Quick Start、Serving)。citeturn2search3turn2search7turn2search11若有 NVIDIA GPU:用官方 Quick Start 跑通离线推理;再做一个小模型的 engine 构建对比(FP16 vs 量化)。通过标准:你能给出“同模型 vLLM vs TensorRT-LLM”对比表,并解释差异来源。
Profiling 工具链从“感觉慢”到“证据”:算子级 profiler、系统级 trace、通信/IO 分析PyTorch Profiler 用于收集训练/推理性能指标并可视化 trace。citeturn3search2 Nsight Systems 建议只 profile 性能关键区域以减少数据量并聚焦瓶颈。citeturn3search3对同一训练脚本:先用 torch.profiler 定位热点,再用 Nsight Systems 看 CPU/GPU 时间线;给出优化前后对比。通过标准:能提出 1–2 个可验证优化(如数据管道、kernel、通信重叠)并量化收益。

论文阅读与代码复现方法论与论文清单

论文筛选与三遍阅读法(让你一年读得动、读得快、读得有产出)

我建议把论文阅读流程标准化,采用“三遍阅读法”:第一遍鸟瞰结构、第二遍抓核心假设与方法、第三遍为复现做细节抽取。这个方法由 Keshav 的经典短文系统阐述,并强调用纪律避免“淹死在细节里”。citeturn20search3

论文筛选我用四个硬指标(为复现服务):
1) 是否清晰定义问题与评测;2) 是否有强基线/消融;3) 是否有公开实现或足够细节;4) 是否能在你算力下做 L1/L2 复现(见下文分级)。

“复现幻觉”防护:复现分级(L0–L3)与算力现实

很多研一同学会被“从零训练一个 BERT/LLM 才算复现”误导。我会把复现分为四级,并把你一年内的主目标锁定在 L1/L2:

  • L0 跑通(Run):代码能跑、能出指标、能复跑。
  • L1 指标对齐(Replicate with pretrained checkpoint):使用公开预训练权重进行微调,达到论文/官方实现的合理区间,并写出差异归因。Hugging Face 官方教程就是这一范式:fine-tune a pretrained model。citeturn0search1
  • L2 现象复现(Replicate phenomenon at small scale):用小模型/小数据复现论文核心现象趋势,不追求 SOTA 数值。
  • L3 全量复刻(Train-from-scratch at paper scale):通常需要大规模算力/数据/工程团队,不适合作为一年自学的主线目标。BERT 官方仓库直说预训练“fairly expensive”(4 天、4–16 Cloud TPU),并暗示多数研究者不必从零预训练。citeturn0search0

“为何 L3 不现实”的补充证据:LLM scaling law 工作表明损失与模型规模、数据与训练 compute 呈幂律关系,并讨论如何在固定预算下分配 compute。citeturn7search2 Chinchilla 工作进一步指出许多 LLM“训练不足”,并给出 compute-optimal 的模型/数据配比规律(更强调大量 token)。citeturn7search3 这意味着:想从零训练一个与论文同规模的 LLM,不仅需要硬件,还需要大规模数据与系统工程——一年内更务实的路线是 L1/L2。

复现流程(从环境到开源的标准作业程序)

我建议你把复现做成“流水线”,每次复现都遵循同一模板:

1) 环境与依赖锁定:先 conda/pip(第一阶段),Docker 放第二阶段。PyTorch 官方允许选择 CUDA: None 先跑通。citeturn18search10 GPU 容器要依赖驱动与 NVIDIA Container Toolkit,官方把 driver 作为 prerequisite。citeturn18search0
2) 随机性与复现性:固定 seed、记录版本、标注非确定性;PyTorch 专门有 reproducibility/randomness 指南说明随机性导致的差异与控制方式。citeturn1search3turn3search2
3) 实验追踪:必须记录超参、指标、artifact(模型权重、曲线、日志)。MLflow 与 W&B 的 tracking 文档都强调记录 metrics/params/artifacts 并用于比较与复现。citeturn20search0turn20search1
4) 对齐与差异归因:对齐数据预处理、tokenizer、评测脚本;差异必须用实验对照解释而不是“感觉”。
5) 开源与复用:用 PWC releasing-research-code 清单把 repo 补齐(训练脚本、评测、依赖、结果表、模型)。citeturn17search3 投稿前按 NeurIPS checklist 自检(透明、复现、伦理)。citeturn20search2

代表性论文清单(8–12 篇,不同难度,含复现方式与评级)

我选的论文覆盖:模型基础(ResNet/Transformer)、LLM 适配(BERT/LoRA/QLoRA)、生成(DDPM)、Infra(ZeRO/Megatron/FlashAttention/vLLM)、以及“规模现实”(Scaling/Chinchilla)。难度评级:★(最低)到 ★★★★★(最高),难度主要取决于复现成本 + 细节不可得程度 + 系统复杂度

论文难度为什么我推荐推荐复现方式(L0/L1/L2/L3)
Deep Residual Learning for Image Recognition(ResNet)citeturn6search2★★★经典 backbone;复现可在中小数据完成;也适合做 profilingL2(小数据从零训)或 L1(用成熟实现跑通指标)
Attention Is All You Need(Transformer)citeturn6search0★★★★LLM/CV/多模态共同地基;理解注意力与并行化L2(小 Transformer 从零训)+ L1(HF 微调)citeturn0search1
BERT(论文)citeturn6search1★★★★预训练-微调范式代表;但从零预训不现实L1(用预训练权重微调)citeturn0search0turn0search1
LoRA(PEFT)citeturn5search3★★★“微调成本”核心解法;适合单卡做系统实验L1(对同任务对比全参 vs LoRA)
QLoRA(4-bit 微调)citeturn17search2★★★★把大模型微调带到单卡/小卡可行区间(NF4 等)L1(复现内存节省+指标对照)
ZeRO(论文)citeturn1search0★★★★★训练万亿参数的关键内存思想;Infra 必读L2(小模型实验验证 stage 思想)+ 配合 DeepSpeed 文档citeturn1search1
Megatron-LM(模型并行)citeturn4search0★★★★★张量并行的经典;理解通信插入点L2(小规模模拟/最小并行实验)
FlashAttention(IO-aware Attention)citeturn2search0★★★★★推理/训练速度核心瓶颈之一;长上下文时代仍关键L2(对比前后吞吐、kernel 时间)
vLLM / PagedAttention(KV cache 管理)citeturn2search2turn2search6★★★★★服务端吞吐与显存的关键系统论文L1(跑通并做吞吐-延迟-显存对照)
DDPM(扩散模型)citeturn5search1★★★★生成模型主流路线;也能练 profiling 与显存优化L2(小数据从零训趋势)或 L1(Diffusers 跑通)citeturn15search2
Scaling Laws(Kaplan)citeturn7search2★★★★解释“算力为何决定路线”;帮助你设定现实目标L2(复现实验可用更小模型验证趋势)
Chinchilla(Compute-optimal)citeturn7search3★★★★让你理解“数据/Token 规模”对训练的决定性L2(趋势理解 + 小规模验证)

12 个月详细计划(按月 + 按周,含三种强度)

三种强度模板(你只需要选一个执行)

  • 保守强度(10–12h/w):目标仍是“双修”,但把范围缩到“理解原理 + L1 复现 1 篇 + Infra 小实验做核心项”;分布式多卡实验改为“单卡理解 + 配置阅读 + 小规模验证”。
  • 标准强度(20h/w,默认):本报告主体计划;目标是“L1/L2 复现 ≥2 篇 + Infra 核心实验全覆盖 + 可投稿雏形”。
  • 激进强度(30–40h/w):适合你有强动机且时间充裕;可以增加一个“真实多卡扩展曲线项目”(DDP/FSDP2/ZeRO)并把第三阶段冲到 workshop/short paper 投稿。

无论哪种强度,我都坚持“四类任务刚性配比”(论文/Infra/数学补缺/工程习惯),只是规模不同。

年度时间线(Mermaid Gantt)

gantt
  title 12个月主线时间线(标准20h/w)
  dateFormat  YYYY-MM-DD
  axisFormat  %m

  section 第一阶段:充分认识(W1-10)
  训练闭环+误差分析+最小Profiler :a1, 2026-03-24, 70d
  数学唤醒(训练相关最小集)     :a2, 2026-03-24, 70d
  论文阅读模板与三遍阅读法        :a3, 2026-04-07, 56d

  section 第二阶段:复现/调试+Infra入门(W11-30)
  L1复现:微调预训练模型(2个任务) :b1, 2026-06-02, 140d
  Infra核心:DDP/FSDP2/AMP/ckpt     :b2, 2026-06-02, 140d
  推理入门:ONNX/ORT + vLLM对比     :b3, 2026-07-01, 120d

  section 第三阶段:实验与论文(W31-52)
  研究问题+强基线+消融              :c1, 2026-10-01, 120d
  写作+开源+投稿(workshop/short)  :c2, 2026-11-01, 90d

标准强度(20h/w)按月+按周计划表

记号:W1–W4 表示当月四周核心任务(你可按自然周滑动)。每月都包含“科研产出 + Infra 实验 + 工程复现记录”。
月份本月主目标W1W2W3W4(本月交付物/评估)
M1先跑通训练闭环,不死磕 Docker安装 PyTorch(必要时 CUDA None)、建立 repo 模板。citeturn18search10跑通 CIFAR10/MNIST baseline(含曲线)。citeturn18search3最小数学:推导 softmax+CE 梯度;写数值稳定实现Keshav 三遍阅读法 + 第一篇论文第1遍笔记citeturn20search3(交付:baseline repo + report.md;通过标准见文末)
M2训练技巧 + Profiler 入门加入 AMP 对照实验citeturn1search2加入 checkpointing 对照实验citeturn1search3torch.profiler 跑一次 traceciteturn3search2写“训练排错树 + 性能瓶颈报告”(交付:实验对比表 + trace)
M3进入 L1 复现:微调一个预训练模型(NLP 优先)选任务:文本分类/QA 二选一;准备数据管线(HF Datasets)citeturn16search1用 HF fine-tune 教程跑通微调citeturn0search1加入 PEFT/LoRA 微调对照citeturn15search3turn5search3交付:L1 复现报告 #1(指标、差异、误差分析)
M4分布式训练认知:DDP/FSDP2(有多卡则实做)读 DDP 原理与文档,写最小 DDP 脚本citeturn0search2多卡:DDP 吞吐曲线;单卡:模拟通信/进程组citeturn9search1学 FSDP2 教程并跑通示例citeturn4search3交付:DDP vs FSDP2 显存/吞吐对照报告
M5ZeRO/DeepSpeed 进阶(内存优化主线)读 ZeRO 论文摘要/方法与 stage 直觉citeturn1search0按文档理解 stage0–3 差异citeturn1search1跑 DeepSpeed ZeRO 教程/最小项目citeturn9search3turn9search2交付:ZeRO stage 对照表 + 复现配置说明
M6推理系统入门:KV cache/vLLM + ONNX读 vLLM/PagedAttention 论文并跑 vLLM demociteturn2search2turn2search6做吞吐-延迟-显存对照导出 ONNX 并用 ORT 推理citeturn3search0turn3search1交付:推理对比报告(vLLM vs baseline + ORT)
M7高效注意力与长上下文:FlashAttention读 FlashAttention 原理(IO-aware)citeturn2search0若可用:集成 FA 做吞吐对照读 FlashAttention-2 的并行优化动机citeturn2search1交付:注意力层 profiling 报告(热点、优化收益、限制)
M8量化与低比特推理读 LLM.int8 与 outlier 机制citeturn8search0读 SmoothQuant(W8A8)citeturn8search1turn8search5读 GPTQ / AWQ(4-bit)citeturn8search2turn8search3交付:FP16 vs INT8 vs 4-bit 的指标/速度/显存对比表
M9TensorRT-LLM / 工业推理栈(可选但推荐)跑 TensorRT-LLM Quick Startciteturn2search7turn2search3构建一个 engine 并与 vLLM 对比用 Nsight Systems 做 end-to-end traceciteturn3search3交付:推理优化报告(engine 构建、吞吐、瓶颈)
M10研究启动:找一个“可发表小问题”选题:训练效率/推理效率/评测改进/数据清洗等(与 Infra 强相关)建强基线(2–3个)并统一评测做 3–6 个消融实验交付:研究计划书 + 初版结果表
M11写论文草稿 + 开源规范写方法与实验部分;补全图表与误差分析按 PWC checklist 补齐仓库citeturn17search3按 NeurIPS checklist 自检透明与复现citeturn20search2交付:论文 v0.8 + 可复现 repo v1
M12投稿与迭代(workshop/short paper 优先)选择 venue(workshop/short)并调整叙述增强基线/补实验或补限界复现审查:一键复跑 + 结果一致性交付:投稿版本 + release tag + 实验追踪(MLflow/W&B)citeturn20search0turn20search1

保守/激进强度如何改动(不改方向,只改规模)

我建议你把“同一套路线”按规模伸缩,而不是换路线:

  • 保守(10–12h/w):M4–M6 把“多系统对比”压缩成“跑通 + 读懂 + 写清楚差异”;M7–M9 只选 FlashAttention 或 量化 或 vLLM 三者之一做深入;第三阶段以 workshop 为目标,实验规模缩小但把“对照/消融/开源”做完整。
  • 激进(30–40h/w):在 M4–M6 追加一个“扩展效率曲线项目”(至少 2–4 GPU),把 DDP/FSDP2/ZeRO 做到“吞吐随 GPU 数变化”的证据链;再加一个“推理工程项目”(vLLM + TensorRT-LLM + 量化)形成工程作品集。vLLM 论文报告其通过 PagedAttention 提升吞吐并减少 KV cache 浪费的核心动机适合做系统项目。citeturn2search2

第一周与第一个月任务清单与通过标准

默认仍假设每周 20 小时、单卡 GPU 可用;若 CUDA/驱动不稳定,第一周允许先 CPU 版本(CUDA None)跑通闭环。citeturn18search10

第一周(20h)务实任务清单

我把第一周目标压缩成一句话:跑通一个可复现训练闭环 + 留下可追溯证据。不要求 Docker、不要求分布式、不要求读完论文。

目标具体任务产出
Day1(3h)环境最小可运行按 PyTorch 官方安装页安装;若不需要/暂时不想折腾 CUDA,选择 CUDA: None。citeturn18search10env.md:Python/torch 版本、OS、GPU
Day2(4h)训练闭环 0→1跑 PyTorch 60min blitz 的训练流程(或等价脚本)。citeturn18search3train.py + 初版曲线(loss/acc)
Day3(3h)可复现与记录习惯固定 seed、记录依赖;建立 configs/runs/ 结构;写 README 一键运行命令repo 可复跑(同趋势)
Day4(4h)数学最小集(训练相关)推导 softmax+CE 梯度;实现 log-sum-exp 稳定 softmax;用数值例子验证math_note.md + 单元测试
Day5(3h)性能最小认知用 torch.profiler 跑一次 trace 看热点算子citeturn3search2profile.md:热点算子与初步推断
Day6(2h)论文阅读模板读 Keshav 三遍阅读法并建立模板citeturn20search3paper_notes/template.md
Day7(1h)复盘与下周计划复盘本周卡点,写下周唯一目标(例如“把 baseline 提升 X 或复现一篇 L1 微调”)weekly_review.md

第一周通过标准(硬指标)
1)别人按 README 在干净环境能跑通并得到相同趋势曲线;2)你能用 5 句话解释“loss 为什么下降、何时过拟合、你如何发现”;3)你至少找到一个性能热点并写下可验证优化假设。citeturn3search2

第一个月里程碑与评估作业(M1)

  • 里程碑1(第2周末):训练闭环稳定(至少完成 3 次不同超参实验),并用 MLflow 或 W&B 任一工具记录对照。citeturn20search0turn20search1
  • 里程碑2(第3周末):完成 AMP 或 checkpointing 的一次对照实验并解释显存/速度变化(允许只做其中一个)。citeturn1search2turn1search3
  • 里程碑3(第4周末):完成一篇论文“第一遍阅读”笔记(推荐 ResNet 或 Transformer)。citeturn6search2turn6search0

M1 评估作业题目(可直接放进 GitHub 作品集)
“同一模型在 FP32 vs AMP vs Activation Checkpointing 下的三方对比:收敛曲线、吞吐(samples/s)、显存峰值(GB)、以及推断瓶颈(Profiler 证据)。”(AMP 与 checkpointing 依据 PyTorch 官方文档执行。citeturn1search2turn1search3)

前三个月总评估(你应该达到的水平)

  • 3 个月末你应具备的科研能力:能按三遍阅读法读懂并复述一篇经典论文的贡献与实验设计,并完成至少 1 次 L1 微调复现(Hugging Face fine-tune 流程)。citeturn20search3turn0search1
  • 3 个月末你应具备的 Infra 认知:知道 DDP/FSDP2/ZeRO/AMP/ckpt 分别解决什么、代价是什么,并至少在单卡上完成 AMP 或 checkpointing 的实证对照;有条件则完成 DDP 的多卡实测。citeturn0search2turn4search3turn1search0turn1search2turn1search3

这份计划的核心“务实性”在于:我把一年目标拆成了可检验的交付物,并用官方文档与原始论文把每个关键节点“钉死”(DDP/FSDP2/ZeRO/AMP/FlashAttention/vLLM/ONNX/TensorRT-LLM),同时用 BERT 官方仓库与 HF 文档明确划清“微调 vs 从零训练”的现实边界,避免你走弯路。citeturn0search0turn0search1turn4search3turn2search2turn2search7
deep-research-report (2).md

none
最后修改于:2026年03月23日 19:36

添加新评论