大模型算法一面、二面面经
完整信息
本篇目录
面试时间:10.20 一面,10.27 二面。小米汽车,大模型算法。 结果:约 HR 面。
体感:面试官非常好,全程会复述一遍你的意思再问。但正因为他不打断,你会在一个方向上越走越深,直到走不动为止。
一面有一个瞬间特别清楚:他问"GRPO 的 advantage 怎么算",我答"组内归一化"。他问"为什么归一化能替代 critic",我答"因为基线"。他问"基线为什么能降方差",我就开始虚了。
面试题(23 道)
一面(12 道)
- 项目背景,为什么引入 Agent?
- 训练数据和离线环境怎么搭的?
- 模型和工具怎么交互?工具报错怎么处理?
- GRPO 的训练流程,完整说一遍。
- 组大小 G 取多少?为什么?
- 超参怎么设的?哪个最难调?
- Reward 怎么实现?规则 reward 和 reward model 怎么选?
- 两者都用的时候,怎么加权?
- 训练中出现过 Reward Hacking 吗?什么形式?
- Top-k 和 Top-p 的原理,为什么同时用?
- PPO 和 GRPO 的差异,除了 critic 还有什么?
- DPO 的 loss 写一下,为什么 reference model 不能省?
二面(11 道)
- 模型选型的依据是什么?列几个硬指标。
- 数据怎么构造输入?没有完整监督轨迹时,训练信号从哪来?
- 业务规则怎么融进模型?写进 prompt 还是写进 reward?
- 写进 reward 会有什么后果?
- 微调的具体实现,LoRA 的 rank 怎么定?
- 项目实际收益多少?测试集怎么划的?
- 离线达标了,线上怎么验证?灰度策略是什么?
- 线上日均多少请求?吞吐够吗?
- 如果线上 reward 分布和离线不一致,你怎么发现?
- 业务方要求"不许说错话",你怎么用技术手段兜?
- 这套系统上线三个月后,你觉得最先坏掉的是哪块?
地狱时刻:第 4 到第 6 题
GRPO 这题我建议所有人都准备到第四层,因为面试官一定会往下走。
第一层,流程:同一个 prompt 采样 G 条回答,每条算一个 reward,组内减均值除标准差得到 advantage,然后按 PPO 的 clip 目标更新。
第二层,为什么不用 critic:省一个和策略同规模的价值网络,省显存也省训练不稳的麻烦。代价是 advantage 的估计只依赖组内相对比较,绝对尺度丢了。
第三层,为什么归一化能降方差:baseline 的作用是减去一个与动作无关的量,让梯度的期望不变但方差变小。组均值就是一个不需要学习的 baseline,而除以标准差是把不同 prompt 的 reward 尺度拉平,避免某些题天生分高就主导梯度。
第四层,也就是他真正问的:归一化的前提是什么?前提是同一组内的 reward 可比。如果你的 reward 是多信号加权,且权重随样本类型变化,组内就不再可比,归一化会把真实差异抹掉。
第五层他追问:"那 G 取多少?"我说 8。他问"取 2 会怎样"。答案是方差太大,advantage 只有 +1/-1 两档,梯度噪声极大;取 32 会好但采样成本翻四倍。
(这一问让我明白,参数不能只说"经验值"。你得说得出往两边偏会付出什么。)
第 20 题问吞吐,我给了个数,他问"怎么算的",我说了 token/s × 并发,他问"那你的 P99 呢"。我答不上来,因为我只测了均值。
这是我这次唯一真正翻车的地方。
手撕:带障碍消除的最小路径和
给一个网格,1 是障碍,0 可走,允许消除最多 k 个障碍,求从左上到右下的最小路径和。
这是 LeetCode 1293 的加强版,多了"路径和"这层。
标准解法是 BFS + 三维状态(x, y, 剩余消除次数),但求最小路径和就不能用 BFS 层数了,得用 Dijkstra,状态是 (x, y, used),边权是进入格子的代价。
坑有四个:状态空间是 H×W×(k+1),k 大时内存会炸;同一个格子用不同 used 到达必须分别入堆,不能只记 visited;起点如果是障碍要消耗一次;k 用完还有障碍就不能走。
我写完 Dijkstra,面试官问"如果 k 很大,比如 k = H+W,能不能优化"。我说那就退化成没有障碍的 DP,直接二维前缀最小和。
他说"对,所以你要先判断退化情况,别一上来就上重型武器"。
一句
能被追问到第五层的知识点,才叫会。
—— AIGC小白入门记
本篇目录
当前问题0126
- 01
项目背景,为什么引入 Agent?
- 02
训练数据和离线环境怎么搭的?
- 03
模型和工具怎么交互?工具报错怎么处理?
- 04
GRPO 的训练流程,完整说一遍。
- 05
组大小 G 取多少?为什么?
- 06
超参怎么设的?哪个最难调?
- 07
Reward 怎么实现?规则 reward 和 reward model 怎么选?
- 08
两者都用的时候,怎么加权?
- 09
训练中出现过 Reward Hacking 吗?什么形式?
- 10
Top-k 和 Top-p 的原理,为什么同时用?
- 11
PPO 和 GRPO 的差异,除了 critic 还有什么?
- 12
DPO 的 loss 写一下,为什么 reference model 不能省?
- 13
模型选型的依据是什么?列几个硬指标。
- 14
数据怎么构造输入?没有完整监督轨迹时,训练信号从哪来?
- 15
业务规则怎么融进模型?写进 prompt 还是写进 reward?
- 16
写进 reward 会有什么后果?
- 17
微调的具体实现,LoRA 的 rank 怎么定?
- 18
项目实际收益多少?测试集怎么划的?
- 19
离线达标了,线上怎么验证?灰度策略是什么?
- 20
线上日均多少请求?吞吐够吗?
- 21
如果线上 reward 分布和离线不一致,你怎么发现?
- 22
业务方要求"不许说错话",你怎么用技术手段兜?
- 23
这套系统上线三个月后,你觉得最先坏掉的是哪块?
- 24
训练数据和离线环境怎么搭的?
- 25
模型和工具怎么交互?工具报错怎么处理?
- 26
项目实际收益多少?测试集怎么划的?
