AI 面试底层原理:从模型到部署,一文击穿面试官灵魂拷问
2026/7/22 14:47:18 网站建设 项目流程

1. 引言

现在的 AI 岗位面试,早已不是背几个 API、调几个包就能过关的时代了。面试官们越来越喜欢“扒底裤”——从 Transformer 的注意力机制为什么 work,到反向传播的梯度消失怎么解决,再到部署时 ONNX 和 TensorRT 的优化原理,每一个环节都可能成为追问的焦点。

这篇文章的目标,就是帮你把这些“底层原理”彻底理清。我们不谈虚的,只讲面试中最高频、最硬核的知识点,从模型结构、训练原理、优化技巧到部署落地,一次性讲透。

2. 模型结构:Transformer 为什么是基石?

2.1 自注意力机制(Self-Attention)

面试官最爱问:“请解释一下 Scaled Dot-Product Attention 的公式,以及为什么要除以 sqrt(d_k)?”

公式如下:

Attention(Q, K, V) = softmax(Q * K^T / sqrt(d_k)) * V

核心思想:让序列中的每个 token 都能“看到”所有其他 token,从而捕捉长距离依赖关系。

为什么除以 sqrt(d_k)

  • 当 d_k 很大时,Q 和 K 的点积结果会变得非常大,导致 softmax 进入梯度极小的饱和区。
  • 除以 sqrt(d_k) 可以将方差拉回到 1 左右,保持梯度稳定,让训练更顺畅。

2.2 多头注意力(Multi-Head Attention)

“为什么不用一个头,要用多个头?”

  • 单一注意力头:只能学习一种“关系模式”(比如语法关系或语义相似性)。
  • 多头机制:将 Q、K、V 分别投影到多个低维子空间,每个头独立学习不同的注意力模式(如位置关系、语义关系、句法关系等),最后拼接起来,让模型表达能力更强。

2.3 位置编码(Positional Encoding)

“Transformer 没有 RNN 的循环结构,怎么知道词的顺序?”

  • 使用正弦/余弦函数生成固定位置编码,或者使用可学习的位置编码。
  • 正弦编码的优点是:可以外推到比训练时更长的序列,且不同位置的编码可以通过线性变换相互表示。

3. 训练原理:反向传播与优化器

3.1 反向传播(Backpropagation)

面试官:“请手写一个简单的反向传播推导。”

核心是链式法则:从损失函数开始,逐层向前计算梯度,更新每一层的参数。

∂L/∂w = ∂L/∂y * ∂y/∂z * ∂z/∂w
  • L:损失函数
  • y:输出
  • z:线性变换结果(z = w*x + b)
  • w:权重

3.2 梯度消失与梯度爆炸

“为什么深层网络难训练?”

  • 梯度消失:使用 Sigmoid/Tanh 激活函数时,导数在饱和区趋近于 0,多层相乘后梯度指数级衰减,浅层参数几乎不更新。
  • 梯度爆炸:权重初始化过大或网络过深,梯度指数级增长,导致参数震荡甚至 NaN。

解决方案

  • 使用 ReLU 及其变体(Leaky ReLU、GELU)。
  • 残差连接(Residual Connection):让梯度可以直接“跳过”某些层。
  • 层归一化(LayerNorm):稳定每层的输入分布。
  • 梯度裁剪(Gradient Clipping):限制梯度最大值。

3.3 优化器进化史

“SGD、Adam、AdamW 有什么区别?”

优化器特点适用场景
SGD简单,收敛稳定,但需要手动调学习率小批量、CV 任务
Adam自适应学习率 + 动量,收敛快NLP、大模型预训练
AdamW修正了 Adam 的权重衰减实现方式,泛化更好大模型微调、LLM 训练

AdamW 为什么更好:Adam 把 L2 正则化(权重衰减)和自适应学习率耦合在一起,导致正则化效果被削弱;AdamW 将两者解耦,在更新参数时独立应用权重衰减,效果更稳定。

4. 大模型(LLM)专项面试题

4.1 预训练与微调

“什么是 Pre-training 和 Fine-tuning?”

  • 预训练:在海量无标注数据上训练模型,学习通用的语言表示(如 BERT、GPT)。
  • 微调:在预训练模型基础上,用少量标注数据适配特定任务(如分类、问答)。

4.2 LoRA(Low-Rank Adaptation)

“大模型微调太贵了,怎么省钱?”

LoRA 的核心思想:冻结预训练权重,在模型层旁插入低秩矩阵(A * B),只训练这些矩阵。

h = W_0 * x + (B * A) * x
  • 参数量从 d * k 降到 d * r + r * k(r << d, k)。
  • 训练完成后,可以将 LoRA 权重合并回原模型,推理时零额外开销。

4.3 推理优化:KV Cache

“为什么大模型推理时,生成第一个 token 最慢?”

  • KV Cache:在自回归生成时,将已生成 token 的 Key 和 Value 缓存起来,避免重复计算。
  • 第一个 token 需要计算所有位置的 K、V,后续 token 只需计算当前 token 的 K、V,然后拼接缓存,因此第一个 token 最慢。

5. 部署与推理优化

5.1 模型量化

“FP16、INT8 量化是怎么做到的?”

  • FP16:将 FP32 的权重和激活值转为 FP16,显存减半,速度提升。
  • INT8 量化:将 FP32 映射到 INT8 范围(-128 ~ 127),需要校准数据集计算缩放因子(scale)和零点(zero_point)。
  • 量化感知训练(QAT):在训练过程中模拟量化误差,让模型适应低精度,效果优于训练后量化(PTQ)。

5.2 ONNX 与 TensorRT

“ONNX 和 TensorRT 分别解决了什么问题?”

  • ONNX:模型交换格式,让模型可以在不同框架(PyTorch、TensorFlow)之间迁移。
  • TensorRT:NVIDIA 的推理优化引擎,对模型进行图优化、层融合、精度校准、内存复用等,大幅提升 GPU 推理速度。

典型流程

PyTorch 模型 → ONNX 导出 → TensorRT 优化 → 部署

6. 总结

AI 面试的底层原理,本质上是在考察你对“模型为什么 work”的理解深度。从注意力机制到反向传播,从优化器到量化部署,每一个环节都值得你花时间去推导、去实践。

记住:面试官不是要你背答案,而是想看到你真正理解了这些原理。当你能够用自己的话把“为什么除以 sqrt(d_k)”讲清楚,把“AdamW 比 Adam 好在哪里”说明白,你就已经赢了。

希望这篇文章能帮你理清思路,在面试中游刃有余。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询