Whose Boat Does it Float? Improving Personalization in Preference Tuning via Inferred User Personas¶
会议: ACL 2025
arXiv: 2501.11549
代码: Pinafore/alignment-personalization
领域: LLM对齐
关键词: personalization, DPO, persona inference, abductive reasoning, preference tuning
研究背景与动机¶
标准偏好学习默认一个极强假设:如果在同一 prompt 下回答 A 被选中、回答 B 被拒绝,那么 A 就比 B 更好。 这个假设在做通用对齐时很方便,但一旦进入个性化场景就开始失真。 现实中的“更好”通常依赖用户是谁、偏好什么、在意什么。 例如有些用户喜欢简洁回答,有些用户更喜欢步骤完整、细节充分的回答。 在这种情况下,被拒绝的回答不一定“坏”,而可能只是更适合少数用户。 作者认为,当前 DPO 一类方法真正丢掉的不是分数,而是“为什么有人会更喜欢这个回答”的解释信息。 标准偏好数据只有 prompt、chosen、rejected,没有记录偏好背后的用户画像。 于是模型学到的是“尽量像多数人选中的答案”,而不是“根据不同 persona 给不同答案”。 这会导致模型面对明确个性化要求时仍然回复一个平均化答案。 论文开头给出的例子很有代表性:用户只想要简短列表,DPO 模型却给出 10 个点;用户明确戒酒,模型仍建议雇调酒师。 这些错误并不是模型不会回答任务本身,而是它没有学会把回答和用户 persona 对齐。 本文因此提出一个更强的偏好学习视角:偏好不只回答“哪一个更好”,还应回答“对谁更好、为什么更好、在什么条件下更好”。 作者借用溯因推理这个概念,把 persona 看成解释偏好结果的隐藏上下文。 给定 prompt 和两个候选回答,若能反推出一个合理 persona,说明这个 persona 是偏好差异的解释变量。 一旦这些 persona 能自动从现有偏好数据中推断出来,就可以反过来增强训练集,训练模型按照 persona 生成不同风格与内容的回答。 换句话说,本文动机不是再造一个更强 judge,而是把偏好学习从“群体平均最优”推进到“条件化个体最优”。
方法详解¶
全文方法分成两个连续阶段:Persona Inference,简称 PI;Persona Tailoring,简称 PT。 PI 的任务是从已有偏好数据中推断 persona。 PT 的任务是把这些 persona 当作附加条件,再训练模型根据 persona 输出定制化回答。
先看 PI。 设 prompt 为 \(p\),两个候选回答为 \(r_1\) 和 \(r_2\)。 PI 的目标是生成一个 persona \(\mathcal{P}_1\),使得一个具有该 persona 的用户会偏好 \(r_1\) 而非 \(r_2\)。 如果把 \(r_1\) 设为 chosen、\(r_2\) 设为 rejected,就得到 chosen persona \(\mathcal{P}_C\)。 交换两者顺序,又可得到 rejected persona \(\mathcal{P}_R\)。 这个过程看似简单,实则把偏好解释从“响应质量差异”提升到了“用户差异建模”。 作者对 persona 的格式做了约束:统一采用 “The user is [attribute] and prefers [explanation of preference]” 的句式。 同时要求 persona 只描述高层次特征,如信息需求、兴趣、个性,而不涉及种族等受保护属性,以避免刻板印象和伦理风险。 推理使用 5-shot prompting,让模型输出一句简短 persona 描述。 实验里比较了 Claude、GPT 和 LLaMA-3.1 系列共 9 个模型,发现 LLaMA-405B 表现最佳。
PI 真正巧妙的地方在于它不仅为 chosen 回答推 persona,也为 rejected 回答推 persona。 传统偏好学习几乎把 rejected response 当成纯噪声或负样本,但本文认为 rejected 里可能埋着“不常见但合理”的需求。 因此 \(\mathcal{P}_R\) 不是训练里的废料,而是评测模型个性化能力的难样本来源。
再看 PT。 PT 要解决的是:给定 prompt \(p\) 和 persona \(\mathcal{P}\),模型能否生成适配该 persona 的回答 \(r\)。 作者先用 LLaMA-405B 在训练集上跑 PI,把现有偏好数据增强成带 persona 的版本。 然后用 LLaMA-8B 作为学生模型测试三种利用方式。
第一种是 PT_fs,也就是 few-shot prompting。 做法很直接,把带 persona 的示例拼进 prompt,期待模型在上下文中模仿这种个性化行为。 这种方法不需要训练,部署最轻,但稳定性有限。
第二种是 PT_sft。 把 persona 和 prompt 作为输入,把 chosen response 作为监督目标做 SFT。 本质上是学一个条件生成模型:输入不只是任务,还包括用户画像。
第三种是 PT_dpo。 先在 PT_sft 的基础上得到初始化模型 \(\pi_0\),再用 DPO 进一步优化。 此时输入变成 \(x = \langle p \cdot \mathcal{P}_C \rangle\),模型要提高 chosen response 相对 rejected response 的条件概率。 这一步对应的思想非常关键:不是单纯学“这道题该怎么答”,而是学“对于这样的 persona,这种回答比另一种更合适”。
作者在训练时只使用 chosen persona \(\mathcal{P}_C\) 和 chosen response \(r_C\) 监督 SFT,并在 DPO 中用 \(r_C\) 对 \(r_R\) 做偏好优化。 为什么不同时用 rejected persona 和 rejected response 训练? 论文给出的理由是,\(\mathcal{P}_R\) 只解释了为什么有人会选 rejected,并不意味着 rejected 本身就是最优个性化回答。 经验上,直接把 \(\mathcal{P}_R\) 和 \(r_R\) 当正样本训练收益不高,因为 \(r_R\) 的平均质量依然更低。 但 \(\mathcal{P}_R\) 在推理和评测中依然重要,因为它代表少数但合理的偏好类型。
作者还设计了测试时 persona 获取方式,避免信息泄露。 如果直接使用当前样本的 gold persona,可能相当于偷看答案。 所以更现实的做法是从训练集中用 ColBERT 检索相似 prompt,取其 persona 作为 retrieved persona,即 \(\mathcal{P}_{retr}\)。 实验中同时报告使用 \(\mathcal{P}_{gold}\) 和 \(\mathcal{P}_{retr}\) 的结果,前者反映上限,后者更接近真实使用方式。
整个方法链条可以概括为: 先用大模型通过溯因推理把“偏好”解释成“用户画像差异”。 再把这些画像附着到偏好数据上。 最后用 persona-aware 的 prompting、SFT 或 DPO 训练较小模型,使之在看到 persona 时能给出更定制化回答。 这其实是一种“把大模型的解释能力蒸馏进小模型的个性化能力”的路线。
| 阶段 | 输入 | 输出 | 关键作用 |
|---|---|---|---|
| Persona Inference | prompt + 两个回答 | chosen/rejected persona | 解释用户为何偏好某个回答 |
| Persona Tailoring-FS | prompt + persona + few-shot 样例 | 个性化回答 | 零训练快速验证 persona 价值 |
| Persona Tailoring-SFT | prompt + persona | chosen 回答 | 显式学习 persona 条件生成 |
| Persona Tailoring-DPO | prompt + persona + chosen/rejected 对 | 更优个性化模型 | 在 persona 条件下做偏好优化 |
| 方法设计点 | 作者选择 | 含义 |
|---|---|---|
| persona 来源 | 由 LLaMA-405B 推断 | 用强模型提供解释型监督 |
| persona 形式 | 单句高层次描述 | 便于解析,也降低过拟合文本表层 |
| 训练信号 | 只训练 \(\mathcal{P}_C\) 和 \(r_C\) | 保持回答质量,不把低质 rejected 当正样本 |
| 测试 persona | 同时报 \(\mathcal{P}_{retr}\) 与 \(\mathcal{P}_{gold}\) | 区分现实场景与理想上限 |
实验关键数据¶
PI 阶段覆盖 BeaverTails、SHP、Anthropic HHH、Mnemonic 四个数据集,横跨问答、对话、教育三类场景。 作者对每个数据集采样 300 条,共形成 600 个 PI 输入,并用 GPT-4o 作为 judge 检验 persona 是否真的能解释用户偏好。 结果显示,LLaMA-405B 的 persona 推断准确率达到 91%,与人工判断的一致度约为 90%。 更重要的是,chosen persona 与 rejected persona 的质量差距并不大,最佳模型二者准确率差只有 0.06。 这说明 rejected response 背后确实可能对应真实存在但没那么主流的用户需求。
| PI 评估项 | 结果 | 含义 |
|---|---|---|
| 最佳 PI 模型 | LLaMA-405B | 开源模型里最稳 |
| PI 准确率 | 91% | persona 能正确解释偏好方向 |
| 人工与 GPT-4o 一致度 | 90% | judge 结果可信 |
| chosen/rejected persona 准确率差 | 0.06 | rejected persona 同样具备解释力 |
| 人工定性结论 | rejected persona 更少见但合理 | 支持“少数偏好也应被服务” |
进入 PT 阶段后,作者用 BeaverTails、Anthropic HHH 和 Mnemonic 三个数据集构造 persona-augmented preference data。 训练集规模分别为 2449、1059 和 328 条。 主评测使用 Prometheus 做 pairwise judge,从 Response Quality 和 Personalization 两个维度分别比较,并定义综合指标 \(\Delta PQ\) 来平衡质量与个性化。
主结果非常明确:无论是 few-shot、SFT 还是 DPO,只要把 persona 引入,个性化几乎都得到明显提升。 其中 PT_dpo 始终最强。 在使用 retrieved persona 时,BeaverTails 上 \(\Delta PQ = +36.8\),Anthropic HHH 上为 +8.4,Mnemonic 上为 +28.6。 如果使用 gold persona,上限更高,BeaverTails 可达 +41.6,Anthropic HHH 达到 +23.0。
| 方法 | BeaverTails \(\Delta PQ\) | Anthropic HHH \(\Delta PQ\) | Mnemonic \(\Delta PQ\) |
|---|---|---|---|
| PT_fs + \(\mathcal{P}_{retr}\) | +46.3 | +2.5 | +20.3 |
| PT_sft + \(\mathcal{P}_{retr}\) | +12.3 | +9.3 | +20.5 |
| PT_dpo + \(\mathcal{P}_{retr}\) | +36.8 | +8.4 | +28.6 |
| PT_fs + \(\mathcal{P}_{gold}\) | +55.0 | +12.5 | - |
| PT_sft + \(\mathcal{P}_{gold}\) | +23.0 | +27.8 | - |
| PT_dpo + \(\mathcal{P}_{gold}\) | +41.6 | +23.0 | - |
作者随后做了一个更关键的实验:比较“训练时没见过 persona 的普通 DPO”与“训练时见过 persona 的 PT_dpo”,看普通 DPO 能否在测试时靠把 persona 写进 prompt 就自动学会个性化。 答案是否定的。 PT_dpo 在 chosen persona 上已经优于 DPO,但在 rejected persona 这种少数派需求上优势更大。 平均来看,PT_dpo 相对 DPO 在 rejected persona 上的 \(\Delta PQ\) 为 23.7,而在 chosen persona 上只有 13.4。 这说明普通 DPO 可能会隐式学习主流偏好,但很难支持不常见 persona。
| 对比设置 | 平均结果 | 解释 |
|---|---|---|
| PT_dpo vs DPO on chosen persona | \(\Delta PQ = 13.4\) | 普通 DPO 对主流 persona 有有限适配能力 |
| PT_dpo vs DPO on rejected persona | \(\Delta PQ = 23.7\) | 少数派 persona 需要显式训练 |
| BeaverTails rejected + \(\mathcal{P}_{gold}\) | +21.3 | 说明难例上 PT 更明显占优 |
| HHH rejected + \(\mathcal{P}_{retr}\) | +35.6 | 对话场景中少数偏好收益更大 |
论文还有两类额外验证。 第一类是人工对 persona 质量的检查。 三位 PhD 学生对 80 个 persona 从 plausibility、applicability、harmfulness 和 overfitting 四个轴打分,结果表明 chosen 和 rejected persona 都相当 plausible,rejected 主要只是适用人群更少。 第二类是真实用户评测。 8 位学生用户在 BeaverTails 和 HHH 场景下手写 144 个 persona,并对 PT_dpo 与 DPO 输出从 Answerability 和 Personalization 两个维度打 1 到 5 分。 结果显示,尤其在 BeaverTails 上,PT_dpo 的个性化评分显著更高,而回答可答性几乎不掉。
综合来看,这篇论文的实验不是只证明“persona 有用”,而是逐层证明三件事:persona 能被推出来、persona 质量合理、persona-aware 训练确实能提升模型支持不同用户需求的能力。
亮点与洞察¶
本文最大的亮点是重新定义了偏好学习的问题形式。 它不再把 chosen 和 rejected 看成简单的“好坏”二元,而是看成“不同用户需求在同一 prompt 下的条件偏好”。 第二个亮点是 rejected response 被重新赋予价值。 过去它只是负样本,本文则把它变成发掘少数派 persona 和构造困难评测的来源。 第三个亮点是 PI 与 PT 的组合非常轻量。 现有偏好数据不需要重采集,只要用强模型跑一次 persona inference,就能把原数据升级成 persona-aware 训练集。 第四个亮点是作者把 persona 不只用来训练,也用来分析数据偏差。 例如 BeaverTails 中 chosen persona 常出现 “meticulous”“multiple”,rejected persona 常出现 “to-the-point”“concise”,说明原始偏好数据存在 verbosity bias。 这使 persona 同时具备训练信号与数据诊断信号双重价值。 我认为最重要的洞察是:如果训练目标只对齐多数偏好,那么模型最终学到的往往是“平均人设”,而不是“可条件化适配”。
局限与展望¶
第一,PI 依赖强大 LLM,尤其是 LLaMA-405B 这类大模型,小模型推 persona 的质量会明显下降。 第二,persona 当前被压缩成一句高层次描述,表达力足够简洁,但对复杂、多维、动态变化的用户需求可能不够。 第三,PT 默认 persona 是无害的,这会带来 sycophancy 风险,恶意 persona 可能诱导模型输出有偏、危险或不相关内容。 第四,实验虽覆盖三个领域,但仍停留在静态单轮 prompt 层面,没有建模长期交互中 persona 演化的问题。 未来可能的改进包括: 一是把 persona 从单句扩展成结构化 profile,例如信息需求、容忍细节程度、安全边界等多个字段。 二是把 PI 引入 reward model 训练,直接做 persona-aware reward modeling,而不只是 persona-aware generation。 三是结合长期历史推断 persona,而不是每次只依据一条 preference pair。 四是在安全层面加入 persona filtering、拒答训练和系统级安全提示,减少对抗性 persona 带来的风险。
相关工作与启发¶
和标准 DPO 相比,本文的区别不是换了优化器,而是给 DPO 补上了“用户条件”这一缺失变量。 和已有 personalization work 相比,本文不要求先收集大量真实 persona 标注,而是通过溯因推理从现成偏好数据里自动挖出来,数据成本显著更低。 和把 persona 仅当推理时附加 prompt 的方法相比,本文证明没有 persona-aware 训练,仅靠推理时补一句“我是怎样的人”是不够的。 和安全对齐工作相比,本文也提供了一个值得借鉴的视角:很多所谓“被拒绝的回答”并非都应简单视作低质,有些只是偏离主流偏好。 对后续研究的启发至少有三点。 第一,可以把 rejected persona 当作 personalization benchmark 的难例来源,用来测模型是否只服务多数人。 第二,可以把 persona 作为分析器,反向检查偏好数据是否偏向冗长、保守、讨好等特定风格。 第三,在教育、医疗、法律咨询等强个体差异场景中,persona-aware preference tuning 很可能比统一对齐更重要,因为“最有帮助的回答”本来就因人而异。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 把溯因推理引入偏好学习并显式恢复 persona,是很强的概念推进。
- 实验充分度: ⭐⭐⭐⭐⭐ PI 准确率、人类 sanity check、Prometheus 评测、rejected persona 难例分析、真实用户评测都比较完整。
- 写作质量: ⭐⭐⭐⭐☆ 叙事很顺,PI 和 PT 的关系讲得清楚,实验组织也有层次。
- 价值: ⭐⭐⭐⭐⭐ 对个性化对齐、数据分析和构造更公平的偏好评测都很有启发。
- 综合评价: 9.2/10。它真正击中了偏好学习里一个长期被忽视的问题:多数人喜欢,不代表所有人都该被同一种回答服务。--- title: >- [论文解读] Whose Boat Does it Float? Improving Personalization in Preference Tuning via Inferred User Personas description: >- [ACL 2025][LLM对齐][personalization] 提出基于溯因推理(abductive reasoning)的偏好个性化框架:通过 Persona Inference (PI) 推断偏好数据 chosen/rejected 回答背后的用户画像,再用画像增强的偏好数据进行 Persona Tailoring (PT) 训练,使 LLM 能根据用户画像生成个性化回答,在对话、问答、教育三个领域均大幅提升个性化适配能力。 tags:
- ACL 2025
- LLM对齐
- personalization
- preference optimization
- abductive reasoning
- persona inference
- DPO