注:本文包含 AI 辅助创作
- 参考链接:
- 原始论文:SDPO: Segment-Level Direct Preference Optimization for Social Agents, 202502, Nankai, Alibaba
- 论文 GitHub 开源网址:AlibabaResearch/DAMO-ConvAI
- 论文是 南开实习生在阿里实习时的工作
- 原始论文:SDPO: Segment-Level Direct Preference Optimization for Social Agents, 202502, Nankai, Alibaba
Paper Summary
- 整体说明:
- 论文提出了 Segment-level 直接偏好优化(Segment-Level Direct Preference Optimization, SDPO),用于提升 LLM-based Agent 在多轮社交对话中 的表现
- 对比:与现有的多轮对齐方法(如 ETO 和 DMPO)不同:SDPO 通过聚焦 Session 中的关键片段(key segments)来优化 Agent 策略
- 背景 & 问题:
- LLM 驱动的社交 Agent 能够模拟人类社交行为,但在处理复杂社交对话时仍存在不足
- DPO 在多种 Agent 任务中已被证明能有效对齐 LLM 行为与人类偏好
- 标准 DPO 仅关注单轮对话,这限制了其在多轮社交互动中的效果
- 一些基于DPO的多轮对齐方法(利用 Session-level 数据)已展现出解决这一问题的潜力
- 这些方法考虑了整个 Session 中的多轮对话,但其粒度通常过于粗糙,会引入训练噪声,且缺乏坚实的理论支持
- 本文解法:SDPO
- 该方法通过动态选择交互中的关键分段(Segment)来优化多轮 Agent 行为
- SDPO 能够最小化训练噪声,并建立在严格的理论框架之上
- 在 SOTOPIA 基准测试上的评估表明,经 SDPO 调优的 Agent 在性能上 consistently 优于现有的基于 DPO 的方法以及 GPT-4o 等专有 LLM,这凸显了 SDPO 在提升 LLM-based Agent 社交智能方面的潜力
- 注:论文的代码和数据已开源
Introduction and Discussion
- LLM 的进步显著提升了其在语言理解和生成方面的能力,尤其是在人机交互领域
- 通过融入身份特定信息,LLM-based Agent 能够模拟人类社交行为,在角色扮演休闲对话[22, 23]和模拟社交环境导航[24]等任务中展现出基本的社交智能
- 然而,近期研究[27]表明,在更复杂的、目标导向的社交场景(如谈判、竞争与合作)中,LLM 仍难以表现出人类社交互动中特有的细腻决策能力
- 为应对这些挑战,研究者们开发了多种方法以更好地对齐 LLM 行为与人类偏好
- 这些方法为改进 LLM 的社交决策提供了有前景的策略
- 论文关注基于直接偏好优化(DPO)的方法。标准 DPO[19]通过识别单轮对话,并利用该轮中的“ Positive - Negative (positive-negative)”响应对,通过偏好损失函数优化模型
- 尽管 DPO 已展现出一定效果,但其对单轮对话的关注限制了其在目标导向社交对话中建模目标完成的能力,因为这类对话的成功通常依赖于跨越多轮的高质量互动
- 为更有效地对齐多轮互动中的 Agent 行为,研究者提出了多种多轮对齐方法,包括 ETO[20]和 DMPO[26]
- 这些方法将采样范围从单轮扩展至整个 Session ,通过构建 “good and bad” 的 Session 对并应用改进的 DPO 损失进行训练
- 论文将这些方法归类为 Session-level DPO,它们在数据粒度和理论基础上均存在局限性
- 从数据角度来看,Session-level DPO 因其较粗的对齐粒度而存在以下缺陷:
- (i) Negative Session 中无错误的轮次也会被误判为 Negative 输出 ,从而引入大量噪声,对训练过程产生 Negative 影响
- (ii) 从零开始采样为对话者(interlocutor)提供了巨大的行动空间。 Positive Session 的高分可能源于对话者行为的改变 ,这使得模型难以从 Positive 样本中学习正确的行为模式
- 理解:这里是说高分 Session 可能不是 Agent 回答的好,而是 Interlocutor 回答的好
- 从理论角度来看,在多轮场景中,直接应用 DPO 无法消除配分函数(partition function) \( Z \)(2024)
- ETO 将 DPO 损失扩展至多轮互动,但缺乏形式化的理论保证
- DMPO 结合了 SAOM 理论,成功将 \( Z \) 转换为常数;
- 然而,由于 Positive 和 Negative Session 的轮次数量不同,DMPO 通过启发式长度归一化消除 \( Z \),但缺乏严格的数学证明
- 这部分的详细的理论分析见附录B.2
- 为克服 Session-level DPO 的局限性,论文提出了 Segment-level 直接偏好优化(SDPO)
- 论文的方法将采样起点向后移动,并截断 Session 末尾的无用内容,从而获取关键分段对以细化粒度
- 同时,论文确保 Positive 和 Negative 分段的轮次数量一致,从而消除 \( Z \) 并严格推导出 SDPO 损失
- 具体而言,SDPO 的做法如下:
- 识别 Negative Session 中的错误轮次 ,利用该错误轮次之前的交互历史进行多次采样 ,生成 Positive Session
- 问题:怎么识别到错误轮次呢?回答:见后面的章节
- 以首个差异轮次为起点,从 Positive Session 中选择有助于提升分数的关键分段 ,并从 Negative Session 中截取相同长度的对应分段以形成数据对
- 问题:如何评估有助于提升分数?回答:见后面的章节
- 针对分段内的轮次计算 SDPO 损失
- 识别 Negative Session 中的错误轮次 ,利用该错误轮次之前的交互历史进行多次采样 ,生成 Positive Session
- 论文在图1中展示了三种社交对话(social dialogues)对齐算法的概览

