内容简介

这是三张 AI 学习地图中的第二张(三张的总览与分工见《AI 全栈学习地图》)。第一张《AI-Infra 工程师学习地图》面向为模型搭建训练与推理系统的工程师;这一张面向做模型的人——AI 算法工程师;《AI 应用工程师学习地图》面向在模型之上做产品的 AI 应用工程师。三张地图各自独立,边界与重叠部分在每张地图的末尾说明。

“算法工程师”这个词在大模型时代的含义已经变了。十年前它指的是会推导 SVM 对偶、会调 XGBoost 参数的人;今天它指的是能读懂一篇模型论文并复现它、能为一个基座模型设计后训练配方并把它评测清楚、能判断一个结构改动值不值得付出硬件代价的人。这张地图按今天的含义组织,但不跳过昨天的基础——因为奖励模型本质上是一个分类器,数据过滤靠的是小模型打分,评测方法论来自经典机器学习。

地图回答三个问题:

一个模型从数据到上线经过哪些阶段?每个阶段需要掌握什么?按什么顺序学?

这张地图描述的是知识结构,它把知识组织成八层加一个横切,每层说明回答什么问题、包含哪些概念、为什么放在那个位置。已经写成文章的部分:L0–L2 各有一篇导读(学到什么深度、在哪里用到、怎么检验),L3 是一个六篇的系列,L4 引用《Transformer 与 LLM:结构、算量与数值》(十二篇,后四篇是面向本层的预训练补篇)——它是两张地图的交点;L5 是《后训练:从 SFT 到可验证奖励》(八篇)。文章目录在本文末尾

需要什么 具体是什么
一套数学 线性代数、概率统计、信息论、微积分与优化——读懂公式、推导 loss 的程度
一套工具 Python 与科学计算栈、PyTorch 的使用、Hugging Face 生态、实验跟踪
两代基础 经典机器学习的概念与评估方法;深度学习的反向传播、正则化与优化器
一类模型 Transformer / LLM:结构、tokenization、scaling law、预训练与数据工程
一套配方 后训练:SFT、偏好对齐、可验证奖励的强化学习、蒸馏、评测
一层效率 推理侧的算法:解码策略、投机解码、量化、KV 压缩
一个扩展 多模态:视觉语言模型、扩散模型、语音
一种方法 实验方法论:假设、消融、可复现、读论文与复现

两张图:模型生命周期与学习路径

与 Infra 地图一样,理解这个领域需要两张图:一张描述模型怎么被造出来,一张描述人怎么学会造它。两者的顺序不同。

第一张图:模型生命周期视图

一个大模型从数据到上线的流程,以及每个阶段产出什么、算法工程师在其中做什么决定:

