微软发布Orca2,“调教式”教会小规模大语言模型如何推理!

2023-12-12 21:30

本文主要是介绍微软发布Orca2,“调教式”教会小规模大语言模型如何推理!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们都知道在大多数情况下,语言模型的体量和其推理能力之间存在着正相关的关系:模型越大,其处理复杂任务的能力往往越强。

然而,这并不意味着小型模型就永远无法展现出色的推理性能。最近,奶茶发现了微软的Orca2公开了论文,它详细探讨了如何提升小型大语言模型的推理能力,这样的研究无疑是在资源有限或对模型大小有特定要求的场景的重大进步。接下来,让我们一起来了解这篇论文的详细工作吧!

论文题目:
Orca 2: Teaching Small Language Models How to Reason
论文链接:
https://arxiv.org/pdf/2311.11045.pdf

在研究团队之前发布的Orca1中,通过使用解释跟踪这类更丰富的信号训练模型,已经超过了传统指令调优模型在BigBench Hard和AGIEval基准测试中的表现。

大模型研究测试传送门

GPT-4传送门(免墙,可直接测试,遇浏览器警告点高级/继续访问即可):
http://hujiaoai.cn

在Orca2中,研究团队继续探索了改进训练信号来增强小型的大语言模型的推理能力。实验结果证明过度依赖模仿学习(即复制更强大模型的输出)可能会限制小模型的潜力。

Orca 2的目标是教会小模型如逐步处理、回忆-生成、回忆-推理-生成、提取-生成和直接回答这些推理技巧,并帮助这些模型决定何时使用最有效的推理策略,研究团队称这种方法为“谨慎推理”(Cautious Reasoning),旨在根据任务选择最佳解决策略。Orca 2模型在15个不同的基准测试(包括约100个任务和超过36000个独特提示)上进行了评估,表现显著超过同等大小的模型,并达到或超过了体量为其5-10倍的模型的性能水平。

调优方法

研究团队采用了 “指令调优”(instruction tuning)和“解释调优”(explanation tuning) 的方法。

指令调优

指令调优(Instruction Tuning)是训练的关键步骤,涉及从自然语言任务描述和期望行为示范的输入-输出对中学习。输入的是任务的描述,输出是期望的行为的演示,通过过自然语言任务描述(输入)和所需行为的演示(输出)来学习。这种方法在模仿“教师”模型的风格方面非常有效,然而,研究也表明,在对知识密集或推理密集型任务进行评估时,这种方法容易仅复制“风格”,忽视答案的正确性。

解释调优

针对指令调优的问题,研究团队引入了解释调优(Explanation Tuning),使它们能够从教师模型那里获取更丰富、更有表现力的推理信号。这些信号是基于系统指令提取的,旨在从强大的LLM(如GPT-4)中提取“慢思考”(Slow Thinking)的丰富示范。通过系统指令获得详细解释来训练学生模型,目的是提取丰富的、更具表现力的推理信号。

解释调优开始于编制N个通用系统指令,使模型进行更谨慎的推理,例如“逐步思考”和“生成详细答案”。接下来,这些指令与广泛且多样化的用户提示结合,形成一个包含(系统指令,用户提示,LLM答案)的三元组数据集。

学生模型被训练以根据系统指令和用户提示来预测LLM的答案。如果用户提示可以被分为M个不同的类别,这些类别代表了不同类型的问题,解释调优就会生成M×N个不同的答案组合,从而增加训练数据的数量和多样性。

实验设计

数据集构建

Orca 2数据集有四个主要来源,包括FLAN-v2集合的各个子集合。这些子集合包含多个任务,总共1913个任务。从这些任务中选择了约包含23个类别的602K个零样本的用户查询,用来构建Cautious-Reasoning-FLAN数据集。

训练目标

Orca 2模型的训练起始于LLaMA-2-7B或LLaMA-2-13B的检查点,首先对FLAN-v2数据集进行了精细的微调处理。随后,模型在Orca 1提供的500万条ChatGPT数据上进行了为期3个周期的训练,继而在Orca 1和Orca 2共计110万条GPT-4数据和817千条数据上进行了4个周期的深入训练。在这一过程中采用了LLaMA的字节对编码(BPE)分词器来处理输入样本,并运用了打包技术,不仅提高了训练过程的效率,也确保了计算资源的高效利用。

基线模型

在基准测试中,Orca 2与多个最新的模型进行比较,包括LLaMA-2模型系列和WizardLM。

实验

在实验中,Orca 2与多个最新的模型进行了基准测试,包括LLaMA-2模型、WizardLM和GPT模型。这些测试涉及到各种任务,以评估Orca 2在开放式生成、摘要、安全性、偏见、推理和理解能力方面的性能。其中,实验室提到了Orca-2-13B和Orca-2-7B两个模型,是Orca 2项目中公开的语言模型,区别是模型的参数量。

被选中的基准测试包括:

  • AGIEval:包括一系列标准化考试,如GRE、GMAT、SAT、LSAT、律师资格考试、数学竞赛和国家公务员考试等。

  • DROP:一个需要模型执行诸如加法或排序等离散操作的阅读理解基准测试。

  • CRASS:评估LLM的反事实推理能力的数据集。

  • RACE:从中国学生英语考试中提取的阅读理解问题集合。

  • BBH (Big-Bench Hard):BIG-Bench的23个最难任务的子集。

  • GSM8K:测试多步骤数学推理能力的单词问题集合。

  • MMLU:衡量模型语言理解、知识和推理能力的基准测试,包含57个任务。

  • ARC:AI2推理挑战,是一个测试文本模型回答科学考试多项选择题的基准测试,分为“简单”和“挑战”两个子集。