- 在数据层面,SDPO 能够解决 Session-level DPO 的缺陷,SDPO 优点如下:
- (i) 仅针对 Negative 和 Positive 分段中的轮次计算损失,从而大幅消除了非错误轮次引入的训练噪声
- (ii) 从错误轮次开始采样缩小了对话者的行动空间,使得采样得到的 Positive Session 更可能包含 Agent 的正确行为模式
- 理解:这是相对上面 Session-level 对话对应的问题
- 在理论上,得益于分段选择的灵活性,SDPO 能够控制 Positive 和 Negative 分段的轮次数量以确保一致性,从而消除 \( Z \) 并得到一个简洁而严谨的 SDPO 损失
- 我们通过 SOTOPIA(2024)这一开放、交互式的社交智能基准测试对我们的方法进行了实证评估
- 实验采用了自对话(self-chat)以及与其他智能体(包括 GPT-4o 和 GPT-4o-mini)的交互形式
- 结果表明,经过 SDPO 调优的智能体在性能上始终优于 DPO、ETO、DMPO 等现有方法,甚至超越了 GPT-4o 等专有大语言模型,这充分证明了 Segment-level 对齐(segment-level alignment)的有效性
- Segment level 是一种更灵活且统一的数据粒度,能够根据不同数据对动态选择优化范围,同时优雅地解决了多轮对齐的理论挑战。在论文中,我们主要将SDPO应用于提升智能体的社交智能,但我们相信该方法同样适用于其他场景,从而进一步扩展智能体在不同领域的能力
- 论文的主要贡献包括以下三点:
- 提出了 SDPO,这是一种新颖的多轮对齐算法,为 Segment-level 偏好数据对的构建提供了完整的流程,实现了更高效的对齐粒度
- 指出了现有多轮对齐方法在理论上的局限性,并通过分段粒度(segment-level granularity)的灵活性解决了这些问题,严谨地推导出了一个简洁的 SDPO 损失函数公式
- 在 SOTOPIA 这一模拟交互式社交基准测试上评估了论文的方法,SDPO 的表现及深入分析证明了 Segment-level 对齐的有效性和鲁棒性
Preliminary
SOTOPIA Environment
- SOTOPIA 提供了一个交互式、开放且逼真的模拟环境,能够更精准地评估 Agent 的社交智能(不同于其他静态问答形式测试的社交基准(2019; 2024)不同)
- SOTOPIA 中的社交任务包含一个场景、两个角色档案及其需要通过互动达成的私人社交目标
- 场景与社交目标的多样化组合涵盖了谈判、合作与竞争等广泛的社交互动类型
- SOTOPIA 定义了七个评估社交 Agent 的维度
- 论文主要关注“目标(goal)”(0 to 10,int)和“关系(relationship)”(-5 to 5,int)
- 因为 GPT-4o 在这些指标上的评分与人类评估高度一致
- SOTOPIA-\(\pi\)(2024a)是一项后续工作,利用 GPT-4 自动构建了一组场景(与 SOTOPIA 完全不重叠),作为本研究的训练数据集
- 此外,论文重构了 SOTOPIA 的提示组织格式以支持多轮对齐,具体细节见附录A
Task Formulation
- 在 SOTOPIA 任务中,论文将 Agent 可用的背景信息记为 \( b \),包括场景、角色档案及其目标
- Agent 在第 \( n \) 轮面临的交互历史 \( h_n \) 定义如下:
$$
h_n =
\begin{cases}
b, y_0, y’_0, \ldots, y_{n-1}, y’_{n-1}, & \text{if speak first} \\
b, y’_0, y_0, \ldots, y_{n-1}, y’_n, & \text{if speak later}
\end{cases} \tag{1}
$$- \( y_i \sim \pi_\theta(\cdot|h_i) \) 表示 LLM-based Agent 在第 \( i \) 轮根据其策略 \( \pi_\theta \) 和参数 \( \theta \) 生成的输出;
- \( y’_i \) 表示对话者的输出,其服从一个未知分布
- 基于此形式化,论文在附录B.1和B.2中分别给出了 ETO 和 DMPO 的损失函数
Direct Preference Optimization
- Rafailov 等 (2023) 提出了直接偏好优化(DPO),该方法利用成对偏好数据训练策略模型,而无需依赖强化学习(2022)。在社交对话场景中,论文将错误轮次编号记为 \( e \),DPO 损失函数定义如下:
$$
L_{DPO} = -\mathbb{E}_{(h_e, y^w_e, y^l_e) \sim D} \log \sigma
\left[ \beta \log \frac{\pi_\theta(y^w_e|h_e)}{\pi_{ref}(y^w_e|h_e)} - \beta \log \frac{\pi_\theta(y^l_e|h_e)}{\pi_{ref}(y^l_e|h_e)} \right], \tag{2}
$$- 其中 \( y^w_e, y^l_e \sim \pi_\theta(\cdot|h_e) \) 分别表示错误轮次中的 Positive 和 Negative 输出
- 然而,由于其单轮优化的特性,DPO 并不适合社交对话
- 将 DPO 严谨地扩展至多轮场景是一个待解决的挑战,论文将在第3.3节中探讨这一问题
Method
Behavioral Cloning
- 注:使用 Behavioral Cloning 初始化 Agent
- Behavioral Cloning(BC)作为一种有效的模仿学习方法,被广泛应用于各类 LLM-based Agent 构建中
- 在本研究中,论文使用 GPT-4-turbo 作为专家模型,通过自对话(self-chat)以及与 GPT-4o 的交互,在 SOTOPIA-\(\pi\) 数据集上收集专家 Session 数据
- 基于这些数据,论文对开源大语言模型(如 Llama-3.1)进行微调,构建了实验所需的初始社交 Agent
Preference Data Construction
- 构建高质量的 Segment-level偏好数据对是本方法的核心
- 在 SOTOPIA-\(\pi\) 数据集上,论文的社交 Agent 通过自对话以及与 GPT-4o 的交互生成数据
- 论文设定目标维度(goal dimension)的阈值为 7,所有目标完成度低于此阈值的对话均被视为潜在的负样本
- 给定一个负样本 Session,生成 Segment-level 数据对的流程包括以下三个步骤(如图2 所示):

