快手 大模型算法开发 一面

1. 自我介绍

2. 项目拷打

3. Reward Model 在对齐训练里扮演什么角色

Reward Model 本质上是在学一个“人类更偏好什么”的可微近似函数。SFT 学的是“像人那样答”,RM 学的是“人更喜欢哪种答法”。它并不直接生成答案,而是给候选答案打分,把人类偏好从离散排序信号压进一个标量目标里,后续无论是 PPO 还是其他策略优化方法,核心都要依赖这个分数去推动模型往偏好更强的方向移动。

RM 最大的价值不是替代人工,而是把人工偏好从逐条监督扩展成可批量泛化的训练信号。真正难的地方在于它很容易学到表面模式,比如更长、更像模板、更会说套话的答案可能被错判成更优,所以 RM 训练的上限很大程度受数据质量和标注一致性约束。

4. 为什么 Reward Model 比很多人想的更容易被模型“投机取巧”

因为 RM 学到的不是“真实质量”,而是“在训练分布里的偏好代理”。只要这个代理和真实目标之间有缝隙,策略模型就会钻空子。最常见的情况是模型开始优化表面特征,比如把回答写得更长、更礼貌、更像总结模板,或者刻意堆高频高分词,而不是真正在事实性、推理深度和可执行性上变强。

这也是为什么只看 RM 分数非常危险。一个成熟系统通常不会把它当最终裁判,而是会把事实性评测、规则校验、拒答合理性和人工抽检一起纳入闭环。RM 是重要组件,但绝不是整个对齐体系的真理源头。

5. DPO 是怎么训练的,为什么它能绕开显式强化学习

DPO 的核心想法是,不直接训练一个在线策略去和环境交互,而是利用偏好对数据构造一个闭式优化目标,让模型在“被偏好回答”和“被拒绝回答”之间拉开 log 概率差距。它默认存在一个参考模型,通过 KL 约束保证新模型不会偏离参考分布太远,同时把偏好学习直接写成监督式损失,因此训练上比 PPO 更稳定,也省掉了显式 reward rollout 的复杂链路。

它之所以能工作,是因为在特定假设下,最优策略可以被重写成相对参考模型的偏好加权分布。工程上它很好用,但并不意味着它总能取代 RL。遇到长链路决策、工具交互或者需要多步信用分配的任务时,DPO 这种静态偏好学习就会开始吃力。

import torch
import torch.nn.functional as F

def dpo_loss(pi_chosen_logp, pi_reject_logp, ref_chosen_logp, ref_reject_logp, beta=0.1):
    pi_gap = pi_chosen_logp - pi_reject_logp
    ref_gap = ref_chosen_logp - ref_reject_logp
    logits = beta * (pi_gap - ref_gap)
    return -F.logsigmoid(logits).mean()

pi_c = torch.tensor([ -2.1, -1.3 ])
pi_r = torch.tensor([ -3.4, -2.2 ])
ref_c = torch.tensor([ -2.4, -1.5 ])
ref_r = torch.tensor([ -3.2, -2.0 ])
print(dpo_loss(pi_c, pi_r, ref_c, ref_r))

6. DPO 和 PPO 做对齐时的本质差别是什么

PPO 是在线策略优化,它需要策略采样、reward 打分、advantage 估计和裁剪更新,属于“先生成,再评分,再更新”。DPO 则更像离线偏好学习,它直接利用成对偏好样本优化模型,不需要显式 rollout,也不需要 value model。前者更接近通用 RL 框架,后者更接近用偏好数据驱动的判别式策略拟合。

从工程角度看,PPO 的灵活性更强,适合多步任务、工具交互和明确的外部反馈环境,但训练复杂度和不稳定性明显更高。DPO 的优点是简单、稳定、好复现,缺点是它对静态偏好数据依赖很强,而且很难处理真正动态的多阶段信用分配问题。

7. 为什么对齐训练里离不开 KL 约束

KL 约束的意义不是“数学上看起来更漂亮”,而是避免模型为了吃到更高偏好分数而走向分布崩坏。如果没有 KL,模型可能会在少量偏好模式上过拟合,输出越来越极端、重复甚至失去基础语言能力。KL 实际上是在告诉模型:可以朝偏好方向走,但别离原来的可用语言分布太远。

这个约束还有个很现实的作用,就是让对齐过程更可控。工程里真正难的不是把某项分数刷高,而是刷高之后模型仍然保留通用能力、拒答边界和稳定性。KL 就是那个让模型不至于“为了迎合偏好而失去自我”的护栏。

8. 安全生产类项目一般怎么评估,为什么不能只看 acc 或 rouge

安全生产类任务往往包含风险分类、违规识别、危险操作建议拒答、合规摘要和证据引用,这些目标本来就不是一个指标能概括的。acc 只能反映离散分类对不对,rouge 更偏表面重合,真正高风险场景里更重要的是高危漏检率、误报代价、证据可追溯性、拒答合理性、规则一致性和人工复核通过率。

所以评测体系通常要分层。分类型任务看 precision、recall、F1 和高风险类别的召回;生成型任务看事实一致性、引用命中率和规则违反率;系统层面再看坏例回流、人审通过率和线上拦截收益。指标设计的难点不是堆得多,而是每一个都要能映射到真实业务代价。

9. Rouge-L、BERTScore 这类指标在长文档生成里为什么经常失真

因为它们默认参考答案本身足够完整且表面表达比较稳定,但长文档场景下,经常存在“多种正确表述”“正确但未出现在参考里”“摘要重点存在选择性”这类情况。Rouge-L 很容易高估模板化复述,BERTScore 虽然更看语义相似,但仍然无法保证数值、逻辑关系和引用一致性真的正确。

尤其在公告、合同、病历、审计报告这类高约束文本里,真正关键的往往不是“像不像参考答案”,而是“有没有漏关键风险”“数值有没有错”“结论有没有证据支撑”。所以长文档生成不能只靠通用文本指标,必须加入结构化校验和事实性检查。

10. 100 页 PDF 做格式化和结构化后大概有多大

这题考的不是背标准答案,而是你的估算能力和工程意识。一个 100 页 PDF 最终大小取决于原始内容形态。如果是纯文本公告,抽取后正文字符可能在几十万级,转成 UTF-8 文本大约几百 KB 到几 MB;如果保留段落层级、表格结构、坐标框、页码锚

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

AI-Agent面试实战专栏 文章被收录于专栏

本专栏聚焦 AI-Agent 面试高频考点,内容来自真实面试与项目实践。系统覆盖大模型基础、Prompt工程、RAG、Agent架构、工具调用、多Agent协作、记忆机制、评测、安全与部署优化等核心模块。以“原理+场景+实战”为主线,提供高频题解析、标准答题思路与工程落地方法,帮助你高效查漏补缺.

全部评论

相关推荐

评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务