声明:本文来自于微信公众号 AIGC开放社区 作者:AIGC开放社区,授权Soraor转载发布。

随着ChatGPT、Copliot等生成式AI产品的快速迭代,对训练数据的需求呈指数级增长,同时也是提升大模型性能的关键环节之一。

为了解决训练数据短缺和质量差的难题,微软研究院发布了一个专门用于生成高质量合成数据的的AI Agent——Agent Instruct。

论文地址:https://arxiv.org/abs/2407.03502

为了突破传统合成数据的拟合性、多元化性差等,AgentInstruct使用了一种创新性方法“生成教学”(Generative Teaching),并通过多种智能体共同协作自动完成数据转换、清洗、优化从而合成高质量数据。

AgentInstruct会先收集各种原始数据种子,例如,教科书章节、网络文章、代码片段等。这些种子作为后续数据合成的基础,为模型提供了丰富的信息来源。

然后通过Content Transformation Agents智能体将原始的种子材料转换成一种中间形式,这种形式简化了后续步骤中针对具体目标创建指令的过程。

例如,一个简单的文本段落会被转换成一个论点段落、会议记录转录内容、API列表等。通过转换过程使得原本无结构的内容变得更加有条理,同时也保留了原始材料的多样性和丰富性。

在种子指令创建流程中,Instruction Creation Agents智能体会进一步处理这些经过初步转换的内容,创造出多样化的指令。

这些指令可以是要求模型执行某一特定任务的请求,例如,修改一段文字、编写一个故事、解释一个概念或是完成一个编码任务。

该阶段的目标是生成一系列具有挑战性且多样的任务,从而让模型在训练过程中接触到尽可能多的不同类型的任务。

为了进一步提指令的质量和复杂性,研究人员引入了指令细化流程,通过Refinement Agents智能体对指令进行深入的迭代优化,确保每一条指令都能够更加精准地达到预期的数据效果。

在细化的过程中,智能体首先提出各种可能的改进方案,旨在增加指令的复杂性、多样性和质量。例如,可能会提出修改指令中的某些部分,使得原本直接的问题变得更加间接,或者增加一些需要模型进行推理才能得出答案的元素。

然后再对改进后的方案进行一步优化,并且在语言表述上保持清晰和准确。智能体会仔细审核每一条建议的可行性和效果,然后以一种合理的方式整合到指令中。整个流程会反复进行迭代、优化,直到达到预期的合成数据规模和质量水平。

研究人员通过Agent Instruct自动生成了2500万个配对的高质量合成数据集,包含文本编辑、创意写作、编程、阅读理解等。然后再用生成的数据对Mistral-7b模型进行了训练、微调,开发了Orca-3模型。

在一系列基准测试中,Orca-3相比原来的Mistral-7b-Instruct的模型性能提升巨大。例如,在AGIEval上提升了40%,MMLU上提高了19%,GSM8K上进步了54%,BBH上提升了38%,AlpacaEval上提升了45%。同时,Orca-3在多项指标上也超越了LLAMA-8B-instruct和GPT-3.5-turbo等其他模型。