- 错误定位(Error Location)
- 与数学等具有明确错误定义的场景不同,社交对话中的错误是一个相对模糊的概念
- 在负样本 Session 中,如果论文的 Agent 在某一轮次(turn)的回应满足以下条件,则将该轮次 Token 为错误轮次:
- (1) 该轮次对实现角色目标至关重要;
- (2) 当前回应在目标完成度或双方关系改善方面仍有提升空间
- 注:错误定位由 GPT-4o 完成,具体提示词(prompt)见附录 C.3
- 正样本 Session 采样(Positive Session Sampling)
- 在错误定位后,基于该轮次之前的交互历史,论文采样 5 个完整 Session
- 从这些 Session 中选择目标分和关系分(优先考虑目标分)最高的一个
- 如果最优 Session 的目标分或关系分高于负样本,则该 Session 与负样本组成数据对;
- 否则丢弃该负样本
- 段选择(Segment Selection)
- 获得 Session-level 数据对后,论文将正负样本同时提供给 GPT-4o,提示其从正样本中选择一个段(segment)
- 该段应包含对正样本获得更高目标分和关系分起到关键作用的部分
- 接着从负样本中提取相同长度的段,与正样本段配对形成 Segment-level 数据对
- 问题:相同长度的段是什么意思?正负样本对的段不一定都完全一样吧
- 这一过程旨在排除与 Session 目标无关的轮次(如寒暄内容)
- 注:给 GPT-4o 的提示词见附录 C.3
- 获得 Session-level 数据对后,论文将正负样本同时提供给 GPT-4o,提示其从正样本中选择一个段(segment)
- 论文评估了 GPT-4o 在错误定位和段选择任务中的表现,结论显示其能够有效完成这两项任务,详细分析见附录 C.2
SDPO Loss
- 论文将 DMPO 的框架迁移到对话领域,并首先引入状态-动作占用测度(State-Action Occupancy Measure,SAOM)
- 在此框架下:
- 交互历史 \( h \) 作为状态(state),Agent 的输出 \( y \) 作为动作(action)
- 策略 \( \pi \) 的折扣 SAOM \( d^{\pi}(h, y) \) 定义如下:
$$
d^{\pi}(h = h_t, y = y_t) = \gamma^t \cdot P(h_0) \cdot \prod_{k=0}^{t-1} \pi(y_k | h_k) P(h_{k+1} | h_k, y_k), \tag{3}
$$- \( \gamma \) 为折扣因子
- 基于 \( d^{\pi} \) 的强化学习目标为:
$$
\max_{\pi_\theta} \mathbb{E}_{(h,y) \sim d^{\pi_\theta}(h,y)} [r(h, y)] - \beta \mathbb{D}_{KL} [d^{\pi_\theta}(h,y) || d^{\pi_{ref} }(h,y)], \tag{4}
$$ - 根据 DPO,式(4)的最优解为:
$$
d^{\pi^*}(h,y) = \frac{1}{Z} d^{\pi_{ref} }(h,y) \exp \left( \frac{1}{\beta} r(h,y) \right), \tag{5}
$$- \( \pi^* \) 为最优策略
- \( Z \) 为归一化概率的配分函数(partition function)
- 由于 \( d^{\pi}(h,y) \) 是 \( (h,y) \) 对的函数,对其进行归一化会导致配分函数 \( Z \) 与当前历史 \( h \) 无关
- 因此,\( Z \) 对所有 \( (h,y) \) 对均为常数,这是消除 \( Z \) 的关键步骤
- 奖励函数的形式为:
$$
r(h,y) = \beta \log \frac{d^{\pi^*}(h,y)}{d^{\pi_{ref} }(h,y)} + \beta \log Z. \tag{6}
$$ - 随后,论文使用 Bradley-Terry(BT)模型对偏好分布建模
- 在这一步中,DMPO 错误地重复计算了式(3)中的 \( \gamma \),并在后续步骤中启发式地对长度进行归一化以消除 \( Z \),但缺乏严格证明(详细讨论见附录 B.2)
- 给定偏好数据对,BT 模型的正确应用如下:
$$
p(\tau^w \succ \tau^l | h_0) = \sigma \left( \sum_{t=0}^{T_w - 1} r(h_t^w, y_t^w) - \sum_{t=0}^{T_l - 1} r(h_t^l, y_t^l) \right), \tag{7}
$$- 其中 \( \tau^w \) 和 \( \tau^l \) 分别表示“胜”和“负”样本,\( T_w, T_l \) 为各自的轮次数
- Session-level DPO 无法控制正负样本的长度,由于通常 \( T_w \neq T_l \),配分函数 \( Z \) 无法直接在式(7)中抵消
- 理解:正负样本通常不同,此时配分函数是消不掉的
- 与这些方法不同,SDPO 从正负样本中各选一个段进行优化,可以自由控制其长度
- 通过确保两段长度相同,论文能够直接消除式(7)中的 \( Z \)
- 同时,结合式(3)替换 \( d^{\pi} \),论文得到以下简洁的 SDPO 损失函数:
$$
L_\text{SDPO} = -\mathbb{E}_{(h_e, h^w, h^l) \sim D} \log \sigma \left[ \sum_{t=e}^{e+k} \beta \left( \log \frac{\pi_\theta(y_t^w | h_t^w)}{\pi_{ref}(y_t^w | h_t^w)} - \log \frac{\pi_\theta(y_t^l | h_t^l)}{\pi_{ref}(y_t^l | h_t^l)} \right) \right], \tag{8}
$$- \( e \) 表示错误轮次的编号
- \( k \) 为所选段中的总轮次数
Experiments
Datasets
- 训练使用的 SOTOPIA-\(\pi\) 共包含 410 个场景:
- 其中 100 个场景用于行为克隆(Behavioral Cloning, BC),每个场景包含 10 对角色;
- 310 个场景用于对齐,每个场景包含 8 对角色
- 测试使用的 SOTOPIA 包含 90 个场景,每个场景包含 5 对角色,总计 450 个自对话任务和 900 个非自对话任务
Experimental Setup
- 训练(Training)
- 论文主要使用 Llama-3.1-8B-Chat 作为基础 LLM 来构建社交 Agent
- 最大 token 限制设置为 4096
- 所有训练过程均采用 AdamW 优化器
- 在 SFT 阶段:
- 批大小为 32
- dropout 率为 0.2
- 学习率为 \(1 \times 10^{-5}\)
- 预热比例为 5%
- 采用余弦衰减调度
- 在 SDPO 的对齐训练阶段:
- 批大小保持为 32
- SDPO 损失中的 \(\beta\) 设为 0.1
- 学习率为 \(1 \times 10^{-6}\)
- 无预热
- 采用余弦衰减调度
- SDPO 训练数据的统计细节见附录 C.1
- SOTOPIA
- 在正样本采样过程中:
- 目标 Agent 的温度(temperature)设置为 1.0
- 另一 Agent 的温度设置为 0.7
- 测试时:
- 论文将两个交互 Agent 的温度均设为 0.7
- 尽管温度会为 Agent 的输出引入随机性,但论文发现评估结果在数值上保持稳定,因此论文基于单次测试报告结果(吐槽:这么稳定吗?仅单次报告就行?)
- 在正样本采样过程中:
Baselines
- 论文将提出的 SDPO 与以下几种强基线方法进行比较:
- 1)OpenAI 的专有大语言模型(如 GPT-4o),具体版本见附录 D.1
- 2)监督微调行为克隆(SFT Behavioral Cloning) :在专家交互数据上微调 LLM,生成的模型作为 SDPO 及其他基线的基础 Agent
- 3)直接偏好优化(DPO) :基于单轮数据优化 Agent 策略,具体针对 SDPO 中正负样本的首个差异轮次
- 4)基于探索的轨迹优化(ETO) :使用 Session-level 数据优化 Agent 策略
- ETO 使用与 SDPO 相同的负样本 Session,但从头采样五个新 Session 来构成数据对
- 5)动态多轮偏好优化(DMPO) :使用与 ETO 相同的数据,但采用 DMPO 新的损失函数更新策略
- 6)偏好监督微调(Preferred-SFT) :在 SDPO 的正样本 Session 上微调基础 Agent
Results
- 表1 展示了 SDPO 和所有基线方法在 SOTOPIA 上的结果

