想象一位教了三十年书的老班主任张老师。别的班搞“两人一组 PK 排名”,老张却从不排名。他只做一件事:不带任何比较,凭多年经验判断每个学生“这次表现算好还是算坏”,然后掏出随身的记账本,给好表现记一笔快乐、给坏表现记一笔懊恼。奇怪的是,他的班风越来越好,学生也不那么焦虑了。老张的秘密,其实是行为经济学里卡尼曼与特沃斯基的前景理论:人不是在看绝对分数,而是在看“比心里那条线高了还是低了”;而且丢 100 块的痛苦,永远比捡 100 块的快乐更刺骨。 KTO(Kahneman-Tversky Optimization)就是把老张的记账本搬进大语言模型训练。它不需要“回答 A 和回答 B 谁更好”这种两两配对数据,只需要每条回复被标成“好”或“坏”,就能让模型懂得什么该多说、什么该少说。相比传统 RLHF 的四处张罗、DPO 的成对比较,KTO 更像一个凭经验单点判断的老教师:成本更低、也更贴合人类真实的心理过程。本文将带你从这张记账本出发,一层层拆开 KTO 的公式、数据、对齐机制与工程落地。

岗位关联

对 AI 从业者而言,KTO 是低成本对齐模型的实用利器:只需“好/坏”单样本标签就能完成偏好学习,在数据稀缺、隐私敏感的联邦学习场景中尤其有价值。

目录
  1. 可视化演示
  2. 前景理论基础
  3. 非配对偏好数据
  4. KTO损失构造
  5. 对齐机制拆解
  6. 方法对比定位
  7. 工程落地实践
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示前景理论S型价值函数(损失厌恶)、KTO与DPO数据采集对比、KTO损失收敛过程三种模式,点击按钮切换。

本节配有交互动效(进入视口后自动加载,约 3KB)。

前景理论价值函数 收益区域凹形(风险规避) 损失区域凸形且更陡(损失厌恶) v(x)=x^α(x≥0),-λ(-x)^β(x<0) λ≈2.25损失厌恶系数

前景理论基础

老张的记账本从不记录“总分排名”,只记录每个学生相对心里那条线的偏离。这条线就是前景理论里的“参考点”:学生考了 85 分,如果老张心里预期是 80,那就是惊喜;如果预期是 90,那 85 反而成了失望。同一个分数,因为参考点不同,感受截然相反。卡尼曼与特沃斯基在 1979 年提出的前景理论,正是用这种“看变化而非看总量”的方式描述人的决策,也因此拿下了诺贝尔经济学奖。

这背后的心理学规律有两条。第一,损失厌恶:丢掉 100 块钱的痛苦,要捡到约 200 块钱才能抵消;同样的数量,坏消息比好消息重得多。第二,敏感性递减:从 0 分进步到 10 分的喜悦,远大于从 90 分进步到 100 分的喜悦,收益侧的快乐是边际递减的;而损失侧的痛苦,反而越滚越陡。把这两条画成一条“价值函数”曲线,就是中间经过参考点、右侧平缓上升、左侧陡峭下降的 S 形变体。

老张的记账本之所以有效,就是因为他下意识遵守了这条曲线:进步一点就狠狠表扬,退步一点则更严肃地提醒,从不搞“排名平均主义”。KTO 算法要向模型传递的,正是这种人类真实的心理权重。

