上海AI Lab 提出ULTRAIF方法,通过两阶段过程合成高质量指令遵循数据集,代码与数据集完全开源!

发布于:2025-05-29 ⋅ 阅读:(51) ⋅ 点赞:(0)

论文名称:UltraIF: Advancing Instruction Following from the Wild

论文链接:https://arxiv.org/abs/2502.04153

机构:上海AI Lab + 北大 + 清华

Github代码链接:https://github.com/kkk-an/UltraIF

数据集链接:https://huggingface.co/collections/bambisheng/ultraif-series-67ee75a6042e8ba3e97d0b25

个人文章索引:【LLM Instruction Following Data】论文分享No.17:ULTRAIF

简介

如何构造有效的高质量指令遵循数据来提升LLM在这方面的能力,在业界是一个非常重要的研究方向,但之前很少有工作详细介绍并开源指令遵循数据的构造方法。

本文就提出了ULTRAIF方法,通过两阶段过程合成高质量指令遵循数据集,并通过实验证明了其数据构造框架的有效性,值得一看。

Data Pipeline(ULTRAIF)

框架概述

在这里插入图片描述

图2展示了ULTRAIF方法里两个关键流程:UltraComposer和Generate-then-Evaluate ,具体如下:

  • UltraComposer部分

① 指令分解与评估问题生成(图a):比如有个指令“用莎士比亚的风格,给我推荐十本中国书籍”。这一步会把它拆解成“简化指令”和“约束条件” 。简化指令就是“给我推荐十本中国书籍” ,约束条件是“用莎士比亚的风格” 。同时还会生成一个评估问题,像“回答是用莎士比亚的风格写的吗?” 。

② UltraComposer训练(图b):把前面得到的简化指令作为输入,让UltraComposer这个模型去学习输出原始指令和对应的评估问题 ,通过这样的训练让它掌握这种转换能力。

  • Generate-then-Evaluate部分

① 指令生成(图c):从ShareGPT等来源获取基础指令(Vanilla Ins. ),然后用训练好的UltraComposer对这些基础指令进行加工处理,生成新的指令。

② 响应评估(图d):让LLM根据生成的指令给出回答(Responses) ,之后再用LLM对这些回答进行评估,判断回答是否符合要求,符合的就选中(Chosen) ,不符合的就拒绝(Rejected) 。

UltraComposer

UltraComposer这一步主要是为生成多样复杂且回答正确的指令而提出的专门模型 ,还是以图2里面莎士比亚的例子作说明,构建分三步:

  • 指令分解(Instruction Decomposition)

比如一开始收到一个指令 “用莎士比亚的风格,给我推荐十本中国书籍” 。UltraComposer 要做的第一步是把这个指令拆解。就像把一个大任务拆成小任务,它会把这个指令拆成 “简化指令” 和 “约束条件” 。简化指令就是 “给我推荐十本中国书籍” ,这是最核心的任务;约束条件是 “用莎士比亚的风格” ,这是对完成任务的要求 。

在这里插入图片描述

  • 评估问题生成(Evaluation Question Generation)

然后,它还要生成一个评估问题。就好比你布置任务后,得有个标准检查做得对不对。对于上面这个例子,评估问题就是 “回答是用莎士比亚的风格写的吗?” 。

  • UltraComposer训练(UltraComposer Training)

最后,通过这些拆解后的东西去训练 UltraComposer 这个模型,让它学会看到 “给我推荐十本中国书籍” 这样的简化指令,就能输出原始指令 “用莎士比亚的风格,给我推荐十本中国书籍” ,以及对应的评估问题 “回答是用莎士比亚的风格写的吗?” 。

在这里插入图片描述

Generate-then-Evaluate

Generate-then-Evaluate是ULTRAIF中高效生成高质量指令遵循数据的过程,含指令生成和响应评估两部分:

  • 指令生成(Instrucion Generation)

先从已有的数据集里找一些像 “给我推荐十本中国书籍” 这样的基础指令 。然后让 UltraComposer 上场,给这些基础指令加约束条件,比如加上 “用莎士比亚的风格” ,把简单指令变成更复杂的指令,同时还会生成评估问题 。

在这里插入图片描述

  • 响应评估(Response Evaluation)

接着,让LLM根据加了约束条件后的指令,像 “用莎士比亚的风格,给我推荐十本中国书籍” ,给出好几个回答。再用之前生成的评估问题 “回答是用莎士比亚的风格写的吗?” ,去检查这些回答。符合要求的回答就留下,不符合的就扔掉。这样就能得到高质量的指令遵循QA对数据了 。

训练策略

SFT

对数据集 D _ d a t a D\_{data} D_data进行标准的SFT,其中 x ‾ \overline{x} x是增强后的指令, y _ c y\_{c} y_c是相应的选中回答。

在这里插入图片描述

SFT + Iterative Online DPO

由于ULTRAIF有评估问题,便于质量控制,所以适合应用直接偏好优化(DPO)来优化微调后的模型。

在这里插入图片描述

实验结果

数据集

① ShareGPT:含有大量用户与 GPT-4 的聊天记录,研究人员从中分解出约 200K 数据对,这些数据主要用于训练 UltraComposer。

② OpenHermes2.5:大规模、多样化且高质量的合成指令和聊天样本集。

③ No Robots:专业人员标注的高质量指令和演示数据集

期间生成评估问题所用的模型是LLaMA-3.1-70B-Instruct 。

训练设置

先对 LLaMA-3.1-8B-Instruct 进行微调以构建 UltraComposer。之后探索两种设置来实施训练策略:

① Strong-to-Weak:即从较大模型(LLaMA-3.1-70B-Instruct)向较小模型(LLaMA-3.1-8B-Base)进行知识蒸馏,用大模型做响应生成和评估,训练小模型。

② Self-Alignment:用 LLaMA-3.1-8B-Instruct 替换监督模型来训练 Base 模型。

评估基准

在五个指令遵循基准测试上评估 ULTRAIF,包括 IFEval、Multi-IF、InfoBench、FollowBench 和 LiveBench。

除了指令跟随基准测试,还进一步测试 ULTRAIF 在数学、推理、编码和一般交互能力等方面的通用能力。

关键结论

①【表1】在五个指令跟随基准测试中,ULTRAIF在Strong-to-Weak和Self-Alignment设置下,通过不同训练策略(SFT、迭代DPO等)均展现出优异性能,超过先前方法,迭代DPO能有效提升性能,且扩大训练数据规模可使ULTRAIF达到新的里程碑,逼近LLaMA-3.1-8B-Instruct的性能。

在这里插入图片描述

②【表2】在编码、推理、数学和对话四个通用领域的评估中,ULTRAIF虽在数学领域表现略逊于AutoIF,但在编码和对话任务上有显著提升,扩大训练数据规模和经过DPO阶段能提升其性能,在LiveBench基准测试和ArenaHard对话任务上优势明显,表明该方法有助于开发更通用、更具多任务处理能力的模型。

在这里插入图片描述

论文中还有更多实验结果,不一一赘述了,主要看数据的构建思路。

总结

这篇文章的构造思路还是值得一试的,但如果要应用到企业特定领域内,还需要做不少改造,比如指令遵循的数据源就得从线上选了,以及一个问题可能不止有一个简化指令以及评估问题,怎么提升这一步的效果是最关键的。


网站公告

今日签到

点亮在社区的每一天
去签到