- 如表所示,在目标和关系两个维度上,SDPO 显著优于标准 DPO、 Session-level 的 ETO 和 DMPO,甚至大幅超越 GPT-4o 等专有 LLM,凸显了 Segment-level 对齐的有效性
- 通过分析 SOTOPIA 中的交互历史,论文发现较弱的 Agent 通常表现出固执性,仅重复表达需求,导致目标和关系水平较低,尤其是在自对话场景中
- 使用专家数据进行行为克隆可以有效改善这种情况,使 Agent 更具沟通性
- Llama-8B+BC 在与 GPT-4o 交互时目标率(goal rate)下降的原因是 Agent 变得更具说服力
- 论文还观察到,对齐后的 Agent 在目标和关系(goal and relationship)上同时提升,这表明对齐方法确实增强了模型的社会智能(social intelligence),而非通过违反社会规范的行为(如威胁或欺骗)实现目标
- 论文也在 Mistral-Instruct-v0.3 上重复了上面的实验,实验结果见 表2,实验设置的细节见附录 D.2
- 在这些实验上,SDPO 也一致超过了基线模型,展示了其泛化性
- 在这些实验上,SDPO 也一致超过了基线模型,展示了其泛化性
Analysis
- 模型输出长度的变化(Variation in Model Output Length)
- 图3 展示了各种 Agent 与 GPT-4o 交互时的输出长度
- 与 BC Agent 相比,所有对齐方法均增加了 Agent 的输出长度
- 这种现象在将 DPO 应用于 AI 聊天机器人时常见
- 但与用户对长回复的潜在偏见不同,有效的社交策略通常需要更多 token 进行沟通,因此输出长度的增加是合理的
- 此外,论文实验在 SDPO 调优的 Agent 达到 10 轮交互时终止对话,以在相似 token 数量下比较性能
- 结果显示,SDPO 仍优于其他多轮方法,表明 SDPO 调优的 Agent 能更高效地利用词汇

