0


SPAR:融合自对弈与树搜索的高性能指令优化框架

大语言模型的指令遵循能力需要模型能够准确识别指令中的细微要求,并在输出中精确体现这些要求。现有方法通常采用偏好学习进行优化,在创建偏好对时直接从模型中采样多个独立响应。但是这种方法可能会引入与指令精确遵循无关的内容变化(例如,同一语义的不同表达方式),这干扰了模型学习识别能够改进指令遵循的关键差异。

针对这一问题,这篇论文提出了SPAR框架,这是一个集成树搜索自我改进的自对弈框架,用于生成有效且具有可比性的偏好对,同时避免干扰因素。通过自对弈机制,大语言模型采用树搜索策略,基于指令对先前的响应进行改进,同时将不必要的变化降至最低。

主要创新点:

  • 发现从独立采样响应中获得的偏好对通常包含干扰因素,这些因素阻碍了通过偏好学习提升指令遵循能力
  • 提出SPAR,一个创新的自对弈框架,能够在指令遵循任务中实现持续性自我优化
  • 构建了包含43K个复杂指令遵循提示的高质量数据集,以及一个能够提升大语言模型指令遵循能力的监督微调数据集

方法论

整体框架

SPAR迭代训练框架如图所示:

  • 在形式化定义中,每次迭代时,给定提示集中的指令x,执行模型生成响应y
  • 改进模型负责识别未能准确遵循指令的响应,将其标记为负面响应
  • 框架的核心目标是将负面响应优化为符合要求的正确响应
  • 收集生成的改进对,通过直接偏好优化(DPO)来优化执行模型
  • 同时,应用拒绝采样微调(RFT)提升改进模型性能,为下一轮自我优化做好准备

数据构建方法

提示构建

  • 种子提示:基于Infinity-Instruct数据集构建初始种子提示集,该数据集包含一千万条高质量对话。经过基于长度、关键词和自我-BLEU的规则过滤,最终获得约50k条种子提示
  • 分类法驱动的提示构建:采用基于分类法的机制确保约束类型的全面性和平衡性。在建立约束分类体系后,基于种子提示构建复杂指令遵循任务,最终生成约43k条提示

模型初始化

  • 执行模型数据构建: 首先收集高性能语言模型对复杂提示的响应,生成用于执行模型的监督微调(SFT)数据(x, y) ∈ DActor,其中x表示复杂指令,y表示高性能模型的响应。随后对基础模型进行微调,得到初始执行模型M0
  • 改进模型数据构建: 为使改进模型具备高质量的判断和改进能力,从初始执行模型M0中采样响应。收集高性能语言模型的判断结果,形成数据集(x, y, j) ∈ DJSFT。识别并收集被判定为未能准确遵循指令的响应作为负面样本。对这些负面响应,使用高性能语言模型进行最小化修正,避免引入无关变化
  • 训练策略: 执行模型和改进模型均采用标准监督微调,损失函数定义如下:

其中q代表输入,r代表目标响应,N代表r的长度。执行模型训练中,输入q = x,目标r = y。改进模型训练中,对于DJSFT,输入q = (x, y),目标r = j;对于DRSFT,输入q = (x, ynegative, j),目标r = yrefined。

集成树搜索的自对弈训练机制

a) 负面数据采集流程

  • 对每个提示x,首先从执行模型中采样K个响应{y1, y2, . . . , yK}
  • 对每组提示-响应对,利用改进模型生成判断结果,包含两个核心要素:指令遵循程度的标签判定和详细的评估说明
  • 为提高判断准确性,引入自一致性机制,通过从改进模型获取多个判断结果并采用多数投票确定最终标签
  • 在完成多数投票后,随机选取一个与投票标签一致的判断作为最终结果,这使论文提出的方法能够识别出那些会导致指令遵循失败的高难度提示,形成(x, ynegative, j)格式的数据元组,其中ynegative表示不合格响应,j为对应判断结果

b) 树搜索优化方法

  • 考虑到直接改进往往导致较低的成功率,本研究采用树搜索方法,实现了广度优先搜索(BFS)和深度优先搜索(DFS)策略
  • 以BFS为例,从不合格的指令-响应对及其判断结果作为根节点出发,逐层扩展搜索树,直至找到符合要求的响应
  • 在每个中间节点,为当前响应生成潜在的改进方案,并由改进模型评估其正确性。生成的改进方案数量即为分支数
  • 在树的每一层,改进模型执行以下操作:1). 为当前层的所有节点生成潜在的改进方案;2). 评估这些改进方案的正确性。由此生成包含新响应及其对应判断的子节点集合
  • 搜索过程持续进行,直到获得数据元组(x, ynegative, yrefined),其中yrefined为经过改进的合格响应

