通过指令微调提升语言模型性能

news2025/1/11 14:53:09

人工智能咨询培训老师叶梓 转载标明出处

如何让机器更好地理解和执行人类的指令一直是一个重要课题。Google的研究团队中提出了一种新的方法,通过指令微调(instruction finetuning)来提升语言模型的性能和泛化能力。

他们主要研究了如何通过扩展任务数量、模型规模以及在链式思考(chain-of-thought)数据上进行微调,来提升预训练语言模型在未见任务上的表现。研究结果表明,这种方法在多个模型类别(如PaLM、T5、U-PaLM)和不同的提示设置(zero-shot、few-shot、CoT)下都取得了显著的性能提升。

论文链接:https://arxiv.org/pdf/2210.11416

项目链接:https://huggingface.co/docs/transformers/model_doc/flan-t5 

Flan指令微调方法

研究者们扩展了微调任务的数量,通过结合先前研究中的四种任务混合——Muffin、T0-SF、NIV2和CoT——达到了1,836个微调任务。Figure 2 展示了这些任务的分布。Muffin混合包括了80个任务,其中62个来自Wei等人(2021)的研究,新增了26个任务,包括对话数据和程序合成数据。T0-SF混合(193个任务)由Sanh等人(2021)的研究中不与Muffin重叠的任务组成。NIV2混合(1554个任务)由Wang等人(2022c)的研究中的任务组成。

研究者们在多种模型家族上应用了指令微调,包括T5、PaLM和U-PaLM,这些模型家族涵盖了从Flan-T5-small(8000万个参数)到PaLM和U-PaLM(540亿参数)的一系列规模。每个模型都采用了相同的训练过程,除了一些关键的超参数:学习率、批量大小、dropout和微调步骤。研究者们使用恒定的学习率计划,并使用Adafactor优化器进行微调。Table 2 显示了不同模型在指令微调中使用的计算量相对于预训练的百分比。

研究者使用了多个不同的基准测试来评估模型的世界知识和推理任务的能力,包括MMLU、BBH、TyDiQA和MGSM。对于MMLU和BBH,他们评估了直接提示和链式思考(CoT)提示的能力。对于TyDiQA,他们只测量直接提示的精确匹配分数。对于MGSM,他们只测量CoT提示的准确性。Figure 4 展示了模型大小和微调任务数量对保留基准测试的归一化平均值的影响。

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。9月22日晚,实战专家1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。

加助理微信提供直播链接:amliy007,29.9元即可参加线上直播分享,叶老师亲自指导,互动沟通,全面掌握Llama Factory,关注享粉丝福利,限时免费CSDN听直播后的录播讲解。
 

LLaMA Factory 支持多种预训练模型和微调算法。它提供灵活的运算精度和优化算法选择,以及丰富的实验监控工具。开源特性和社区支持使其易于使用,适合各类用户快速提升模型性能。

扩展模型规模和微调任务数量对未见任务性能的影响

研究者通过在不同规模的PaLM模型上进行实验,包括8B、62B和540B,来扩展模型规模。同时,通过顺序添加任务混合,从最少任务的混合到最多任务的混合,来扩展微调任务的数量。研究结果表明,多任务指令微调显著提高了与未微调模型相比的性能,性能提升范围从9.4%到15.5%。

研究者们发现,增加微调任务的数量可以提高性能,尽管大部分性能提升来自于使用多达282个任务。增加模型规模一个数量级(例如,从8B到62B或从62B到540B)显著提高了微调和非微调模型的性能。这些发现表明,未来的研究应继续扩展指令微调的规模。

Table 3 汇总了增加微调任务数量对Flan-PaLM在大多数评估基准上性能的影响。这些评估基准包括MMLU(57个任务)、BBH(23个任务)、TyDiQA(8种语言)和MGSM(10种语言)。所有基准测试的评估指标都是少样本提示准确性(精确匹配),通过对所有任务进行未加权平均来计算。研究者们报告了MMLU-直接、MMLU-CoT、BBH-直接、BBH-CoT、TyDiQA和MGSM的归一化平均值。这些评估基准是保留的(未包括在微调数据中)。

在指令微调过程中加入链式思考数据的影响