- 结果显示,SDPO 仍优于其他多轮方法,表明 SDPO 调优的 Agent 能更高效地利用词汇
- 图3 展示了各种 Agent 与 GPT-4o 交互时的输出长度
- 正样本利用效率(Efficiency of Positive Sample Utilization)
- 图4 展示了 Session-level 和 Segment-level 正样本的质量对比
- 在采样次数一致的情况下, Session-level 正样本在目标和关系上优于 Segment-level 正样本
- 从头采样提供了更大的采样空间,增加了生成高质量 Session 的可能性
- 但尽管 Session-level DPO 使用了更高质量的数据,其表现仍不及 SDPO
- 这表明由于 Segment-level 的更细粒度和对损失函数的理论支持,SDPO 能更高效地利用正样本

- 这表明由于 Segment-level 的更细粒度和对损失函数的理论支持,SDPO 能更高效地利用正样本
- 图4 展示了 Session-level 和 Segment-level 正样本的质量对比
- 论文还分析了 DPO 和 SDPO 对正负样本概率差异的影响,详细内容见附录 E.2
Ablation Study
- 段选择方法(Segment Selection)
- 论文探索了 SDPO 的不同段选择方法,结果如表3 所示
- 方括号中,负样本段的长度在前,正样本段的长度在后
- 对于对称段长度,固定长度为 3 和 5 的段优于长度为 1 的段(DPO),证明了多轮对齐的有效性
- 长度为 5 的段效果略逊于长度为 3 的段,表明更长的段并非总是更好
- 基于此,论文利用 GPT-4o 动态从每个正样本中识别关键段,取得了最佳结果
- 对于非对称段长度,[3,1] 和 [5,3] 的模型训练崩溃,无法正常交互
- 其他非对称段的表现均不及对称段,支持了 3.3 节的理论讨论
- 此外,随着非对称程度的降低,模型性能提升,这可能是因为未消除的 \(Z\) 对损失的影响减弱
- 这一发现有助于解释 ETO 的有效性,因其未对正负样本 Session 的长度施加约束