V(x)={xα,x≥0−λ(−x)β,x<0,λ>1V(x) = \begin{cases} x^{\alpha}, & x \ge 0 \\ -\lambda(-x)^{\beta}, & x < 0 \end{cases}, \qquad \lambda > 1
这就是前景理论的价值函数:横轴是相对参考点的得失,纵轴是心理感受;左侧比右侧更陡,因为人天生厌恶损失。
  1. 分段条件当偏离量 $x$ 大于等于零时走收益分支,小于零时走损失分支,参考点恰好落在分界处。
    x≥0 vs. x<0x \ge 0 \ \mathrm{vs.} \ x < 0
  2. 收益侧幂函数$x^{\alpha}$ 表示收益带来的正效用,$\alpha$ 小于 1 时曲线下凹,快乐边际递减。
    xα,0<α<1x^{\alpha}, \quad 0 < \alpha < 1
  3. 损失侧幂函数$-\lambda(-x)^{\beta}$ 表示损失带来的负效用,负号让结果落在横轴下方。
    −λ(−x)β,λ>1-\lambda(-x)^{\beta}, \quad \lambda > 1
  4. 损失厌恶系数$\lambda$ 大于 1 说明同样的偏离量,损失侧斜率更大,痛苦比快乐更刺骨。
    λ>1\lambda > 1

非配对偏好数据

传统偏好学习总爱搞“两人 PK”:把同一个问题的两个回答摆在一起,让标注员说哪个更好。老张却从不这样做,他只需要看单个学生的单次表现,在记账本上写一个“好”或“坏”。这正是 KTO 名字里“非配对”的含义——每条训练数据只有一条回复加一个好坏标签,不需要另一个回复作为对照。

那么这些单样本标签从哪来?最直接的是人类标注:客服对话里点“有帮助/没帮助”、内容平台上点“赞/踩”,都是天然的好标签。其次可以用规则或旧模型筛选:拿一个表现很差的回答当“坏”样本,拿精心准备的回答当“好”样本。更妙的是,即使你手里只有成对比较数据,也可以直接“降级”使用:把偏好对里赢的那个拆成“好”样本,输的那个拆成“坏”样本,一对变两条,KTO 照样能学。

这样做的好处是标注成本大幅下降。成对比较要求标注员同时读两个长篇回答再权衡,而单样本打标只需要看一条。假设标注一个样本的成本是 $c$,一份成对数据需要两个回答各读一遍,成本接近 $2c$;同样的预算,KTO 能拿到两倍数量的独立信号。在数据稀缺的垂直领域,这往往决定了项目能不能启动。

老张从不搞 PK 的原因很简单:PK 制造焦虑,也会浪费他观察每个孩子的精力。KTO 用单样本标签,等于把有限的标注预算全部花在“看清每个回答本身”上,而不是花在“比较两个回答的细枝末节”上。对工程团队来说,这意味着更快地攒出数据集,也更接近人类真实的反馈方式。

KTO损失构造

老张把“好/坏”记进账本时,心里其实有个隐形的评分,只是他从不直接打分给学生看。KTO 也一样,它不训练一个显式的奖励模型,而是从“当前模型和参考模型的概率比”里直接算出隐式奖励。参考模型是什么呢?可以理解成训练前那个“原始状态的老张”——一个还没学会新规矩的基准班主任。当前模型如果能给某条回复更高的概率,说明它正在朝“更像这条回复”的方向改变。

有了隐式奖励,还要确定参考点 $z_0$。在老张的账本里,$z_0$ 就是“这次到底算好还是算坏的界线”——高于它记正账,低于它记负账。KTO 论文中常用当前训练批次的 KL 散度估计 $z_0$,相当于用“模型近期平均漂移量”动态确定那条线。此时再套用前景理论的价值函数,KTO 的效用函数就能把人类心理写进损失:

老张记完账会顺势调整对每个孩子的预期:这次表现好,下次参考线就稍高一点;表现坏,参考线也相应下调。KTO 的 $z_0$ 同样动态变化,配合 KL 散度约束防止模型跑太远——就像老张再欣赏某个学生,也不会允许他脱离基本的行为规范。

rKTO(x,y)=βln⁡πθ(y∣x)πref(y∣x)r_{\mathrm{KTO}}(x,y) = \beta \ln \frac{\pi_{\theta}(y \mid x)}{\pi_{\mathrm{ref}}(y \mid x)}
好回答的效用随奖励超过参考点而升高,坏回答的效用随奖励低于参考点而降低;两侧共用同一个参考点,呼应前景理论的“相对得失”视角。
  1. 激活函数$\sigma$ 是 sigmoid,把任意实数压缩到 0 到 1 之间,正好作为“效用概率”。
    σ(t)=11+e−t\sigma(t) = \frac{1}{1 + e^{-t}}
  2. 好样本分支当 $y$ 被标为好时,$r - z_0$ 越大效用越接近 1,说明模型越该提升这条回复的概率。
    σ(rKTO−z0)\sigma(r_{\mathrm{KTO}} - z_0)
  3. 坏样本分支当 $y$ 被标为坏时,$z_0 - r$ 越大效用越接近 1,相当于“坏得越明显,越要压制”。
    σ(z0−rKTO)\sigma(z_0 - r_{\mathrm{KTO}})
  4. 损失函数落地最终用 $1 - u_{\mathrm{KTO}}$ 作为单样本损失,好样本效用越高损失越小,坏样本同理。
    LKTO=E[wy(1−uKTO(x,y))]\mathcal{L}_{\mathrm{KTO}} = \mathbb{E}\big[w_y \big(1 - u_{\mathrm{KTO}}(x,y)\big)\big]

对齐机制拆解

老张从不掏出一张写着分数的奖状,但他的学生对“这次会被表扬还是批评”心知肚明。KTO 的隐式奖励机制也是如此:它没有独立的奖励模型,却通过概率比向模型传递明确的改进方向。当一条回复被标为“好”,损失函数会反向传播一个抬高这条回复概率的梯度;当一条回复被标为“坏”,梯度方向翻转,模型学会降低这类回复的概率。

梯度信号的具体含义可以从效用函数读出:对好样本,损失 $w_y(1 - \sigma(r - z_0))$ 越小,意味着 $r$ 越要大于 $z_0$;对坏样本,损失 $w_y(1 - \sigma(z_0 - r))$ 越小,意味着 $r$ 越要小于 $z_0$。换句话说,KTO 不需要任何显式打分器,就已经在每一次参数的更新中完成了“奖励高、抑制低”的对齐。这就像老张只需一句“这次不错”或“这次不行”,学生就自动调整了行为方向。

与显式奖励模型相比,这个设计省掉了一个完整模块:RLHF 需要先训练奖励模型,再在上面跑强化学习;KTO 直接把“奖励”藏在生成概率里,训练流程更简洁。同时 KL 散度约束还在幕后兜底:它惩罚当前模型与参考模型的过度偏离,保证模型不会为了迎合标签而胡言乱语——这是老张的“基本盘”:鼓励个性,但不许违反班规。

老张的可贵之处在于,他从不说“你应该比小王强”,而只说“你这次做得好、下次可以更好”。KTO 同样不比较两个回答,只让每个样本自己说话。隐式奖励让对齐信号无处不在却又无声无息,最终训练出的模型在人类看来更自然、也更少说违心话。

方法对比定位

如果把主流对齐方法都请进学校,RLHF 是最正式的督导组:先给每个回答写详细评语(训练奖励模型),再用强化学习反复打磨策略,效果全面但流程笨重,需要大量样本和调参。DPO 像一位特级教师,擅长“两两切磋”:每次拿两个回答对比,明确告诉模型谁优谁劣,数据要求是成对偏好。而 KTO 是老张本人:手里只有“好/坏”标签,一个人就能干活,不搞 PK、不写长评语。

对比之下,DPO 的损失函数长这样:

从适用场景看:如果团队已经攒了大量成对偏好数据,DPO 是稳妥选择;如果只有点赞/点踩、好评/差评这类天然单标签,或者连标注人力都很紧张,KTO 更容易启动。数据规模上,KTO 能用更少预算凑够有效信号,但在极高质量偏好数据充足时,DPO 的显式对比往往上限更高。选哪个,本质上是在问:你的数据长什么样,你愿意为标注付出多少成本。

老张的班不是每学期都拿年级第一,但始终稳定、省心、不折腾。KTO 的定位正是如此:不求在所有 benchmark 上碾压 DPO,只求在数据有限、预算有限、甚至隐私敏感的真实环境里,把模型稳稳地调向人类喜欢的方向。

LDPO=−E(x,yw,yl)∼D[log⁡σ(βln⁡πθ(yw∣x)πref(yw∣x)−βln⁡πθ(yl∣x)πref(yl∣x))]\mathcal{L}_{\mathrm{DPO}} = - \mathbb{E}_{(x,y_w,y_l) \sim \mathcal{D}} \Big[ \log \sigma\Big( \beta \ln \frac{\pi_{\theta}(y_w\mid x)}{\pi_{\mathrm{ref}}(y_w\mid x)} - \beta \ln \frac{\pi_{\theta}(y_l\mid x)}{\pi_{\mathrm{ref}}(y_l\mid x)} \Big) \Big]
DPO 必须同时知道“好回答 $y_w$”和“坏回答 $y_l$”,用两者的奖励差驱动学习;KTO 则把括号里的配对差替换成“单样本奖励与参考点 $z_0$ 的差”。
  1. 配对数据$(y_w, y_l)$ 是一对偏好数据,$y_w$ 是赢家、$y_l$ 是输家,两者缺一不可。
    (yw,yl)∼D(y_w, y_l) \sim \mathcal{D}
  2. 奖励差括号里是两个隐式奖励的差,只有 $y_w$ 的奖励显著高于 $y_l$,样本才被学好。
    βln⁡πθ(yw∣x)πref(yw∣x)−βln⁡πθ(yl∣x)πref(yl∣x)\beta \ln \frac{\pi_{\theta}(y_w \mid x)}{\pi_{\mathrm{ref}}(y_w \mid x)} - \beta \ln \frac{\pi_{\theta}(y_l \mid x)}{\pi_{\mathrm{ref}}(y_l \mid x)}
  3. 负对数损失外加负号和对数,让“赢家奖励越高”的样本损失越小,模型向偏好方向移动。
    −log⁡σ(⋅)-\log \sigma(\cdot)
  4. KTO 的对应差异KTO 把“赢家 vs 输家”换成“单样本 vs 参考点”,因此不依赖配对数据。
    σ(rKTO−z0) vs. σ(z0−rKTO)\sigma\big(r_{\mathrm{KTO}} - z_0\big) \ \mathrm{vs.} \ \sigma(z_0 - r_{\mathrm{KTO}})

工程落地实践

把老张的方法变成全校制度,关键在于流程化。第一步是数据采集:从线上日志、用户反馈或专家渠道收集回复,打上“好/坏”二元标签;如果有成对数据,直接拆成两条单样本用。第二步是确定参考模型:通常选一个尚未对齐或只做了轻微对齐的模型,作为 KL 散度约束的锚点。第三步是训练:设置合理的 $\beta$、样本权重和参考点估计方式,跑若干 epoch 后观察损失收敛。

超参调优有几条实用经验。$\beta$ 控制奖励尺度,太小则模型学不动,太大则梯度震荡、输出漂移,一般从 0.1 到 1.0 之间网格搜索。样本权重 $w_y$ 可以分别设置正负权重:由于前景理论的损失厌恶,实践中常把坏样本的权重大于好样本,让模型对“坏回复”更敏感。参考点 $z_0$ 用批次 KL 均值估计时,要注意批次大小不能太小,否则参考点抖动剧烈。

在隐私计算与联邦学习场景中,KTO 有一个天然优势:联邦学习要求各客户端不上传原始数据,而 KTO 的标签本身就是二元信号,比成对偏好更容易做隐私保护。例如手机输入法团队可以在每个用户端本地判断某条候选回复“被采纳/被忽略”,只把梯度或加密统计量回传服务器,中心端聚合更新模型,用户原文始终不出设备。这大大降低了对数据出域的要求。

最后用效果评估闭环:除了常规的胜率(win rate)和在线 A/B 指标,还要盯住 KL 散度——它衡量模型偏离参考模型多远。老张会定期翻记账本回顾哪个孩子进步慢;工程师也应每周检查“模型是不是为了讨好标签而丢了风格”、坏样本的压制是否真的生效。评测通过后,再迭代下一轮数据采集,循环往复。整个过程,就是把老张那套“看个体、重惩罚、定参考”的智慧,沉淀成可以复用的工程管线。

AI 应用场景

智能客服的好差评对齐

阶段:模型对齐 / 数据标注

解决的问题:传统 RLHF 需要收集“两个候选回答谁更好”的成对标注,而客服系统每天产生海量“用户是否点有帮助”的二元信号,成对标注成本高、时效差。KTO 可以直接利用这些单样本好坏标签,让模型学会避开被点踩的敷衍话术、靠近被点赞的解决式回答。

具体案例:某电商智能客服上线 KTO 对齐:把过去 90 天的会话按“用户点击'解决了我的问题'”标为好、按“用户转人工且差评”标为坏,共 20 万条单样本,训练一个小型对话模型,两周后自动化解决率提升 8%,坏样本占比下降明显。

营销文案的隐式反馈优化

阶段:策略优化 / 在线学习

解决的问题:广告文案的偏好往往体现为点击率、转化率,而不是人工成对打分。传统上要组织评审团两两比较文案,成本高且主观。KTO 把“点击”与“未点击”当成好坏标签,直接压入生成模型,实现低成本持续优化。

具体案例:一家电商平台用 KTO 训练商品标题生成器:开箱点击的标题标为“好”,曝光无点击的标为“坏”,每周增量训练一次,标题点击率环比提升 12%,同时 KL 散度约束保证了标题不过度夸张。

联邦学习中的隐私偏好对齐

阶段:隐私计算 / 分布式训练

解决的问题:手机端输入法或健康问答助手涉及敏感对话,原始偏好数据不能出域。KTO 的二元标签天然适合联邦学习:客户端本地判定回答好坏,只上传加密梯度或统计量,服务端聚合后更新模型。

具体案例:某健康问答团队在联邦框架下运行 KTO:每个手机终端只回传“这条回答是否被用户认可”的本地梯度,中心端用安全聚合更新模型,模型在隐私保护前提下依然学会了避开危险饮食建议,满足合规审计要求。

Python 演示

python35 行
import torch def kto_loss(policy_logp, ref_logp, desired, beta=0.5,             alpha_pos=1.0, alpha_neg=1.5, lambda_neg=1.2):    # policy_logp / ref_logp: [batch] 当前模型与参考模型的 log-prob    # desired: [batch] bool, True 表示回复被标为好    r = beta * (policy_logp - ref_logp)    z0 = torch.mean(r).detach()    # 前景理论风格的分段效用    u = torch.where(desired,                    torch.sigmoid(r - z0),                    torch.sigmoid(z0 - r))    w = torch.where(desired,                    torch.full_like(r, alpha_pos),                    torch.full_like(r, alpha_neg * lambda_neg))    return (w * (1 - u)).mean() def main():    torch.manual_seed(0)    ref_logp = torch.tensor([-1.2, -0.8, -0.5, -0.9])    desired = torch.tensor([True, False, True, False])    policy_logp = torch.nn.Parameter(torch.zeros(4))    optimizer = torch.optim.SGD([policy_logp], lr=0.2)     for epoch in range(6):        optimizer.zero_grad()        loss = kto_loss(policy_logp, ref_logp, desired, beta=0.5)        loss.backward()        optimizer.step()        print(f"epoch {epoch}: loss={loss.item():.4f}")     print("final logp:", policy_logp.detach().numpy()) if __name__ == "__main__":    main()
目的:用 PyTorch 实现一个带损失厌恶权重的 KTO 损失,并演示训练后“好样本概率上升、坏样本概率下降”。
  1. r = beta * (policy_logp - ref_logp)用概率对数之差构造隐式奖励,这是 KTO 的核心信号。
  2. z0 = torch.mean(r).detach()用当前批次均值作为参考点(简化版),离开计算图避免梯度反传影响。
  3. torch.where(desired, torch.sigmoid(r - z0), torch.sigmoid(z0 - r))好样本走收益分支,坏样本走损失分支。
  4. torch.full_like(r, alpha_neg * lambda_neg)坏样本权重更大,体现前景理论的损失厌恶。
  5. return (w * (1 - u)).mean()效用越高损失越小,模型逐步对齐标签方向。
  6. policy_logp = torch.nn.Parameter(torch.zeros(4))用四个可学习参数代表四条回复的概率,便于观察梯度方向。
  7. optimizer.step()每轮更新后,好样本的 logp 上升、坏样本的 logp 下降,正是 KTO 期望的对齐信号。

常见误区

误区我以为 KTO 跟 DPO 差不多,一定也是拿两个回答做对比才有“偏好”,不然模型怎么知道好坏。

正解KTO 的核心恰恰是“非配对”:每条数据只需一个回答加一个“好/坏”标签。它通过参考点 $z_0$ 判断单样本的好坏,而不是通过与另一条回答比较。就算手里只有成对数据,也要先拆成两条单样本再用。这就像老张不需要把两个学生拉出来比武,只看单次表现就能记一笔账。

为何常见:因为主流对齐方法(RLHF、DPO)都强调偏好对,大家习惯性认为“没有对比就没有偏好”,忽略了参考点也能提供判断基准。

误区KTO 的 KT 就是纪念卡尼曼和特沃斯基,loss 怎么写还是靠试出来的,心理学只是营销话术。

正解KTO 的数学结构直接编码了前景理论:价值函数的分段凹凸对应好/坏样本的 sigmoid 分支,参考点 $z_0$ 对应“相对得失”的判断基准,坏样本加权对应损失厌恶。少了这些设计,KTO 就退化成普通二元分类损失,不会有单样本对齐的优势。

为何常见:很多入门教程只给 loss 公式不讲理论来源,学习者就只能记住公式,无法理解为什么分段加权有效。

误区前景理论说人讨厌损失,那我是不是把坏样本的权重调得越大,模型就学得越快越好?

正解过大的坏样本权重会让模型过度恐惧负面信号,导致输出萎缩、回避风险、说一堆废话。真实的老张也不会因为学生一次迟到就罚一周。权重要平衡:坏样本略重可以贴近损失厌恶,但必须配合 KL 散度约束和验证集评估,防止模型彻底跑偏。

为何常见:看到“损失厌恶系数 λ > 1”就误以为越大越符合理论,忽略了训练稳定性和模型质量约束。

误区KTO 只需要数据里的好坏标签,直接拿模型训练就完了,不需要额外准备一个参考模型。

正解KTO 的隐式奖励 $r_{\mathrm{KTO}}$ 是当前模型与参考模型的概率比,参考模型是不可或缺的锚点;它同时支撑 KL 散度约束,防止模型在追逐标签时丢失语言能力。没有参考模型,隐式奖励无处计算,也没人知道模型漂了多远。

为何常见:对比 RLHF 时觉得 KTO 省掉了奖励模型,但这不等于省掉参考模型,二者在训练管线中承担的角色完全不同。

面试题

Q1. KTO 中的“KT”指哪两位学者?

单选题 · easy

  • A.行为经济学卡尼曼与特沃斯基← 正确答案
  • B.深度学习辛顿与杨立昆
  • C.强化学习萨顿与巴尔托
  • D.信息论的香农与图灵

答案:A。KTO 全称 Kahneman-Tversky Optimization,来自卡尼曼与特沃斯基的前景理论。辛顿与杨立昆是深度学习代表人物,萨顿与巴尔托是强化学习先驱,香农与图灵属于信息论与计算理论,与 KTO 命名无关。

Q2. KTO 训练需要哪种偏好数据?

单选题 · easy

  • A.每轮必须两个回复成对比较
  • B.只需单条回复的好坏标签← 正确答案
  • C.只需回答的绝对分数
  • D.只需要提示无需回复

答案:B。KTO 是非配对偏好学习,每条数据包含一个回复和“好/坏”标签即可。选项 A 是 DPO 的需求,选项 C 的绝对分数还需确定参考点,选项 D 缺回复无法计算隐式奖励。

Q3. 前景理论中“损失厌恶”最贴切的描述是?

单选题 · easy

  • A.损失比等量收益带来的感受更强烈← 正确答案
  • B.收益比等量损失带来的感受更强烈
  • C.损失和收益的感受完全对等
  • D.人不关心得失只关心总量

答案:A。前景理论的核心发现是丢掉 100 元的痛苦大于捡到 100 元的快乐,因此损失侧曲线更陡。选项 B、C、D 都与这一发现相反。

Q4. KTO 的隐式奖励主要来自什么?

单选题 · mid

  • A.训练好的独立奖励模型打分
  • B.当前与参考模型的概率比对数← 正确答案
  • C.用户对回答的手动评分
  • D.生成回答的文本长度

答案:B。隐式奖励 $r_{\mathrm{KTO}} = \beta \ln(\pi_\theta / \pi_{\mathrm{ref}})$,来自当前模型与参考模型概率比的加权对数。A 是 RLHF 的显式奖励,C 是标签来源,D 与奖励无关。

Q5. KTO 中参考点 z0 的核心作用是什么?

单选题 · mid

  • A.区分回答好坏的分界线位置← 正确答案
  • B.决定采样温度的超参数
  • C.控制输出最大长度阈值
  • D.记录模型训练的轮次数

答案:A。$z_0$ 是前景理论中“相对得失”的参照,高于它记好账、低于它记坏账,是 KTO 判断单样本好坏的分界。其他选项分别属于解码策略、文本生成和训练日志的范畴。

Q6. 下列哪种数据可以被 KTO 直接利用?

单选题 · mid

  • A.每条回复标注“好”或“坏”← 正确答案
  • B.只有回复间两两输赢关系
  • C.只有人类写的参考范文
  • D.只有生成时的随机种子

答案:A。KTO 直接消费单样本好坏标签,正是“非配对”的体现。纯两两输赢关系需先降级拆解,参考范文和随机种子无法提供偏好信号。

Q7. KTO 与 DPO 在数据需求上最大差别是什么?

单选题 · hard

  • A.DPO 需要配对偏好 KTO 不需要← 正确答案
  • B.KTO 需要配对偏好 DPO 不需要
  • C.两者都需要同等配对偏好
  • D.两者都不需要任何标注

答案:A。DPO 的损失函数强制要求成对数据 $(y_w, y_l)$,KTO 用“单样本与参考点”替代配对差,因此只需好坏标签。这是两者最重要的数据需求分水岭。

Q8. KTO 损失中权重 wy 可以用来做什么?

多选题 · mid

  • A.放大坏样本的惩罚力度← 正确答案
  • B.调节好样本的重要程度← 正确答案
  • C.控制 KL 约束的整体强度
  • D.替代模型的学习率

答案:AB。$w_y$ 是样本级权重,可分别增大坏样本惩罚或调节好样本重要度,对应前景理论的损失厌恶。C 的 KL 强度由单独的 KL 项或加权系数控制,D 是优化器参数,与样本权重无关。

Q9. 下列哪些属于前景理论的核心概念?

多选题 · easy

  • A.参考点效应← 正确答案
  • B.损失厌恶特性← 正确答案
  • C.边际效用递减← 正确答案
  • D.贝叶斯先验

答案:ABC。前景理论包含参考点、损失厌恶和敏感性递减(收益侧效用递减)。贝叶斯先验属于概率统计框架,不是前景理论的概念。

Q10. 在联邦学习场景下应用 KTO 的合理做法有哪些?

多选题 · hard

  • A.各端本地判定回复好坏← 正确答案
  • B.只上传统计或梯度信息← 正确答案
  • C.直接共享全部用户原文
  • D.用安全聚合保护隐私← 正确答案

答案:ABD。联邦学习要求原始数据不出域,因此本地判定标签、只上传梯度或统计量、配合安全聚合都是合理做法。C 直接共享用户原文违反隐私保护原则,与联邦学习目标相悖。