链式思考是一种推理方法,它要求模型在给出最终答案之前,展示其推理过程。研究的主要目的是验证Flan-PaLM模型在包含CoT数据的微调后,是否在多步推理任务上超越了以往的模型。

在微调混合中加入带有CoT注释的九个数据集,能够提升模型的推理能力。Table 4 显示,Flan-PaLM在四个未见评估基准测试上的表现超过了PaLM。特别是在MMLU基准测试中,Flan-PaLM 540B达到了75.2%的准确率,这一表现不仅超过了PaLM模型,也超过了其他一些先进的模型,如code-davinci-002和Chinchilla。

将CoT提示与自我一致性(Self-Consistency, SC)结合起来,可以在多个基准测试上达到新的最佳性能。例如,在多语言数学问题基准测试MGSM上,Flan-PaLM结合CoT和SC在包括孟加拉语在内的多种语言上都取得了显著的性能提升。

研究者们对只包含九个CoT数据集的指令微调效果进行了消融研究。他们将评估分为CoT基准测试(MMLU、BBH和MGSM)和非CoT基准测试(MMLU、BBH和TyDiQA),并计算了CoT和非CoT的归一化平均值。Figure 5 显示,与仅进行CoT微调相比,结合非CoT和CoT进行微调可以在CoT基准测试上获得更好的性能。同时,结合CoT和非CoT的微调并没有损害非CoT任务的性能。

对CoT数据进行指令微调(无论是否带有示例)的另一个好处是,得到的模型能够在零样本设置中执行CoT推理。这对于测试模型在没有少量样本示例的情况下产生自身推理能力的能力非常重要。Figure 6 展示了在23个未见的、具有挑战性的BIG-Bench任务(BBH)上,Flan-PaLM模型可以通过利用“让我们逐步思考”这一短语激活的CoT推理来获得改进的性能。相比之下,未经微调的PaLM模型并不能生成使其能够解决这些问题的CoT。

Figure 7 展示了Flan-PaLM在包含CoT数据的混合中微调后,在未见任务中解锁零样本CoT推理的能力。这些例子来自三个BIG-Bench任务。可以看到,Flan-PaLM能够在没有经过微调的PaLM模型失败的任务上,通过逐步思考给出正确的答案。

研究表明,通过在指令微调中加入CoT数据,可以显著提升模型在多步推理任务上的性能,并且这种微调方法在未见任务上也能保持其推理能力。这种微调还解锁了模型在零样本设置中的推理能力,这对于构建能够处理复杂任务的通用语言模型具有重要意义。

通过指令微调提升不同规模、架构和训练目标的多种模型的普遍性

除了PaLM模型家族外,研究者们还对具有编码器-解码器架构的T5模型进行了指令微调,与PaLM的仅解码器架构形成对比。研究者们还对扩展版的PaLM 62B模型(cont-PaLM)和在PaLM-540B基础上进一步预训练了20k步的U-PaLM模型进行了指令微调。

Table 5 展示了指令微调对所有模型类型的归一化平均性能都有显著提升。对于未经指令微调的T5模型,研究者们使用了通过在额外100B个C4令牌上训练的LM-adapted模型。鉴于评估基准的难度以及T5模型并非多语言模型,与未经指令微调的模型相比,T5模型从指令微调中受益最大。例如,Flan-T5-XL模型仅拥有3B参数,但在MMLU基准测试中达到了52.4%的准确率,超过了拥有175B参数的GPT-3模型的43.9%准确率。结合了指令微调和UL2持续预训练的U-PaLM模型在本研究中表现出最强的性能,这表明指令微调和UL2持续预训练是提高语言模型性能的互补且计算效率高的方法。

微调对开放式生成任务的影响

除了NLP基准测试外,语言模型还能够生成对开放式请求的长形式答案。标准的NLP基准测试和自动评估指标并不足以衡量这些开放式响应中的人类偏好。因此研究者们进行了手动评估,以调查指令微调对模型生成开放式响应能力的影响。研究者们创建了一个包含190个示例的评估集,这些示例包括五个挑战类别(创造力、上下文推理、复杂推理、规划和解释)的零样本问题,每个类别20个问题。对于其中的60个示例(来自复杂推理、规划和解释类别),研究者们创建了带有链式思考触发短语(例如“让我们逐步思考”)的变体,作为对第4.3节中定量评估的补充。此外,研究者们还包括了30个测试少量样本能力的输入,这些是未经指令微调的强大语言模型已经表现出色的问题。