除了上述基准测试外,还进行了针对文本完成、多轮开放式对话、归纳和抽象性摘要、安全性和真实性的评估。

推理能力

Orca 2在多种推理基准上的平均表现显示了其显著的推理能力。特别是在AGI Eval、BigBench-Hard (BBH)、DROP、RACE、GSM8K和CRASS测试中,Orca 2的表现超过了同等大小的其他模型。在更大的模型间的比较中,Orca 2-13B的表现与更大的LLaMA-2-Chat-70B相当,并与WizardLM-70B相比较为接近。

知识与语言理解

在MMLU、ARC-Easy和ARC-Challenge任务中,Orca 2-13B的表现超过了同等大小的LLaMA-2-Chat-13B和WizardLM-13B。在MMLU基准上,Orca 2-13B与更大的LLaMA-2-Chat-70B和WizardLM-70B的表现相似。

文本完整度

在HellaSwag和LAMBADA测试中,Orca 2-7B和Orca 2-13B均展现出较强的文本完成能力,特别是在HellaSwag测试中表现超过了13B和70B的基准模型。

多轮开放式对话

在MT-Bench数据集上,Orca 2-13B与其他13B模型的表现相当。这表明Orca 2具有参与多轮对话的能力,尽管其训练数据中缺少对话内容。

基于对话的概括和抽象概括

在三个不同的任务中,Orca 2-13B展现了最低的虚构信息生成率,相较于其他Orca 2变体以及其他13B和70B的LLM模型。

安全性和真实性

在ToxiGen、HHH和TruthfulQA等数据集上的安全性评估显示,Orca 2在识别有毒声明和中性声明方面的表现与其他大小相当的模型相比具有一定的优势。

Orca 2模型在所进行的基准测试中整体表现卓越,明显超越了同等规模的其他模型,并能与其体量为5至10倍的模型相抗衡。特别是在零样本推理任务上,Orca-2-13B的成绩显著高于同类模型,相较于LLaMA-2-Chat-13B和WizardLM-13B,分别取得了47.54%和28.15%的相对提升。这一成绩凸显了Orca 2训练流程的高效性。这些成果展示了即使在较小规模的大语言模型中,通过精细的训练方法也能达到优异的推理能力。Orca 2在推理任务上的表现不仅在同等规模模型中脱颖而出,而且在某些场合甚至可与大型的模型匹敌,这对小型模型的进步和发展具有重要的启示意义。

模型的限制

在论文的第7部分,作者们讨论了Orca 2模型的一些限制。这些限制不仅包括基于LLaMA 2模型家族的Orca 2所继承的限制,还包括大型语言模型和Orca 2特定训练过程中的通用限制:

1.数据偏见:基于大量数据训练的大语言模型可能无意中承载了源数据中的偏见。导致偏见或不公平的输出。

2.缺乏透明度:由于复杂性和规模,大语言模型表现得像“黑盒子”,难以理解特定输出或决策背后的逻辑。

3.内容伤害:大语言模型可能造成各种类型的内容伤害,建议利用不同公司和机构提供的各种内容审查服务。

4.幻觉现象:作者建议要意识到并谨慎地避免完全依赖于语言模型进行关键决策或信息,因为目前还不清楚如何防止这些模型编造内容。

5.滥用潜力:如果没有适当的保护措施,这些模型可能被恶意用于生成虚假信息或有害内容。

6.数据分布:Orca 2的性能可能与调优数据的分布密切相关。这种相关性可能会限制模型在训练数据集中代表性不足的领域(如数学和编码)的准确性。

7.系统信息:Orca 2根据系统指令的不同表现出性能的变化。此外,模型大小引入的随机性可能导致对不同系统指令产生非确定性响应。

8.零样本设置:Orca 2主要在模拟零样本设置的数据上进行训练。虽然模型在零样本设置中表现非常强劲,但与其他更大模型相比,它并没有展现出使用少样本学习的同等增益。

10.合成数据:由于Orca 2是在合成数据上训练的,它可能继承了用于数据生成的模型和方法的优势和缺点。作者认为Orca 2受益于训练过程中纳入的安全措施和Azure OpenAI API中的安全护栏(如内容过滤器)。然而,需要更详细的研究来更好地量化这些风险。

11.小型模型容量:训练后的小型模型,虽然在教会模型解决任务方面大有裨益,但并不一定会教会模型新知识。因此,训练后的模型主要受限于预训练期间学到的知识。

这篇关于微软发布Orca2,“调教式”教会小规模大语言模型如何推理!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/485993

相关文章

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

定价129元!支持双频 Wi-Fi 5的华为AX1路由器发布

《定价129元!支持双频Wi-Fi5的华为AX1路由器发布》华为上周推出了其最新的入门级Wi-Fi5路由器——华为路由AX1,建议零售价129元,这款路由器配置如何?详细请看下文介... 华为 Wi-Fi 5 路由 AX1 已正式开售,新品支持双频 1200 兆、配有四个千兆网口、提供可视化智能诊断功能,建

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型