附录 C:手写代码速记
面试前 30 分钟翻一遍,每个算法记住一句话 + 一个公式就够了。
本附录覆盖大模型后训练岗位面试中最常被要求手写的算法代码,按考查频率排序。每个算法提供四种视角:
| 视角 | 用途 |
|---|---|
| 一句话记忆 | 上考场前默念的口诀 |
| 伪代码 | 面试白板写的版本 |
| Python 实现 | 用 numpy / 原生 Python 讲清楚逻辑 |
| PyTorch 实现 | 面试中常问的工程版本 |
本附录目录
| 节 | 算法 | 考查频率 |
|---|---|---|
| C.1 SFT Loss 与 KL 散度 | SFT 自回归 loss、shift right、KL 估计 | ★★★★ |
| C.2 PPO 策略损失与 GAE | Clipped surrogate、value loss、GAE 逆向递推 | ★★★★★ |
| C.3 DPO 及其变体 | DPO loss、IPO、KTO、SimPO | ★★★★★ |
| C.4 GRPO 与 Reward Model | GRPO 组内归一化、Bradley-Terry RM | ★★★★ |
| C.5 Softmax 与 Cross-Entropy | 数值稳定 softmax、log-sum-exp、CE loss | ★★★★ |
| C.6 Top-k / Top-p Sampling | Temperature、Top-k、Top-p (Nucleus) 解码 | ★★★★ |
| C.7 Attention / MHA / GQA | Scaled dot-product、多头注意力、MQA、GQA | ★★★★★ |
| C.8 DAPO | 解耦裁剪、动态采样、超长惩罚 | ★★★ |
使用建议
- 先背一句话。每个算法开头都有一句口诀,记住它就能推导出伪代码。
- 伪代码为主。面试白板场景下,写出伪代码 + 讲清楚变量含义即可过关。
- PyTorch 补细节。如果面试官追问实现细节(如
ignore_index、log_sum_exp、clamp),翻到对应 PyTorch 代码段。 - 易错点速查。每个文件末尾列了高频踩坑项,面试前一晚过一遍。