在评估中,研究者们比较了PaLM 540B和Flan-PaLM 540B模型。对于这两种模型,研究者们使用温度采样(τ=0.7)随机生成五个响应,然后根据未进行长度归一化的对数概率分数对它们进行排名。研究者们选择了得分最高的响应,之后通过过滤步骤移除了得分高于中位数一半的生成内容,这成功地移除了大部分包含不良重复的生成内容。然后,研究者们将PaLM和Flan-PaLM的输出呈现给人类评估员,并要求他们根据期望程度选择响应。每对输出由一名评估员评分。

Figure 8 展示了在190个评估示例中,Flan-PaLM生成的内容有79%的时间被优先选择。对于每个零样本设置,Flan-PaLM都以较大的优势被优先选择,而对于使用CoT触发短语的输入,评估员对Flan-PaLM相对于PaLM的偏好进一步增加了约10%。至于少量样本,与PaLM相比没有退步。

这些结果表明,指令微调模型在响应开放式零样本输入方面的能力得到了提升,这与Ouyang等人(2022)的研究一致,该研究表明,通过一组标签演示以及来自人类反馈的强化学习对语言模型进行微调,可以提高人类对用户提示分布的评估。此外,对PaLM生成的模型输出的检查揭示了仅仅在下一个令牌预测目标上进行预训练对于良好的零样本可用性是不够的,尽管在NLP基准测试上表现强劲。例如,对PaLM的不良行为的定性检查包括(1)继续生成相关文本而不是回答问题,(2)用小的修改重复输入问题,以及(3)不知道何时停止生成文本。这可能是由于在预训练中没有使用序列结束标记,Figure 9 展示了这些错误的例子。

这项研究表明,指令微调是一种有效的方法,可以提升预训练语言模型在多样化任务上的性能和可用性。通过在更多的任务和更大的模型规模上进行微调,可以进一步挖掘语言模型的潜力。论文中提到的模型和数据集已经公开,感兴趣的研究者可以通过以下链接访问:

  • Flan-T5 Checkpoints

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2112564.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

美食|基于SpringBoot+vue的美食网站(源码+数据库+文档)

美食网站 基于SSMvue的美食网站 一、前言 二、系统设计 三、系统功能设计 系统功能实现 后台模块实现 管理员模块实现 用户模块实现 餐厅模块实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍&…

JavaScript拷贝的艺术:玩转深拷贝和浅拷贝

前言 在实际的项目开发中,我们时刻都在使用数据拷贝功能,赋值、深拷贝和浅拷贝是前端开发中常见的概念,用于复制简单数据类型(字符串、数值、布尔值)和引用类型(对象、数组)。它们的主要区别在…

第十六篇:走入计算机网络的传输层--传输层概述

1. 传输层的功能 ① 分割与重组数据 一次数据传输有大小限制,传输层需要做数据分割,所以在数据送达后必然也需要做数据重组。 ② 按端口号寻址 IP只能定位数据哪台主机,无法判断数据报文应该交给哪个应用,传输层给每个应用都设…

中小型局域网组网规划与实施

一、绪论 1.1 背景 本课题以中小型企业网络搭建为背景,实现网络规划与设计和模拟。该企业网有四个部门,人力部、研发部、市场部和财务部,不同部门分别划分VLAN,不同VLAN之间分配不同的IP地址段。内外网之间要互通。 1.2 发展趋势…

关于前端分辨率兼容和显示器缩放兼容的处理

如下图所示,我们的电脑屏幕可以进行缩放,和分辨率的切换。 我们在项目开发中,时常需要适配不同的分辨率。 一般来说,开发人员电脑分辨率显示正常的页面,只会在更小的分辨率尺寸中出现问题。 所以当测试人员给我们提分…

QT项目实战之音乐播放器2.0版本

该版本相较于1.0版本最主要的不同在于连接数据库实现类似于歌曲收藏和取消收藏的功能。 详细情况看我的这篇文章http://t.csdnimg.cn/WS5s8。 效果展示 VSMyMusicShow2.0 define.h UseMySQL.h musicInfo.h VSMyMusicPlayer.h

