-
Notifications
You must be signed in to change notification settings - Fork 37
Expand file tree
/
Copy pathquiz.json
More file actions
37 lines (37 loc) · 2.61 KB
/
Copy pathquiz.json
File metadata and controls
37 lines (37 loc) · 2.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[
{
"question": "DPO 相比 RLHF 的主要优势是什么?",
"options": ["DPO 产生更好的模型", "DPO 省去了对独立奖励模型和 PPO 的需求,在单个循环中直接在偏好对上训练", "DPO 使用更少的训练数据", "DPO 不需要任何偏好数据也能工作"],
"correct": 1,
"explanation": "RLHF 需要先单独训练一个奖励模型,再运行 PPO 优化。DPO 把这两步合并成单一的训练目标,直接在偏好对上优化语言模型。",
"stage": "pre"
},
{
"question": "参考模型(reference model)在 DPO 中起什么作用?",
"options": ["它生成训练数据", "它充当锚点,防止被训练的模型偏离太远,类似于 RLHF 中的 KL 惩罚", "它评估模型质量", "它处理分词"],
"correct": 1,
"explanation": "DPO 损失比较的是被训练策略和参考模型(通常是 SFT 模型)下的对数概率。参考模型约束策略能漂移多远,在不显式调 KL 的情况下防止奖励黑客。",
"stage": "pre"
},
{
"question": "DPO 中的 beta 参数控制什么?",
"options": ["学习率", "策略被约束得多接近参考模型的强度——beta 越高更新越保守", "批次大小", "训练轮数"],
"correct": 1,
"explanation": "beta 缩放隐式的 KL 散度惩罚。beta=0.1 允许模型明显偏离参考(可能更好但风险更高)。beta=0.5 让它保持接近(更安全但学得更少)。",
"stage": "post"
},
{
"question": "DPO 是如何隐式地表示一个奖励模型的?",
"options": ["它没有——DPO 没有奖励的概念", "DPO 损失函数可以这样推导出来:在某个奖励函数下的最优策略可以直接通过策略对数概率表达出来", "它在语言模型内部训练了一个隐藏的奖励模型", "DPO 把损失函数当作奖励"],
"correct": 1,
"explanation": "Rafailov 等人证明,RLHF 目标的闭式解把奖励表达为策略相对于参考模型的对数概率的函数。DPO 直接优化它,从而隐式地学习了奖励。",
"stage": "post"
},
{
"question": "什么时候 RLHF 仍然可能优于 DPO?",
"options": ["永远——RLHF 严格更好", "当你需要一个可复用的奖励模型来评估多个策略,或者在线数据收集有益时", "当你的偏好数据更少时", "当训练更小的模型时"],
"correct": 1,
"explanation": "DPO 是离线的(固定的偏好数据)。RLHF 允许在线数据收集,奖励模型对新生成内容打分,从而发现奖励黑客模式。一个独立的奖励模型对评估和其他策略也很有用。",
"stage": "post"
}
]