c) 执行模型训练方法

  • 利用改进对数据进行偏好学习,采用DPO方法优化执行模型
  • 在第t次迭代中,使用改进对(ynegative, yrefined)训练执行模型Mt,将ynegative作为被拒绝样本(yl),yrefined作为被选择样本(yw)
  • 训练数据集记为Dtdpo,DPO损失函数定义如下:

其中π tθ表示执行模型Mt,参考模型π ref使用Mt初始化并在训练过程中保持不变。这一过程产生新的执行模型Mt+1,用于下一轮迭代

d) 改进模型训练方法

鉴于改进模型的输入具有模板化特征,论文采用拒绝采样微调(RFT)方法获取新的改进模型Rt+1。RFT训练数据包含两个主要组成部分:

(1) 改进训练数据集

  • 改进训练数据集由记录不合格响应改进过程的数据元组构成
  • 对于树搜索改进过程中的每个不合格响应,收集(x, yp, jp, yrefined)格式的数据元组,其中(x, yp, jp)代表改进树中最终合格响应的父节点,yrefined为经过改进的合格响应

(2) 判断训练数据集

  • 判断训练数据来源于负面数据采集过程和树搜索过程中的节点
  • 该数据集由(x, yi, ji)格式的元组组成,其中x为提示,yi为对应响应,ji为与多数投票结果一致的判断
  • 随后,基于构建的训练数据进行监督微调
  • 对于改进数据集Dtrefine,采用数据元组(x, yp, jp, yrefined),输入q = (x, yp, jp),目标r = yrefined。对于判断数据集Dtjudge,采用数据元组(x, yi, ji),输入q = (x, yi),目标r = ji。

实验研究

执行模型评估结果

SPAR在指令遵循能力方面的显著提升

下表展示了经过迭代训练的大语言模型在指令遵循基准测试上的核心性能指标

经过三轮迭代训练后,SPAR-8B-DPO-iter3模型在IFEval评测中的表现超越了GPT-4-Turbo(后者的平均准确率为81.3%)。此外,在推理阶段引入树搜索优化技术后,模型性能获得显著提升

值得注意的是,SPAR在模型规模扩展方面表现出优异的特性,这极大地增强了LLaMA3-70B-Instruct模型的指令遵循能力

SPAR对模型通用能力的影响分析

下表呈现了在通用基准测试上的性能数据

实验数据表明,SPAR不仅保持了模型的通用能力,在某些场景下还带来了性能提升,尤其是在GSM8k和HumanEval基准测试中。这证实了增强的指令遵循能力有助于提升大语言模型的整体对齐效果

SPAR相较于基线方法的优势

下图展示了各轮训练迭代在IFEval评测中的进步情况

在每轮迭代中,SPAR都展现出明显的优势。特别值得注意的是,其他方法即使经过三轮迭代,其性能仍未能达到SPAR首轮迭代的水平

改进模型评估结果

SPAR在判断能力方面的迭代提升

下表展示了经过迭代训练的大语言模型在LLMBar评测中的判断能力表现

实验结果显示,SPAR迭代训练显著提升了模型评估指令遵循任务的能力

在第三轮迭代后,改进模型SPAR-8B-RFT-iter3的性能超越了用于构建判断SFT数据集的GPT-4o-Mini模型

SPAR在改进能力方面的持续优化

下表呈现了改进能力的评估结果。其中Acc-GPT采用GPT-4o作为评判标准;Acc-SPAR则使用SPAR-8B-RFT-iter3进行评估

数据显示,LLaMA3-8B-Instruct模型的改进准确率在每轮训练迭代中均呈现稳定提升趋势,最终达到了与用于SFT数据构建的高性能模型GPT-4o-Mini相当的水平

总结

本研究提出了创新性的自对弈框架SPAR,通过改进对训练提升大语言模型的指令遵循能力。研究发现,与传统方法采用独立采样响应构建偏好对相比,通过最小化外部因素并突出关键差异的改进对方法,能在指令遵循任务上实现显著性能提升。采用本框架进行迭代训练的LLaMA3-8B-Instruct模型在IFEval评测中展现出超越GPT-4-Turbo的性能。通过推理计算能力的扩展,模型性能还有进一步提升的空间

论文:https://arxiv.org/abs/2412.11605

代码:https://github.com/thu-coai/SPaR

作者:SACHIN KUMAR

“SPAR:融合自对弈与树搜索的高性能指令优化框架”的评论:

还没有评论