当前位置: 首页 > news >正文

微软发布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,“调教式”教会小规模大语言模型如何推理!

我们都知道在大多数情况下,语言模型的体量和其推理能力之间存在着正相关的关系:模型越大,其处理复杂任务的能力往往越强。 然而,这并不意味着小型模型就永远无法展现出色的推理性能。最近,奶茶发现了微软的Orca2公开了…...

JVM 内存回收算法

文章目录 JVM 内存回收算法有哪些:一、分代收集1.分代收集理论2.垃圾收集 二、垃圾收集算法1. 标记-清除算法2. 复制算法3. 标记-整理算法 JVM就是Java虚拟机,JVM的内回收对其原理的认识也是很有必要的,当底层的系统出现内存溢出或者内存泄漏…...

11.28~11.29基本二叉树的性质、定义、复习;排序算法;堆

完全二叉树(Complete Binary Tree)是一种特殊的二叉树结构,它具有以下特点: 所有的叶子节点都集中在树的最后两层;最后一层的叶子节点都靠左排列;除了最后一层,其他层的节点数都达到最大值。 …...

轮播插件Slick.js使用方法详解

相比于Swiper而选择使用Slick.js的原因主要是因为其兼容不错并且在手机端的滑动效果更顺畅 参数: 1.基本使用:一般使用只需前十个属性 $(.box ul).slick({autoplay: true, //是否自动播放pauseOnHover: false, //鼠标悬停暂停自动播放speed: 1500, //…...

postgresql pg_hba.conf 配置详解

配置文件之pg_hba.conf介绍 该文件用于控制访问安全性,管理客户端对于PostgreSQL服务器的访问权限,内容包括:允许哪些用户连接到哪个数据库,允许哪些IP或者哪个网段的IP连接到本服务器,以及指定连接时使用的身份验证模…...

使用粗糙贴图制作粗纹皮革手提包3D模型

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时,有几种不同的风格&#xf…...

Chrome清除特定网站的Cookie,从而让网址能正常运行(例如GPT)

Chrome在使用某些网址的时候,例如GPT的时候,可能会出现无法访问这个网址的情况,就是点不动啥的 只需要把你需要重置的网址删除就好了...

history路由解决刷新出现404的问题

本文具体重点介绍怎么解决浏览器路由(history模式)解决404的问题。 在项目打包上线时,如果采用的是哈希模式,不会出现404,原因是 url 中 # 号后面的内容不会发给后端当作资源路径请求服务器。 具体流程(哈…...

ubuntu22下使用nvidia 2080T显卡部署pytorch

1.直接到NVIDA官网下载相应的驱动,然后安装官方驱动 | NVIDIA 2.下载相应版本cuda,并安装,安装时不安装驱动 3.conda install pytorch2.1.0 torchvision0.16.0 torchaudio2.1.0 pytorch-cuda12.1 -c pytorch -c nvidia 安装pytorch。 安装…...

【Spark基础】-- 理解 Spark shuffle

目录 前言 1、什么是 Spark shuffle? 2、Spark 的三种 shuffle 实现 3、参考 前言 以前,Spark 有3种不同类型的 shuffle 实现。每种实现方式都有他们自己的优缺点。在我们理解 Spark shuffle 之前,需要先熟悉 Spark 的 execution model 和一些基础概念,如:MapReduce、…...

软件测试入门:静态测试

什么是静态测试 顾名思义,这里的静态是指程序的状态,即在不执行代码的情况下检查软件应用程序中的缺陷。进行静态测试是为了仅早在开发的早期阶段发现程序缺陷,因为这样可以更快速地识别缺陷并低成本解决缺陷,它还有助于查找动态测…...

力扣labuladong一刷day30天二叉树

力扣labuladong一刷day30天二叉树 文章目录 力扣labuladong一刷day30天二叉树一、654. 最大二叉树二、105. 从前序与中序遍历序列构造二叉树三、106. 从中序与后序遍历序列构造二叉树四、889. 根据前序和后序遍历构造二叉树 一、654. 最大二叉树 题目链接:https://…...

【云原生-K8s】检查yaml文件安全配置kubesec部署及使用

基础介绍基础描述特点 部署在线下载百度网盘下载安装 使用官网样例yamlHTTP远程调用安全建议 总结 基础介绍 基础描述 Kubesec 是一个开源项目,旨在为 Kubernetes 提供安全特性。它提供了一组工具和插件,用于保护和管理在 Kubernetes 集群中的工作负载和…...

LeetCode力扣每日一题(Java):20、有效的括号

一、题目 二、解题思路 1、我的思路 我看到题目之后&#xff0c;想着这可能是力扣里唯一一道我能秒杀的题目了 于是一波操作猛如虎写出了如下代码 public boolean isValid(String s) {char[] c s.toCharArray();for(int i0;i<c.length;i){switch (c[i]){case (:if(c[i]…...

解决Flutter运行报错Could not run build/ios/iphoneos/Runner.app

错误场景 更新了IOS的系统版本为最新的17.0, 运行报以下错误 Launching lib/main.dart on iPhone in debug mode... Automatically signing iOS for device deployment using specified development team in Xcode project: GN3DCAF71C Running Xcode build... Xcode build d…...

配置Smart Link主备备份示例

目录 实验拓扑 组网需求 配置思路 配置步骤 1.配置VLAN信息 2.在SwitchA上创建Smart Link备份组&#xff0c;并指定端口角色 3.使能回切功能并设置回切时间 4.使能发送Flush报文功能 5.使能接受Flush报文功能 验证配置结果 实验拓扑 组网需求 如上图所示&#xff0c;…...

03-微服务架构构建之微服务拆分

文章目录 前言一、微服务拆分的原则二、微服务拆分的时机三、微服务拆分的方法总结 前言 微服务架构是将一个单体应用程序拆分为一个个独立且保持松耦合的服务的一种架构方式&#xff0c;每个服务有着独立的数据库并且能独立运行部署。微服务架构的构建过程中&#xff0c;第一…...

Linus:我休假的时候也会带着电脑,否则会感觉很无聊

目录 Linux 内核最新版本动态 关于成为内核维护者 代码好写&#xff0c;人际关系难处理 内核维护者老龄化 内核中 Rust 的使用 关于 AI 的看法 参考 12.5-12.6 日&#xff0c;Linux 基金会组织的开源峰会&#xff08;OSS&#xff0c;Open Source Summit&#xff09;在日…...

快速排序的新用法

普通快排 简介 快速排序是一种高效的排序算法&#xff0c;利用分治的思想进行排序。它的基本原理是在待排序的n个数据中任取一个数据为分区标准&#xff0c;把所有小于该排序码的数据移到左边&#xff0c;把所有大于该排序码的数据移到右边&#xff0c;中间放所选记录&#x…...

利用乔拓云SAAS系统,快速、高效搭建小程序

a-service&#xff0c;软件即服务&#xff09;系统来搭建他们的微信小程序。SAAS系统作为一种创新的软件应用模式&#xff0c;将软件作为一种服务提供给用户&#xff0c;为用户提供了更高效、更便捷的解决方案。本文将探讨为什么越来越多的商家选择使用乔拓云这种SAAS系统搭建小…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题&#xff0c;说是客户的导入文件模版想支持部分导入内容的下拉选&#xff0c;于是我就找了easyexcel官网寻找解决方案&#xff0c;并没有找到合适的方案&#xff0c;没办法只能自己动手并分享出来&#xff0c;针对Java生成Excel下拉菜单时因选项过多导…...

前端开发者常用网站

Can I use网站&#xff1a;一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use&#xff1a;Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站&#xff1a;MDN JavaScript权威网站&#xff1a;JavaScript | MDN...

JS红宝书笔记 - 3.3 变量

要定义变量&#xff0c;可以使用var操作符&#xff0c;后跟变量名 ES实现变量初始化&#xff0c;因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符&#xff0c;可以创建一个全局变量 如果需要定义…...