%%{init: {"flowchart": {"wrappingWidth": 300}}}%%
flowchart TB
    DATA["`**数据工程**
采集 · 清洗 · 去重 · 质量过滤
配比 · 合成数据 · 分词器训练`"]
    PRE["`**预训练**
结构选择 · scaling law
训练配方 · 稳定性 · 长上下文扩展`"]
    SFT["`**监督微调 SFT**
指令数据构造 · chat template
全量 / PEFT(LoRA 一族)`"]
    RL["`**偏好对齐与强化学习**
奖励模型 · PPO / GRPO · DPO 一族
可验证奖励 · 推理模型`"]
    EVAL["`**评测**
benchmark · LLM-as-judge · Arena
污染检测 · 能力分解`"]
    COMP["`**压缩与高效推理(算法侧)**
量化 · 蒸馏 · 投机解码 · KV 压缩`"]
    DEPLOY["`**部署与线上**
推理引擎 · 服务 · 监控
(Infra 与应用地图的范围)`"]
    DATA --> PRE --> SFT --> RL --> EVAL --> COMP --> DEPLOY
    EVAL -. "不达标:回到数据或配方" .-> SFT
    DEPLOY -. "线上数据回流:bad case · 偏好 · 蒸馏教师" .-> DATA

    classDef algo fill:#fff7e0,stroke:#c98a00,stroke-width:2px,color:#222
    classDef other fill:#f7f7f7,stroke:#c8c8c8,stroke-width:1px,color:#666
    class DATA,PRE,SFT,RL,EVAL,COMP algo
    class DEPLOY other

两个回边是这张图的重点:评测不达标回到数据或配方,是算法工程师日常工作的主循环;线上数据回流到数据工程,是模型迭代的外循环。一个只会”跑一次训练”的人不是算法工程师;算法工程师的能力体现在这两个循环里——知道评测结果差在哪一类能力、该改数据还是改配方、改了之后怎么用最小的实验验证。

这张图是生产流程,不是学习顺序。按它从”数据工程”开始学,第一天就要面对”什么数据对模型好”这个整个领域最难的问题。

第二张图:学习路径

学习路径分八层加一个横切。前四层是基础(L0–L3),任何方向都要;L4 是核心;L5–L7 是三个可以并行的方向。层的顺序就是推荐的学习顺序。

主题 回答的问题 文章
L0 数学基础 公式里的每个符号是什么意思?loss 为什么这样写? 导读
L1 编程与工具 怎么把一个想法变成一次能跑的实验? 导读
L2 机器学习基础 什么是学习?怎么知道模型学会了而不是背下来了? 导读
L3 深度学习基础 梯度怎么流?为什么深了就难训?CNN 与 RNN 各解决了什么、留下了什么? 系列(6 篇)
L4 LLM 核心 Transformer 为什么赢?tokenizer、scaling law 与预训练数据各决定了什么? 04 系列(12 篇,共享;09–12 为预训练补篇)
L5 后训练 一个基座模型怎么变成一个能对话、会推理、符合偏好的模型?怎么证明它变好了? 系列(8 篇)
L6 高效推理与压缩(算法侧) 不改硬件,怎么让同一个模型更快、更小、更便宜? 待写
L7 多模态 图片、视频、语音怎么进入语言模型?图像生成为什么是另一套数学? 待写
横切 实验方法论 怎么用有限的算力得出可信的结论? 待写
选修 系统内部 | 应用层 推理引擎与训练框架怎么实现(→ Infra 地图)| Agent、RAG 怎么搭(→ 应用地图)

两张图的叠加

生命周期阶段 主要用到的层
数据工程 L4(tokenization、数据配比)· L2(用分类器过滤数据)· 横切
预训练 L4 · L3(优化器、稳定性)· L0(scaling law 的拟合)
SFT L5 · L1(Hugging Face 生态)
偏好对齐与 RL L5 · L0(概率、KL、策略梯度)· L2(奖励模型是分类器)
评测 L5 · L2(评估方法论)· 横切
压缩与高效推理 L6 · L0(量化误差、投机解码的分布等式)
多模态 L7 · L3(CNN、ViT)· L4

逐层说明

L0 数学基础

公式里的每个符号是什么意思?loss 为什么这样写?

导读:《算法工程师的数学:读公式不卡壳的最小集》——四个分支各学到哪、在后面哪一层用到、八个公式自测。

目标不是学完数学系的课程,而是读公式不卡壳、推导 loss 不出错。四个分支各自在后面哪里用到,决定了该学到什么深度:

分支 概念 在哪里用到
线性代数 矩阵乘法与形状规则、向量空间与内积、范数(L1 / L2 / Frobenius)与余弦相似度、特征值与 SVD、张量 一切;SVD 是 LoRA 的初始化与低秩直觉;范数是权重衰减与量化误差;余弦相似度是 embedding 检索
概率与统计 随机变量、条件概率、贝叶斯公式、联合与边缘分布、伯努利 / 二项 / 高斯 / 均匀分布、最大似然 MLE 与最大后验 MAP、置信区间、概率图模型的基本记号 语言模型就是 \(p(x_t \mid x_{<t})\);交叉熵是 MLE;DPO 的推导从 Bradley-Terry 模型开始;评测要给置信区间
信息论 熵、交叉熵、KL 散度、互信息 训练 loss 是交叉熵;RLHF 与 DPO 的约束项是 KL;蒸馏的目标是 KL;投机解码的接受率是分布之差
微积分与优化 导数、偏导、梯度、链式法则、Jacobian;凸性、梯度下降、随机梯度下降、学习率、鞍点 反向传播是链式法则;优化器(L3)建立在 SGD 之上;策略梯度定理需要对期望求导

优化算法里的 Momentum、Adam / AdamW 放在 L3 深度学习里讲,因为它们的设计动机(梯度噪声、稀疏梯度、权重衰减与 L2 的区别)要到训练神经网络时才看得见。

L1 编程与工具

怎么把一个想法变成一次能跑的实验?

导读:《算法工程师的工具箱:从一个想法到一次能跑的实验》——六层工具各用到什么程度、显存的账、五件做出来的事。

工具 掌握到什么程度 说明
Python 语法、面向对象、类型标注、装饰器、生成器、异常、多进程 / 多线程、asyncio 的基本用法 会写、会读别人的训练代码即可;语言机制与运行时内部(GIL、内存、C 扩展)属于 Infra 地图 01
NumPy ndarray、broadcasting、矩阵运算、轴与 reshape PyTorch Tensor 的语义与它一致,先在 NumPy 上建立”形状直觉”
Pandas / Polars DataFrame、清洗、聚合、join 数据工程与评测结果分析的日常工具
Matplotlib / Seaborn 画 loss 曲线、分布、消融对比图 看曲线是判断训练是否正常的第一手段
PyTorch(使用层) Tensor、Autograd、nn.Module、Dataset / DataLoader、Optimizer、AMP 混合精度、DDP / FSDP 的启用方式 会用、知道每个 API 在做什么;内部实现(Dispatcher、Autograd 引擎、分布式通信)属于 Infra 地图 03
Hugging Face 生态 transformersdatasetstokenizerspefttrlaccelerate 当前算法工作的事实标准工具链;读它们的源码是学后训练最快的路
GPU 直觉 GPU 有算力与带宽两个上限、显存分几块(权重 / 激活 / 优化器状态 / KV)、为什么 batch 大才快、CUDA kernel 与 stream 是什么 能看懂 profiler 输出、能解释 OOM 的来源即可;写 kernel 属于 Infra 地图 05
实验工具 W&B / MLflow / TensorBoard 记录实验;Hydra / 配置文件管理超参数;git 管代码与配置 实验方法论(横切)的物质基础

L2 机器学习基础

什么是学习?怎么知道模型学会了而不是背下来了?

导读:《LLM 时代还要学经典机器学习吗:只讲它在哪里重现》——十三个经典概念在 LLM 上的重现、奖励模型 = 逻辑回归、MinHash 的概率。

这一层在大模型时代常被跳过,但它提供的是方法论而不是具体模型。训练集 / 验证集 / 测试集的划分、过拟合与欠拟合、偏差-方差权衡、正则化、评估指标——这些概念在 LLM 上一个不少地重现:benchmark 污染就是测试集泄漏,奖励模型过拟合就是 reward hacking 的一种来源。

主题 概念 LLM 时代为什么还需要
基础概念 训练 / 验证 / 测试集、过拟合与欠拟合、偏差-方差、正则化、标准化 所有评测与配方决策的方法论来源
监督学习 线性回归、Ridge / Lasso、逻辑回归、朴素贝叶斯、SVM、KNN、决策树、随机森林、梯度提升、XGBoost / LightGBM 逻辑回归是奖励模型与 DPO 的数学骨架;梯度提升树仍是表格数据与数据质量打分的首选
无监督学习 K-Means、DBSCAN、PCA、embedding 聚类 数据去重与多样性分析、embedding 空间的可视化
特征工程 特征选择与抽取、缩放、编码 在深度学习里被”表示学习”取代,但数据工程里的质量特征仍靠它
评估 分类:Accuracy、Precision / Recall、F1、AUC;回归:MSE、RMSE、MAE;交叉验证、统计显著性 评测集怎么划、怎么给置信区间、A/B 差异是否显著
工具 scikit-learn 快速训练一个数据过滤器、一个质量分类器

学到”能解释每个概念、能用 scikit-learn 跑通一个分类任务”即可,不需要手推 SVM 对偶。

L3 深度学习基础

梯度怎么流?为什么深了就难训?CNN 与 RNN 各解决了什么、留下了什么?

系列:《深度学习基础:从反向传播到残差》(六篇)——反向传播 · 初始化 / 归一化 / 残差 · 优化器 · 正则化与泛化 · CNN 到 ViT · RNN 到 attention。每篇推导 + 算账 + 一个 CPU 上能跑的实验。

主题 概念 说明
基本单元 感知机、MLP、激活函数(ReLU、GELU、SiLU / Swish)、前向传播、反向传播 反向传播要能手推一个两层网络;这是理解一切训练现象的前提
正则化与归一化 Dropout、weight decay、BatchNorm、LayerNorm、RMSNorm、Pre-Norm 与 Post-Norm LayerNorm / RMSNorm 与 Pre-Norm 是 Transformer 的标准件;BatchNorm 为什么在序列模型里不好用
优化器 SGD、Momentum、Adam / AdamW、学习率调度(warmup、cosine、WSD)、梯度裁剪、梯度累积 AdamW 的两个矩是每参数 8 字节状态的来源;warmup 是训练稳定性的第一道防线
初始化与稳定性 Xavier / Kaiming 初始化、梯度消失与爆炸、残差连接 残差连接是”深了也能训”的答案,Transformer 的每一层都靠它
CNN 卷积、池化、感受野、feature map;LeNet → AlexNet → VGG → ResNet 学到 ResNet 为止:残差是关键遗产;ViT 把卷积换成了 patch embedding,但 CNN 的直觉仍在多模态里有用
RNN 序列建模、长距离依赖、梯度在时间上的消失;RNN → LSTM → GRU;seq2seq 与 attention 的起源 理解 RNN 的失败才理解 attention 为什么赢:并行性与长依赖
训练实践 混合精度(AMP)的用法、显存的四个去向、checkpoint 的保存与恢复、多卡 DDP 的启用 会用即可;原理与大规模实现属于 Infra 地图 03、07

L4 LLM 核心

Transformer 为什么赢?tokenizer、scaling law 与预训练数据各决定了什么?

这一层是地图的中心,也是与 Infra 地图的交点。Transformer 的结构、attention 变体、位置编码、MoE、数值格式、量化与投机解码的数学,在《Transformer 与 LLM:结构、算量与数值》的前八篇里已经写完——那个系列从”每一步算多少、读多少、存多少”的角度讲结构,正是算法工程师判断”这个结构改动值不值”所需要的账;它的第九到十二篇(预训练补篇)用同样的算账方法覆盖本层的另一半:tokenizer、scaling law、数据工程、训练配方。这里列出本层的全部内容,并标出各在那个系列的哪一篇:

主题 概念 在 04 系列
NLP 基础 分词:BPE / WordPiece / SentencePiece / byte-level BPE,词表大小的取舍,多语言与代码的分词;传统表示:one-hot、词袋、TF-IDF;n-gram 语言模型与困惑度;词向量:Word2Vec(CBOW / Skip-gram)、GloVe → 上下文相关表示(ELMo、BERT) 第九篇:BPE / byte-level / 预分词、词表大小的账(2Vd、lm_head 占比、logits 显存)、压缩率与每字符成本、中文 / 代码 / 数字;n-gram、困惑度、词向量的一页史也在那里
Transformer 结构 encoder / decoder / decoder-only 三种形态;self-attention 与 cross-attention;MHA → MQA → GQA → MLA;位置编码:绝对、相对、RoPE、ALiBi、长上下文外推(PI、YaRN、NTK);FFN 与 SwiGLU;Add & Norm 与 Pre-Norm;MoE 的路由、专家粒度、负载均衡、共享专家;FlashAttention 作为 attention 的精确等价实现(不是新算法) 第一、三、四、五篇
Scaling law Kaplan 等 2020 与 Chinchilla(Hoffmann 等 2022):loss 随参数量、数据量、算力的幂律;计算最优的 \(D / N \approx 20\);数据受限时的多 epoch;推理成本纳入后的”过训练”(Llama 3 的 15T token);用小模型外推大模型 第二篇给出 \(6ND\);第十篇:Kaplan 与 Chinchilla 的幂律与分歧、最优 N/D 的推导、推理成本纳入后的过训练、数据受限的有效 token、用小模型外推的实验设计与常见错误
预训练 目标函数(next-token prediction、MTP);数据工程:采集、清洗、去重(MinHash / 精确)、质量过滤(分类器、困惑度)、配比与多阶段课程、合成数据、退火阶段;训练配方:batch 与学习率的 scaling、warmup、WSD;训练稳定性的算法侧:loss spike 的归因、z-loss、QK-norm、初始化;长上下文的继续预训练 第十一篇:漏斗(240T → 15T)、Gopher / C4 规则与模型打分、MinHash 的数学、配比 → epoch、退火与合成数据、污染检测;第十二篇:目标函数与 MTP、AdamW / batch / lr / warmup 的依据、cosine 与 WSD、稳定性的三个机制与六个开关、长上下文阶段;数值与混合精度在第六篇;工程侧(checkpoint、容错、MFU)属于 Infra 地图 07
经典模型 GPT-2 / GPT-3 / GPT-4 系列的公开信息;Llama 1–4;Qwen 2 / 2.5 / 3;Mistral 与 Mixtral;DeepSeek-V2 / V3 / R1;Kimi K2;Gemma。读技术报告时关注:结构选择、数据规模与配比、训练配方、评测方法 第一、三、五篇以 Llama-3 与 DeepSeek-V3 为基线;第九到十二篇以两者的技术报告为训练侧的对象,第十篇有十几个模型的 D/N 对照表

读 04 系列时,算法工程师的收获与 Infra 工程师相反:Infra 工程师从中知道要优化什么,算法工程师从中知道自己的每个结构决定在硬件上花多少钱——GQA 的组数、MLA 的压缩维、专家的粒度、上下文长度,每一个都对应成本表上的一格。

L5 后训练

一个基座模型怎么变成一个能对话、会推理、符合偏好的模型?怎么证明它变好了?

这是当前算法工程师工作量最集中的一层,也是变化最快的一层。对应的系列是《后训练:从 SFT 到可验证奖励》(8 篇:SFT、偏好数据与奖励模型、在线 RL、离线 RL、推理模型与 RLVR、Agent 与工具调用的 RL、蒸馏、评测),以 RLHF 三件套(策略、奖励、参考)为组织轴。按流程分五段:

概念 说明
SFT 指令数据的构造(人工、self-instruct、蒸馏自强模型)、多轮对话格式与 chat template、loss mask(只算回复部分)、packing;全量微调 vs 参数高效微调:LoRA、QLoRA、DoRA、Prefix-Tuning / P-Tuning、Adapter、OFT;灾难性遗忘与数据回放 LoRA 的参数量与计算形态在 04 系列第七篇;多 LoRA 服务属于 Infra 地图 08
偏好对齐 偏好数据(成对比较、打分、AI 反馈 RLAIF);奖励模型:Bradley-Terry、pairwise loss、过拟合与 reward hacking;在线 RL:PPO(策略、价值、参考模型、KL 惩罚、GAE)、GRPO(组内相对优势,去掉价值模型)、RLOO、REINFORCE++;离线 / 直接偏好优化:DPO、IPO、KTO、ORPO、SimPO;拒绝采样 + SFT(Llama 2 / 3 的做法,与投机解码里的拒绝采样同名不同物) 每种方法各改了 RLHF 三件套(策略、奖励、参考)中的哪一件,是理解这一族的钥匙
推理模型与 Agent 可验证奖励的强化学习(RLVR:数学答案、代码测试);DeepSeek-R1 的 GRPO 配方与”aha moment”;长思维链、test-time compute scaling;过程奖励模型 PRM 与结果奖励 ORM;推理长度的控制;多轮工具调用的 RL:环境、轨迹数据、工具输出的 mask、延后的奖励、异步 rollout 2025 年后训练的主线;RL 训练的 rollout 与训练如何共享 GPU、异步 rollout 的实现属于 Infra 地图的选修
蒸馏 logits 级蒸馏(KL 到教师分布)、序列级 / 数据蒸馏(用教师生成 SFT 数据,R1 蒸馏小模型的做法)、on-policy 蒸馏;蒸馏与量化的组合 蒸馏是把大模型能力搬进小模型的主要手段,也是”线上回流”回边上的一站
评测 通用 benchmark(MMLU、GSM8K、MATH、HumanEval、IFEval、MT-Bench 等)与它们各自测什么;LLM-as-judge 的偏差(位置、长度、自我偏好);人类偏好 Arena;污染检测;能力分解与错误分析;评测集自建 评测是”回到数据或配方”那条回边的起点;不会评测就不知道改什么

工具层:trl、OpenRLHF、verl 的使用;知道它们把 rollout(推理)与训练(反向)怎么拼起来,但实现内部属于 Infra。

L6 高效推理与压缩(算法侧)

不改硬件,怎么让同一个模型更快、更小、更便宜?

推理优化分两半:算法侧改变模型或解码过程,系统侧改变调度与内存管理。这张地图只放前者;后者(PagedAttention、continuous batching、chunked prefill、PD 分离)是 Infra 地图 08 的主体,算法工程师只需知道它们存在、知道自己的模型结构对它们意味着什么(比如 MLA 让 KV 变小、MoE 让 batch 内的 GEMM 变碎)。

主题 概念 在 04 系列
解码策略 greedy、beam search、temperature、top-k / top-p / min-p、重复惩罚、结构化输出(约束解码);采样对评测结果的影响
投机解码 小模型起草、大模型验证、拒绝采样保证分布一致;期望接受长度;草稿来源:独立小模型、Medusa、EAGLE、MTP、n-gram 第七篇给出数学与收益区间
量化 PTQ:GPTQ、AWQ、SmoothQuant、FP8、W4A16 vs W8A8;QAT;KV cache 量化;格式与工具:GGUF(llama.cpp)、bitsandbytes、AutoGPTQ / AutoAWQ——它们是格式与实现,不是新算法 第七篇给出原理与字节数;kernel 实现属于 Infra 地图 05
结构级压缩 剪枝与结构化稀疏(2:4)、层裁剪与深度缩放、MLA 一类 KV 压缩结构、KV eviction(H2O、StreamingLLM) 第三篇给出 KV 的账
长上下文推理 位置外推方法的推理侧、稀疏 attention(NSA、MoBA)、上下文压缩 第四篇

L7 多模态

图片、视频、语音怎么进入语言模型?图像生成为什么是另一套数学?

多模态有两条几乎独立的线:理解(把其他模态送进 LLM)与生成(扩散模型)。前者是 LLM 的扩展,后者是另一套数学。

线 主题 概念
CV 基础 任务与骨干 图像分类、目标检测、分割;CNN → ViT(patch embedding、位置编码);对比学习:CLIP、SigLIP——视觉编码器的来源
理解 视觉语言模型 VLM vision encoder(ViT)、connector(MLP projector、2×2 merge / pixel-shuffle、Perceiver resampler / Q-Former)、LLM decoder;decoder-only 注入 vs cross-attention 注入;固定分辨率、tile、原生动态分辨率;多模态位置编码(M-RoPE);视频(帧采样、时间合并);对齐训练的阶段(先训 connector、再全量);代表模型:LLaVA、Qwen-VL 系列、InternVL、Llama 3.2 Vision
理解 语音与全模态 ASR(Whisper 的 encoder-decoder)、TTS、语音 LLM(音频 encoder + LLM)、全模态模型(Qwen2.5-Omni、GPT-4o 一类)的统一输入输出
生成 扩散模型 前向加噪与反向去噪、DDPM、DDIM 与采样加速、score matching 与 flow matching 的统一视角、classifier-free guidance;U-Net → DiT(扩散 Transformer);VAE 与 latent diffusion;文本条件(CLIP / T5 文本编码器);代表模型:Stable Diffusion 1.x / SDXL / SD3、FLUX;视频生成(Sora 一类,时空 patch)
生成 自回归生成与统一模型 图像 token 化(VQ-VAE)、自回归图像生成、理解与生成统一的模型

VLM 的成本结构——一张图等于多少 token、encoder 与 decoder 各花多少、image token 的 KV——在 04 系列第八篇里算过。扩散模型的成本结构(无 KV cache、compute-bound、多步迭代)与 LLM 完全不同,两张地图都还没有为它单独写系列。

横切:实验方法论

怎么用有限的算力得出可信的结论?

这是算法工程师区别于”会调 API 的人”的核心能力,不属于任何一层,对每一层都适用:

能力 内容
提假设 把”我觉得这样会好”变成一个可以被证伪的陈述:改什么、预期哪个指标变、变多少
小规模先行 用小模型、小数据做消融(ablation),一次只改一个变量;知道哪些结论能随规模外推、哪些不能(scaling law 的实验设计)
控制随机性 随机种子、数据顺序、非确定性 kernel;多 seed 报告均值与方差;知道差异多大才算显著
记录与复现 每次实验的代码版本、配置、数据版本、环境全部可追溯;实验跟踪工具;能复现三个月前的结果
读论文与复现 从论文里提取”改了什么、和谁比、用什么评”;先复现 baseline 再复现方法;对报告数字保持怀疑(评测设置、污染、挑选)
看曲线 loss、梯度范数、学习率、评测指标随步数的曲线;能从曲线形状判断学习率过大、数据有问题、过拟合开始

选修

  • 系统内部:推理引擎(调度、KV cache 管理、PD 分离)、训练框架(并行策略、checkpoint、容错)、GPU kernel、集合通信的实现。算法工程师用它们、不改它们;需要改的时候,走 Infra 地图
  • 应用层:Prompt 工程、RAG、工具调用、Agent 框架、评测应用效果。它们在模型之上,属于第三张地图
  • 经典 NLP 任务与其他方向:命名实体识别、句法分析等传统 NLP 任务,以及搜索、推荐、广告等有自己一套模型与评测体系的方向,不在这张地图上。

与 AI-Infra 地图的关系

两张地图有大量重叠的名词——Python、PyTorch、CUDA、Transformer、LoRA、量化、混合精度、DDP / FSDP。重叠是正常的:两类工程师面对同一个系统。分工用一条规则说清:

同一个主题,算法地图回答”为什么这样建模、效果如何”,Infra 地图回答”在硬件上花多少钱、系统怎么实现”。

重叠主题 算法地图负责 Infra 地图负责 Infra 系列
Python 会写、会读训练代码 语言机制、运行时、内存、C 扩展、交付 01
PyTorch Tensor / Autograd / Module / DataLoader / AMP / DDP 的用法 Dispatcher、Autograd 引擎、编译、分布式通信栈的实现 03
GPU / CUDA 算力与带宽两个上限、显存去向、为什么 batch 大才快 CUDA 编程模型、访存、Tensor Core、Triton、FlashAttention 的实现 05
Transformer 结构 各结构的建模动机与效果 各结构的参数量、FLOPs、KV、通信量 04(共享)
量化 选哪种方法、精度损失多大 字节数与收益区间、量化 kernel 04 · 05
LoRA 微调配方、秩与目标矩阵的选择 参数与状态的账、多 LoRA 服务的 kernel 与调度 04 · 08
投机解码 草稿模型的训练、接受率 加速比的数学、引擎中的实现 04 · 08
混合精度 / FP8 用法、对训练稳定性的影响 格式、累加精度、数值丢失的位置 04
分布式训练 DDP / FSDP 的启用、并行度对配方的影响 并行策略、checkpoint、容错、MFU 03 · 07
推理系统机制 知道存在;自己的结构对它们意味着什么 PagedAttention、continuous batching、chunked prefill、PD 分离 08
RL 后训练 算法:奖励、目标函数、配方 rollout 引擎与训练器的共置、权重同步 选修
数据管线 数据配比、质量、去重的决策 tokenization 离线化、流式加载、打包的实现 07

一个常见的误分类:把 PagedAttention、continuous batching、chunked prefill、PD 分离归入”推理算法”。它们不是算法,是推理引擎的调度与内存管理机制,模型不知道它们的存在,输出分布也不因它们改变。算法侧的推理优化只有 L6 列出的那些——改变模型或改变解码过程的方法。

04 系列是两张地图共享的唯一系列,因为它讨论的对象——模型作为一个计算对象的成本——恰好是两类工程师对话的语言。

已有的文章与系列

文章 / 系列 篇数
L0 算法工程师的数学:读公式不卡壳的最小集 1
L1 算法工程师的工具箱:从一个想法到一次能跑的实验 1
L2 LLM 时代还要学经典机器学习吗:只讲它在哪里重现 1
L3 深度学习基础:从反向传播到残差 6
L4 Transformer 与 LLM:结构、算量与数值(与 Infra 地图共享;09–12 为预训练补篇) 12
L5 后训练:从 SFT 到可验证奖励 8

L0–L2 写成导读而不是系列:这三层有成熟的教材与课程,导读只回答”学到什么深度、在哪里用到、怎么检验学会了”。L3 起是原创系列。L6、L7 与横切待写。

按目标选择路径

目标 路径 说明
后训练(SFT / RLHF / 推理模型) L0 → L1 → L3 → L4 → L5 → 横切 当前需求最大的方向;L2 只补评估方法论
预训练与数据 L0 → L1 → L2 → L3 → L4(重 scaling law 与数据工程)→ 横切 门槛最高,算力决定一切;小规模实验设计是核心能力
多模态 L3(CNN、ViT)→ L4 → L7 → L5(多模态后训练) 理解线与生成线可以只走一条
推理效率(算法侧) L0 → L4 → L6 → Infra 地图 08 与 Infra 交界最深的方向,通常需要读两张地图
后端工程师转算法 L1(已有编程基础,补科学计算栈)→ L0 → L2 → L3 → L4 → 任选一个方向 数学是最大缺口,但按需补:先读 L4 遇到不懂的公式再回 L0

边界与说明

不在地图上的内容

  • 系统实现:推理引擎、训练框架、kernel、通信、集群调度。属于 Infra 地图。
  • 应用层:Prompt、RAG、Agent、编排框架、产品评测。属于应用地图
  • 搜索、推荐、广告、传统 NLP 任务:各自有独立的模型体系与评测体系,值得单独的地图。
  • 理论机器学习:泛化理论、优化理论、统计学习理论的系统课程。算法工程师用它们的结论,不做它们的研究。
  • 数学的系统课程:L0 只列出后面用到的部分,学到能读公式为止。

版本与时效

具体模型、benchmark 与后训练方法是这张地图上变化最快的部分:2023 年的主线是 SFT + PPO,2024 年是 DPO 一族,2025 年是可验证奖励的 RL。地图列出的是当前的主线,并会随之更新;不变的是结构——数据、预训练、后训练、评测、压缩这五段,以及”评测不达标回到数据或配方”这个循环。

关于”AI 算法工程师”

这张地图的目标是能读懂论文并复现、设计并验证一个训练配方、把结果评测清楚的工程师。研究员(提出新方法)与这条路径在 L4、L5 之后分叉:研究需要更深的数学与更多的失败实验,地图只送到分叉口。

最终目标

读完这张地图上的内容之后,面对一个基座模型和一个业务目标,读者应该能够沿着整条流水线追问下去:

追问 答案来自
这个模型的结构选择(GQA、MoE、上下文长度)各是为了什么?代价是什么? L4 · 04 系列
给它 1000 条业务数据,该 SFT 还是 DPO?全量还是 LoRA? L5
它在这个任务上”变好了”是真的吗?评测集有没有泄漏?差异显著吗? L5 · L2 · 横切
想让它会推理,奖励从哪里来?GRPO 还是 DPO? L5
部署时想快一倍、小一半,量化到多少位?投机解码有用吗? L6 · 04 系列
要让它看图,encoder 选什么?一张图占多少 token? L7 · 04 系列第八篇
这个结论在 1B 上成立,在 70B 上还成立吗? 横切 · L4 scaling law

三张地图不是为了覆盖更多名词,而是为了让 AI 系统里的三类人——造模型的、跑模型的、用模型的——知道自己站在哪里、隔壁在做什么。

本文由 arganzheng 创作,采用 CC BY 4.0 许可协议。在保留原文作者、署名以及完整原文链接(https://arganzheng.life/ai-algorithm-engineer-learning-roadmap.html)的前提下,欢迎各种形式的转载、翻译或商业引用。


COMMENTS

评论存放在 GitHub Discussions, 用 GitHub 账号登录即可发表,支持 Markdown。 想针对正文某句话说?选中那段文字,点浮出的「评论」即可划线评论;觉得哪里写错了,发表时勾上「同时提交 Issue」。 有人回复你时 GitHub 会按你的通知设置发邮件,不用守在这里。

×