- 这一发现有助于解释 ETO 的有效性,因其未对正负样本 Session 的长度施加约束
- 论文探索了 SDPO 的不同段选择方法,结果如表3 所示
- 采样对话者(Interlocutor for Sampling)
- SDPO 的对齐数据分别使用 BC Agent 自身和 GPT-4o 作为对话伙伴收集
- 论文在每个数据子集上独立训练模型,结果如表4 所示
- 使用单一数据源训练的模型在自对话和与 GPT-4o 交互中均表现提升,进一步验证了 SDPO 的泛化能力
- 组合数据集训练的模型优于单一数据集训练的模型,表明引入多样化对话伙伴的数据可以进一步提升 Agent 的社会智能

- 分布外数据(Out-of-Distribution Data)
- 基础 BC Agent 从 GPT-4-turbo 生成的专家数据中学习,使用 GPT-4-turbo 生成正样本是否能带来更好的性能?
- 论文让 GPT-4-turbo 与 BC Agent 交互,并为 SDPO 采样 5 次
- 生成的正样本在目标和关系评分上均优于自采样样本
- 然而,如表4 所示,使用该数据训练的模型表现不及自采样方法
- 这表明分布外正样本的效果不如分布内样本
- 在训练过程中,分布外正样本的概率显著低于负样本,这种更大的概率差距可能是性能不佳的原因
Related Work
Social Intelligence
- 社交智能(Social Intelligence)可以定义为 Agent在社会互动中理解、适应和回应他人情感、意图和行为的能力
- 大多数关于社交智能的研究集中在评估方面,例如
- SOCIALIQA(2019)强调对社会情境的常识推理
- SocialIQ(2019)将评估模式从纯文本扩展到视频
- Shapira 等(2023)使用 Faux Pas Test 评估 LLM
- SocialBench(2024)则在个体和群体层面评估角色扮演 Agent 的社交性
- 此外,一些研究(2019; 2024)从心理理论(theory-of-mind)的角度探讨模型的社交智能
- 随着 LLM 的发展,基于大语言模型的社交 Agent 已经能够在真实社交场景中互动,传统的静态问答式基准(QA-style benchmarks)已不足以评估 Agent 的社交智能
- SOTOPIA(2024)是目前唯一动态且交互式的社交基准,为当代社交 Agent 提供了模拟测试环境
- 作者希望这项工作能够通过方法创新,进一步推动提升模型社交智能的研究
Alignment Methods with Refined Granularity
- Rafailov 等(2023)提出了直接偏好优化(Direct Preference Optimization, DPO),该方法利用离线数据和简化的损失函数对齐大语言模型
- 基于 DPO,多种细粒度对齐算法被开发出来。例如
- Token-level DPO(2024)在 Token-level 别整合前向 KL 散度约束,同时提升对齐性和多样性
- Step-DPO(2024)利用单个推理步骤(reasoning steps)进行偏好优化,而非整体答案级评估
- SePO(2024)提出了一种 Token-level 奖励函数估计方法,选择性优化回答中的关键 Token
- 然而,在社交对话或网络导航等多轮交互场景中,单轮对齐(single-turn alignment)是不够的
- ETO 和 DMPO 将 Session-level 数据(session-level data)引入 DPO,将其扩展到多轮场景
- 论文进一步提出了 SDPO,通过动态的 Segment-level 优化框架(segment-level optimization framework)实现多轮交互中更细粒度的对齐
Limitations
- 论文提出的 SDPO 假设正负片段的长度相等 ,并在此假设下实现了最先进的性能
- 具体而言,在从正样本中选出一个片段后,论文从负样本中选取相同长度的片段以消除配分函数 \( Z \)
- 这种方法存在一定局限性
- 负样本片段可能包含无关或无错误的轮次(turns),或未能捕捉到所有错误轮次,这表明在从负样本中选择片段时需要更细粒度的控制
- 目前,作者尚未找到能够有效支持不等长片段对齐的理论框架
- 作者希望这项工作能够激发进一步研究,鼓励多样化的理论分析以解决多轮对齐中的这一问题
- 由于 SOTOPIA 是目前唯一可用的交互式社交基准 ,论文的实验仅在该数据集上进行
- 未来,作者计划引入更多交互式 Agent 任务,以进一步验证 SDPO 的通用性
附录A Modifications to SOTOPIA
- 在 SOTOPIA 中,每次交互都以单轮(single-turn)格式组织,这不支持多轮对齐(multi-turn alignment)
- 为了解决这一限制,论文修改了提示组织格式(prompt organization format),如图5 所示
- 这些修改在调用 LLM 的 API 之前应用,确保其对 SOTOPIA 本身不可见,且不会影响 GPT-4o 的评估
- 更多细节可在论文的代码仓库中找到
- 更多细节可在论文的代码仓库中找到
附录B Supplementary Theoretical Analysis
B.1 ETO
- Song等人(2024)提出了基于探索的轨迹优化(Exploration-Based Trajectory Optimization, ETO),该方法在没有严格证明的情况下将直接偏好优化(Direct Preference Optimization, DPO)扩展到 Session-level 别(session level)。其损失函数如下:
$$
L_{ETO} = -\mathbb{E}_{(b,h^{w},h^{l})\sim D} \log \sigma \left[ \sum_{t=0}^{T_{w}-1} \beta \log \frac{\pi_{\theta}(y_{t}^{w}|h_{t}^{w})}{\pi_{ref}(y_{t}^{w}|h_{t}^{w})} - \sum_{t=0}^{T_{l}-1} \beta \log \frac{\pi_{\theta}(y_{t}^{l}|h_{t}^{l})}{\pi_{ref}(y_{t}^{l}|h_{t}^{l})} \right] \tag{9}
$$- \( h^{w} \) 和 \( h^{l} \) 分别表示完整的正向和负向交互历史
- \( T_{w} \) 和 \( T_{l} \) 表示各自的轮数
- 当 \( T_{w} = T_{l} \) 时,ETO 的损失函数与 SDPO的损失函数等价
B.2 Discussion on DMPO
- 应用BT模型时的错误(Mistake when Applying BT Model) :在公式(6)之后,DMPO应用了布拉德利-特里模型(Bradley-Terry model, BT model)得到以下公式:
$$
p(\tau^{w} \succ \tau^{l}|h_{0}) = \sigma \left( \sum_{t=0}^{T_{w}-1} \gamma^{t} r(h_{t}^{w}, y_{t}^{w}) - \sum_{t=0}^{T_{l}-1} \gamma^{t} r(h_{t}^{l}, y_{t}^{l}) \right) \tag{10}
$$- \( \tau^{w} \) 和 \( \tau^{l} \) 分别表示“胜”和“负”样本
- \( T_{w} \) 和 \( T_{l} \) 表示各自的轮数
- 仔细检查公式(10)可以发现,对 \( (h,y) \) 对的求和应排除 \( \gamma^{t} \),因为它已经被纳入 \( d^{\pi}(h,y) \) 中
- 长度归一化的限制(Limitation of Length Normalization) :暂时忽略公式(10)中的错误,DMPO启发式地引入了基于轮数的正则化来消除 \( Z \):
$$
p(\tau^{w} \succ \tau^{l}|h_{0}) = \sigma \left( \frac{1-\gamma}{1-\gamma^{T_{w} } } \sum_{t=0}^{T_{w}-1} \gamma^{t} r(h_{t}^{w}, y_{t}^{w}) - \frac{1-\gamma}{1-\gamma^{T_{l} } } \sum_{t=0}^{T_{l}-1} \gamma^{t} r(h_{t}^{l}, y_{t}^{l}) \right)
$$- 然而,DMPO 并未讨论为什么可以应用长度归一化或这一操作带来的影响。这种转换缺乏严格的理论依据
- DMPO 损失函数(DMPO Loss Function) :遵循DMPO的方法,其损失函数如下:
$$
L_{DMPO} = -\mathbb{E}_{(b,h^{w},h^{l})\sim D} \log \sigma \left[ \sum_{t=0}^{T_{w}-1} \beta \phi(t,T_{w}) \log \frac{\pi_{\theta}(y_{t}^{w}|h_{t}^{w})}{\pi_{ref}(y_{t}^{w}|h_{t}^{w})} - \sum_{t=0}^{T_{l}-1} \beta \phi(t,T_{l}) \log \frac{\pi_{\theta}(y_{t}^{l}|h_{t}^{l})}{\pi_{ref}(y_{t}^{l}|h_{t}^{l})} \right]
$$- 其中,折扣函数 \( \phi(t,T) = (1-\gamma^{T-t})/(1-\gamma^{T}) \)
附录C Data Construction Details
C.1 Statistics and Analysis of SDPO Data
- SDPO 数据集包含 1019 对样本
- GPT-4o 识别的错误轮次分布如表5 所示

