什么是 KTO(Kahneman-Tversky Optimization)?
KTO(Kahneman-Tversky Optimization)是一种偏好调优方法,它使用标记为 desirable 或 undesirable 的样本优化语言模型,而不要求成对比较。
工作原理
KTO 的动机是:收集二元好坏反馈可能比收集精心配对的偏好比较更容易。它不要求同一提示词下必须有 chosen 和 rejected 回答,而是可以从标记为好或坏的样本中学习。这能降低数据收集摩擦,但也把责任转移到标签质量、类别平衡和校准上。与其他对齐方法一样,KTO 应在真实用户任务上评估,而不是只看训练损失。
主要特点
- 使用 desirable 和 undesirable 样本,而不只依赖成对比较
- 目标是降低偏好数据收集难度
- 当成对标签昂贵或不可得时可能有用
- 依赖干净标签、代表性提示词和平衡数据
- 应与 DPO、ORPO、SFT 和 RLHF 基线比较
常见用途
- 从点赞和点踩式反馈中训练
- 使用审核或质量标签进行偏好调优
- 当成对比较难以收集时对齐助手
- 实验低摩擦偏好数据集
- 在 SFT 后不使用奖励模型 RL 循环也能改善行为
示例
loading...
Loading code...常见问题
KTO 和 DPO 有什么区别?
DPO 通常使用 paired chosen-rejected 样本,而 KTO 可以使用 desirable 或 undesirable 标签样本。
为什么 KTO 对数据收集有用?
二元 desirability 标签可能比精心匹配的偏好对更容易从用户、日志或评审者处收集。
KTO 还需要评估吗?
需要。它仍要做留出任务评估、安全检查,并与 SFT 或偏好优化基线比较。
KTO 数据可能出什么问题?
噪声标签、类别不平衡、提示词狭窄和 desirability 标准不清都会训练出不可靠行为。