前言:如何使用这本书
AI 工程师知识体系
从数学基础到大模型推理工程
——以华为 AI 岗机考为锚点的系统化教程
读者定位:计算机相关专业本科毕业生水平 结构:6 篇 · 26 章 · 4 个附录 性质:既可作为系统自学教材,也可作为求职笔试的针对性复习手册
关于本书的数据来源
本书的知识体系是自建的,但知识点的优先级来自真实数据。我们分析了 6 场华为 AI 岗机考的完整真题题解:
| 场次 | 岗位 | 难度 | 选择题 | 编程题 |
|---|---|---|---|---|
| 2026-08-05 | 暑期实习 AI 岗 | 中等 | 20 道 | 基站空间重叠区域识别、多 Agent 协作任务调度 |
| 2026-08-26 | 秋招第一场 AI 岗 | 中等 | —(原文只含编程题) | 运维任务收益最大化、多头注意力双向整数 RNN |
| 2026-09-02 | 国内 AI 岗 | 中等偏难 | 20 道(原文收录 12 道) | 滑动窗口注意力机制、全整型量化的矩阵乘法 |
| 2026-09-04 | AI 岗 | 中等 | 20 道(原文收录 10 道) | 时间序列数据清洗与特征评分、模型训练资源分配与时间优化 |
| 2026-09-09 | AI 岗 | 中等偏难 | 20 道(原文收录 10 道) | 动态 KV 缓存稀疏优化、CDN 分发服务器选址 |
| 2026-09-11 | AI 岗 | 中等 | —(原文只含编程题) | 端侧大模型动态权重剪枝管理器、文档片段相关性判定 |
可用于统计的样本:52 道选择题(含答案、难度、考点标签)+ 12 道编程题(含完整题面)。
由此得到的两个关键事实,决定了本书的篇幅分配:
- 学科配比:数学 19 题(36.5%,其中线性代数独占 12~13 题)> 机器学习 14 题(26.9%)> 大模型 12 题(23.1%)> 深度学习 7 题(13.5%)。
- 难度配比:入门 20 题、简单 17 题、中等 14 题、困难 1 题 —— 71% 的选择题是"入门 + 简单"。
重要
这两个数字说明:考试的分差不来自偏难怪题,而来自"基础知识是否真的成体系"。一个知识点如果只是背下结论、不知道它从哪来、和别的知识怎么连,就同时会在"定义题"和"计算题"上出错。这正是本书要解决的问题。
前言:为什么需要一本"知识体系"而不是"考点清单"
市面上的笔试资料大多是考点清单:列出考了什么、答案是什么、代码怎么写。清单很好用,但它有一个结构性缺陷 —— 它只告诉你"是什么",不告诉你"为什么",也不告诉你知识点之间的连接。后果是:
- 换个包装就认不出来。 同一个"余弦相似度",直接问你会算,包装成"RAG 语义检索匹配等级"你就可能犹豫;同一个"单位向量下
‖u−v‖² = 2 − 2cosθ",独立考你会推,放进向量检索的语境里你就想不起它。 - 细节题全靠运气。 编程题里 4/12 是"题面把公式写全,照着实现",分数全在边界、口径、舍入这些细节上。这些细节没有体系支撑时,只能靠临场记忆。
- 工程问题看不懂。 为什么
ResidualAdd + RMSNorm要融合成一个 kernel?为什么prefill算力受限而decode访存受限?不知道 GPU 的存储层级和 Roofline 模型,就只能死记结论。
因此本书采用三层内容结构,并在正文中用统一的方式标注:
| 层次 | 含义 | 在书中的角色 |
|---|---|---|
| 前置基础 | 题目没直接考,但不懂它后面就讲不通的内容(如向量空间公理化、IEEE 754、凸性判据、算术强度) | 每章开头的"前置知识检查"表 + 正文中的专门小节 |
| 核心知识 | 真实考试直接考查的内容(如秩-零化度定理、交叉熵与 MSE 的凸性差异、Top-P 归一化) | 每章正文主体 + “与真题的关联"表 |
| 工程延伸 | 理解系统行为所必需的工程背景(如 KV Cache 显存估算、张量并行的通信位置、连续批处理) | 第五篇各章 + 各章的"工程视角"小节 |
我们刻意补齐了大量"题目没考"的内容,因为它们是理解的杠杆。举三个例子:
- 不讲凸函数的一阶/二阶判据,就无法解释"逻辑回归为什么必须用交叉熵”——你只能背"因为 MSE 非凸"。
- 不讲 Roofline 模型与算术强度,就无法解释"为什么
prefill和decode的瓶颈完全不同"——你只能背结论。 - 不讲并查集与连通分量,就无法理解 DBSCAN 的"密度相连"为什么可以用"簇集合求交集"来判定。
本书的知识地图
下面这张图给出全书 6 篇之间的依赖关系。箭头表示"读懂了 A 才能顺畅读 B"。
| |
依赖关系的三条主干:
第1~3章 → 第9~11章 → 第15章 → 第16~21章:线性代数是 PCA、注意力机制、KV Cache、量化、并行切分的共同语言。第4章 → 第5章 → 第8章 → 第9章 → 第16章:概率与信息论是损失函数(交叉熵、KL 散度)与 RLHF 的理论底座。第6章 → 第12~13章 → 第19章:优化理论 → 训练实务 → 推理性能工程。
第六篇相对独立,可以并行阅读;但第 26 章(工程实现纪律)是全部编程题的通用方法论,建议在做题前先读。
如何使用本书
提示
三条阅读路线,按你的目的选一条。
路线一:系统学习(推荐,约 6~8 周)
按篇顺序阅读,每章读完做自测题,并完成"与真题的关联"表中的题目。每周 3~4 章。
| |
路线二:笔试冲刺(约 10 天)
只读标 ★ 的章与各章的"本章小结"“与真题的关联"表,然后直接做附录 B 的真题索引。
| |
路线三:工程补课(按需查阅)
如果你已经在做工程,只需要补齐某一块,建议按下面的"问题 → 章节"直达:
| 你的问题 | 直达章节 |
|---|---|
| 为什么推理时显存远超模型文件大小? | 第 19 章 19.3、19.4 |
| 为什么 decode 阶段 GPU 利用率很低? | 第 19 章 19.1、19.2 |
量化到底损失了什么?s = a/2^b 为什么能省算力? | 第 20 章 |
| 张量并行为什么必须放在同机? | 第 21 章 21.3 |
| 为什么长序列训练会不稳定? | 第 16 章(GSPO)、第 15 章(Pre-LN) |
| 向量检索为什么可以用内积代替欧氏距离? | 第 2 章 2.3、第 17 章 17.3 |
| 早停为什么等价于 L2 正则? | 第 8 章 8.3 |
全书目录
第一篇 数学基础
- 第 1 章 线性代数 I:向量空间、矩阵与四个基本子空间
- 1.1 从线性方程组到向量空间
- 1.2 向量空间、子空间、基与维数
- 1.3 线性相关与线性无关
- 1.4 矩阵的四个基本子空间
- 1.5 秩与秩-零化度定理
- 1.6 可逆性及其等价条件
- 第 2 章 线性代数 II:内积、范数、相似度与正交变换
- 2.1 内积的公理化定义
- 2.2 范数、距离与相似度度量
- 2.3 正交、投影与最小二乘
- 2.4 正交化:Gram-Schmidt 与 Householder
- 2.5 QR 分解与数值稳定性
- 第 3 章 线性代数 III:特征分解、SVD 与矩阵分解
- 3.1 特征值与特征向量
- 3.2 对角化与谱定理
- 3.3 二次型与正定矩阵
- 3.4 奇异值分解
- 3.5 低秩近似与压缩
- 3.6 PCA 的代数推导
第二篇 概率、信息与数值
- 第 4 章 概率论、统计推断与信息论
- 4.1 概率空间与条件概率
- 4.2 全概率公式与贝叶斯公式
- 4.3 随机变量与常见分布族
- 4.4 数字特征与不等式
- 4.5 大数定律与中心极限定理
- 4.6 描述统计:集中、离散与形状
- 4.7 参数估计:矩估计、MLE 与 MAP
- 4.8 信息论:熵、交叉熵与 KL 散度
- 第 5 章 数值计算基础
- 5.1 IEEE 754 浮点表示
- 5.2 误差来源与灾难性相消
- 5.3 数值稳定性的三个实战案例
- 5.4 插值:Lagrange 与 Newton
- 5.5 线性方程组的迭代解法
- 5.6 条件数与病态问题
第三篇 优化与机器学习
- 第 6 章 优化与学习算法
- 6.1 凸集与凸函数
- 6.2 梯度下降族
- 6.3 动量与自适应学习率
- 6.4 学习率调度
- 6.5 收敛性理论
- 6.6 约束优化与 KKT 条件
- 第 7 章 学习范式与模型评估
- 7.1 学习范式全景
- 7.2 经验风险最小化与泛化
- 7.3 偏差-方差分解
- 7.4 过拟合与欠拟合
- 7.5 数据集划分与交叉验证
- 7.6 评价指标全表
- 第 8 章 正则化与模型选择
- 8.1 正则化的动机
- 8.2 L1 与 L2 正则
- 8.3 早停与隐式正则
- 8.4 Dropout 与其他正则手段
- 8.5 超参数搜索与模型选择
- 第 9 章 线性模型与广义线性模型
- 9.1 线性回归
- 9.2 逻辑回归
- 9.3 Softmax 回归与多分类
- 9.4 广义线性模型
- 9.5 在线学习与概念漂移
- 第 10 章 无监督学习
- 10.1 K-Means 与 K 值选择
- 10.2 层次聚类与链接准则
- 10.3 密度聚类 DBSCAN
- 10.4 k-medoids 与 PAM
- 10.5 高斯混合模型与 EM 算法
- 10.6 聚类评价指标
- 第 11 章 降维与表示学习
- 11.1 PCA 的两个等价视角
- 11.2 线性判别分析
- 11.3 矩阵分解与隐语义
- 11.4 流形学习速览
第四篇 深度学习
- 第 12 章 神经网络基础
- 12.1 从线性模型到多层感知机
- 12.2 激活函数谱系
- 12.3 通用近似定理
- 12.4 计算图与自动微分
- 12.5 反向传播的完整推导
- 12.6 前向传播的维度账本
- 第 13 章 训练与优化实务
- 13.1 参数初始化
- 13.2 归一化层
- 13.3 残差连接与梯度流
- 13.4 混合精度训练
- 13.5 梯度裁剪与 warmup
- 13.6 训练调试实践
- 第 14 章 表示学习与多模态
- 14.1 分布式表示与词嵌入
- 14.2 Tokenization
- 14.3 从 CNN 到 ViT
- 14.4 多模态任务与 CLIP
- 第 15 章 Transformer 架构
- 15.1 注意力的起源
- 15.2 缩放点积注意力
- 15.3 多头注意力与维度账本
- 15.4 位置编码
- 15.5 残差、归一化与架构变体
- 15.6 复杂度与稀疏注意力
第五篇 大模型与推理工程
- 第 16 章 大模型训练范式
- 16.1 预训练
- 16.2 监督微调与指令微调
- 16.3 RLHF:从 PPO 到 GRPO 与 GSPO
- 16.4 直接偏好优化 DPO
- 16.5 训练评测与工程治理
- 第 17 章 检索增强生成(RAG)
- 17.1 为什么需要 RAG
- 17.2 索引与文本切分
- 17.3 检索与向量索引
- 17.4 生成与评估
- 第 18 章 解码与生成策略
- 18.1 自回归解码基础
- 18.2 温度
- 18.3 Top-K 与 Top-P
- 18.4 其他采样策略与工程权衡
- 第 19 章 推理系统与性能工程
- 19.1 GPU 存储层级与 Roofline 模型
- 19.2 prefill 与 decode
- 19.3 KV Cache
- 19.4 算子融合
- 19.5 FlashAttention 与 online softmax
- 19.6 批处理与调度
- 第 20 章 量化与压缩
- 20.1 数值格式谱系
- 20.2 线性量化数学
- 20.3 对称、非对称与量化粒度
- 20.4 缩放因子的整数化表示
- 20.5 PTQ 与 QAT
- 20.6 离群值与先进量化方法
- 第 21 章 分布式训练与并行
- 21.1 通信原语与硬件
- 21.2 数据并行
- 21.3 张量并行
- 21.4 流水线并行
- 21.5 ZeRO 与 FSDP
- 21.6 专家并行与 MoE
- 21.7 并行策略选型
第六篇 算法与数据结构实战
- 第 22 章 复杂度分析与算法设计方法
- 第 23 章 线性结构技巧
- 第 24 章 动态规划与背包问题体系
- 第 25 章 图与集合
- 第 26 章 工程实现纪律
附录
- 附录 A 公式速查表
- 附录 B 真题索引(52 道选择 + 12 道编程)
- 附录 C 术语中英对照表
- 附录 D 学习路线、能力矩阵与自测清单
符号与排版约定
数学符号
| 含义 | 符号 | 备注 |
|---|---|---|
| 标量 / 向量 / 矩阵 | x / x / A | 向量一律视为列向量,行向量写作 xᵀ |
| 转置 / 逆 / 伪逆 | Aᵀ / A⁻¹ / A⁺ | |
| 内积 | xᵀy | 不使用 ⟨x,y⟩ |
| L2 范数 | ‖x‖₂ 或 ‖x‖ | |
| 单位矩阵 / 零空间 / 列空间 | I / N(A) / Col(A) | |
| 秩 / 行列式 / 迹 | r(A) / det(A) / tr(A) | |
| 期望 / 方差 / 协方差 | E[X] / Var(X) / Cov(X,Y) | |
| 概率 / 条件概率 | P(A) / P(A|B) | |
| 似然 / 对数似然 | L(θ) / ℓ(θ) | |
| 梯度 | ∇L 或 ∂L/∂w | 标量对向量求导统一用 ∂L/∂w |
| 学习率 / 批大小 | η / B | |
| 序列长度 / 维度 / 头数 / 层数 | N / d / H / L | |
| 第 l 层第 t 步 | h_t^(l) | 上标层号、下标时间步 |
| 模运算 | mod M | |
| 浮点容差 | EPS | 取 1e−9 或 1e−7 |
排版约定
- 公式:行内公式统一写成反引号包裹的纯文本数学,例如
`‖u − v‖² = 2 − 2cosθ`;成块推导用围栏代码块。这样在任何 Markdown 渲染器下都不会露源码。 - 代码:一律标注语言;注释解释"为什么"而不只是"是什么”。
- 提示块:全书只使用五种提示块 ——
[!NOTE](前提与约定)、[!TIP](技巧与记忆锚点)、[!IMPORTANT](必须记住的核心结论)、[!WARNING](易错点)、[!CAUTION](高风险误解)。 - 真题引用:统一写成
【2026-09-09 选择 Q3】、【2026-08-05 编程题 1】。 - 自测题答案:默认折叠在
<details>块中,建议先自己作答再展开。
阅读建议
警告
不要跳过推导。 本书中所有"必背结论"都配有推导或至少一段"为什么"。它们不是装饰 —— 考试里的干扰项,绝大多数正是冲着"只背了结论、没理解条件"的人设计的。例如 ‖u−v‖² = 2 − 2cosθ 这个恒等式只对单位向量成立,而干扰项 1 − cosθ 就是漏掉了那个系数 2。
注意
本书的所有结论都以真实笔试真题为落地场景。每章结尾的"与真题的关联"表给出该章知识点在真题中的具体出处,附录 B 则给出反向索引:给定一道真题,告诉你应该回看哪一章哪一节。建议两者配合使用。