- GPT-4 识别的片段长度分布如表6 所示

- 截断轮数的分布如 表7 所示

- GPT-4o 识别的错误轮次分布如表5 所示
- 结合表3 和表6,尽管在自动片段长度选择中,长度为 3 的片段占比近 90%,但自动选择方法的性能仍明显优于固定长度为 3 的方法,这凸显了自动选择方法的有效性
C.2 GPT-4o’s Performance in Pipeline
- 论文从 SDPO 数据中随机选择 40 对样本,由三位作者独立评估 GPT-4o 在错误定位和片段选择中的表现
- 在社交对话的背景下,正确性和错误的概念本质上是模糊的
- 为此,论文定义了三个评估类别:正确、模糊和错误
- 平均评估结果如表8所示。评估者均表示,模糊的主要原因是他们可以确定GPT-4o的选择是合理的,但难以判断是否最优。总体而言,论文得出结论:GPT-4o能够处理错误定位和片段选择任务
C.3 rompts in Data Construction
- GPT-4o用于错误定位和片段选择的提示分别如图7 和图8 所示
附录D Supplementary Experimental Setup
D.1 Versions of OpenAI LLMs
- 论文使用的 OpenAI 大语言模型版本如下:GPT-4o-2024-08-06、GPT-4-turbo-2024-04-09、GPT-4o-mini-2024-07-18 和 GPT-3.5-turbo-0125
D.2 Mistral Training Details
- 与 Llama 的实验设置一致,最大 Token 限制设为 4096,所有训练过程均使用 AdamW 优化器
- 在 SFT 阶段:
- 批大小为 32
- 丢弃率为 0.2
- 学习率为 \( 3e^{-6} \)
- 预热比例为 5%
- 采用余弦衰减调度
- 在 SDPO 的训练阶段:
- 批大小为32
- SDPO 损失中的 \( \beta \) 为 0.1
- 学习率为 \( 5e^{-7} \)
- 学习率无预热
- 采用余弦衰减调度
- Mistral 的 SDPO 数据构建过程与 Llama 相同
附录E Additional Empirical Results
E.1 SOTOPIA Hard Subset
- SOTOPIA 将数据集中更具挑战性的部分 Token 为困难子集(Hard subset),详细结果如表9 所示
- 各种方法在困难子集上的排名与完整数据集上的表现基本一致
- SDPO 仍然取得了最佳结果,这表明 SDPO 在不同难度的场景中均能提升 Agent 的社交智能(social intelligence)
E.2 多轮对齐的必要性
- 在 DPO 调整第一轮正向和负向片段的输出概率后,后续轮次中正向片段的概率会增加而负向片段的概率会降低吗?
- 为了探究这一点,论文绘制了 DPO 和 SDPO 在训练过程中正向与负向片段概率差的变化,如图9 所示(只有SDPO可以直接与DPO比较,因此未提及ETO和DMPO)
- DPO-turn 轨迹几乎与 DPO 轨迹平行,表明 DPO 对后续轮次的概率差几乎没有影响
- 相比之下,SDPO 轨迹上升更陡峭。这些结果证明了显式修改整个片段内多轮概率分布的必要性,也为多轮对齐优于 DPO 提供了依据