微软新技术:合成数据助大语言模型数学能力大幅提升

微软推出AgentInstruct技术,利用合成数据增强AI模型表现。

当「合成数据」遇上智能体

过去一年,我们见证了智能体的兴起。智能体可以生成高质量的数据,通过反思和迭代,其能力反超了底层基础大模型。

在这个过程中,智能体可以回顾解决方案,自我批评,并改进解决方案。它们甚至可以利用工具,如搜索API、计算器、代码解释,来扩展大模型的能力。

此外,多智能体还可以带来更多的优势,比如模拟场景,同时生成新的提示和响应。它们还可以实现数据生成工作流的自动化,减少或消除某些任务对人工干预的需求。

论文中,作者提出了「生成式教学」的概念。这是说,使用合成数据进行后训练,特别是通过强大的模型创建数据,来教另一个模型新技能或行为。

AgentInstruct是生成式教学的一个智能体解决方案。

总而言之,AgentInstruct可以创建:

  • 高质量数据:使用强大的模型如GPT-4,结合搜索和代码解释器等工具。
  • 多样化数据:AgentInstruct同时生成提示和回应。它使用多智能体(配备强大的LLM、工具和反思流程)和一个包含100多个子类别的分类法,来创建多样化和高质量的提示和回应。
  • 大量数据:AgentInstruct可以自主运行,并可以应用验证和数据过滤的流程。它不需要种子提示,而是使用原始文档作为种子。

生成式教学:AgentInstruct

我们如何创建海量数据?如何保证生成的数据具有多样性?如何生成复杂或微妙的数据?

为此,研究人员概述了解决这些挑战的结构化方法:

具体来说,AgentInstruct定义了三种不同的自动化生成流程:

内容转换流程:将原始种子转换为中间表示,简化了针对特定目标创建指令的过程。

种子指令生成流程:由多个智能体组成,以内容转换流程的转换后种子为输入,生成一组多样化的指令。

指令改进流程:以种子指令流程的指令为输入,迭代地提升其复杂性和质量。

接下来,研究人员为为17种不同的技能实现了这些流程,每种技能都有多个子类别。这些技能包括阅读理解、问答、编码、检索增强生成、创意写作、工具/API使用和网络控制。

实验结果

正如开头所述,研究人员使用2580万对指令,微调Mistral-7b-v0.1模型,然后得到Orca-3。

那么经过使用AgentInstruct数据训练Orca-3,性能究竟如何?

AgentInstruct的目标是合成一个大型且多样化的数据集,其中包含不同难度级别的数据。在这个数据集上,像Orca-2.5、Mistral-Instruct-7b和ChatGPT这样的基准模型得分远低于10分,显示出它们相对于GPT-4(被指定为基准,得分为10)的劣势。

平均而言,包括每轮训练轮后的Orca-3,AgentInstruct数据的引入使性能相比Orca 2.5基准提高了33.94%,相比Mistral-Instruct-7B提高了14.92%。

刷新多项基准SOTA

比如,在AGIEval提升40%,在MMLU上提升19%,在GSM8K上提升54%,在BBH上提升38%,在AlpacaEval上提升45%。