出现 /www/server/mysql/bin/mysqld: Shutdown complete 的解决方法

目录 1. 基本知识1.1 查找my.cnf目录1.2 配置错误日志2. 问题所示3. 原理分析4. 解决方法1. 基本知识 主要补充一些基本知识的拓展 1.1 查找my.cnf目录 查看mysql默认读取my.cnf的目录: mysql --help|grep my.cnf 截图如下:(为了方便查看具体使用的配置文件在哪个路径)…

2024/9/6黑马头条跟学笔记(三)

D3 内容介绍 jdk8新特性,stream流,lambda表达式 ​ 自媒体前后端搭建 步骤 sql—— 实体—— 微服务拷贝,配置nacos—— spring:datasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://192.168.233.136:3306/leadnews_…

拥有一个能倾听你心声的「微信AI小助理」,是一种什么体验?

前两天,搞了个微信 AI 小助理-小爱(AI),爸妈玩的不亦乐乎。 零风险!零费用!我把AI接入微信群,爸妈玩嗨了,附教程(上)零风险!零费用!我把AI接入微信群&#x…

解决Django会话中的竞态条件

Django 会话中的竞态条件(race condition)问题通常发生在多个请求几乎同时修改同一个会话数据时,导致数据丢失或数据不一致。这种情况在需要频繁更新会话数据的场景(如实时聊天应用、并发请求处理等)中尤为常见。 1、问…

一次性解决 | 网站被提示“不安全 ”

当网站被提示“不安全”时,这通常意味着用户的个人信息、登录凭证和其他数据可能面临风险。为了一次性解决这个问题,可以从一下方面入手。 一、检查并启用HTTPS协议 检查URL:确保网站地址以“https”开头,而非“http”。HTTPS协议…

Java项目: 基于SpringBoot+mybatis+maven学科竞赛管理系统(含源码+数据库+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismaven学科竞赛管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简…

[Redis] 分布式系统与Redis介绍

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

研1日记6

1. 一般输入参数为batch_sizenum_featuresheightwidth 当高度和宽度不一样时,分别计算即可。 2.ReLU函数的表达式为:f(x) max(0, x)。 3.Pytorch中最大池化层Maxpool的作用说明及实例使用(附代码)-CSDN博客 4.假设x的形状是(A…

设计模式 第一次复学

创建者模式 单例模式(Singleton Pattern) 单例模式(Singleton)确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 单例模式实现分为两种饿汉式和懒汉式,即创建时机,一个是类…

衡石分析平台使用手册-系统指引

首页​ 首页是用户进入衡石系统后的第一个页面,这里汇聚了平台最新动态信息、行业模板案例、用户的操作记录等,引导用户快速方便地使用平台功能。 首页包括以下版块,可以帮助用户继续之前的工作,开启新的工作,使用内置…

Spire.PDF for .NET【文档操作】演示:创建 PDF 文档

通过代码创建 PDF 文档具有多种优势。例如,您可以轻松合并动态内容,如用户输入、数据库记录或实时数据。基于代码的 PDF 生成允许更大的自定义和自动化,最大限度地减少创建高度定制文档时的手动干预。在本文中,您将学习如何使用Sp…

A*(A star)搜索算法

A*搜索算法是一种启发式算法,利用现有的信息进行搜索的一种方法。 首先,定义横纵相邻方格之间的距离为10,对角相邻方格的距离为14(本文设定可以向8个方向前进,也可以根据需求设置为4个,比如只能横纵相邻方格…

简单的spring batch学习

前言 公司批量任务是数据库执行的,想修改成java执行批量任务,所以简单了解了下springbatch批量任务框架,此处是其学习笔记,具体学习视频地址为bilibili springbatch,以下为其学习笔记内容以及源码信息 一、课程目标 …

sobel_dir 方向图和sobel的一些想法

怎么使用呢! 1,通过方向图可以提取 直线 或水平线region区域,提出来的dirregion区域 2,通过sobel的幅度度,分割出变化剧烈的区域 fuduregion 3,两个region相交,可以准确定位幅度范围内方向的…