谷歌Flan-T5诞生!1800种语言任务超大规模微调

a8131fb49fdb82a8cc521afba669e9ec.jpeg

编辑 | 泽南、小舟
来源 | 机器之心

不增加算力需求,谷歌总结的指令微调方法能让 8000 万到 5400 亿参数的模型都显著提升性能。

人工智能一个重要的目标是开发泛化能力强的模型。在自然语言处理(NLP)领域中,预训练语言模型在这方面取得了重大进展。这类模型往往通过微调来适应新的任务。

近日,来自谷歌的研究者分析了多种指令微调方法,包括扩展对指令微调的影响。实验表明,指令微调确实可以根据任务数量和模型大小实现良好的扩展,最大到 5400 亿参数的模型都能明显受益,未来的研究应该进一步扩大任务的数量和模型的大小。此外,该研究还分析了微调对模型执行推理能力的影响,结果都是很吸引人的。

由此产生的 Flan-T5 对 1800 余种语言任务进行了指令微调,明显提高了提示和多步推理能力,30 亿参数跑基准就能超过 GPT-3 的 1750 亿参数。

5fde5d815f07fd8552c812335c383919.png

看起来谷歌又为大模型找到了一个能力提升的方向。不过这一研究不仅引来了机器学习社区的欢迎,也有 Gary Marcus 的吐槽:

d1445e980e3a546c4ad1272538fba74c.png

谷歌的模型为什么把谷歌自己的著名科学家 Geoffrey Hinton 的出生日期搞错了?人家明明是 1947 年出生的老前辈。

论文作者之一的谷歌大脑首席科学家 Quoc Le 赶紧出来圆场:是临时工图片做错了,在论文里 Flan-T5 模型其实没有把 Geoff 的出生年月搞错,有图为证。

75eeaaa374a0a033653e64afbebdb058.png

顺便说一句,出生于 1963 年的著名 AI 学者是 Jürgen Schmidhuber。

既然出错的不是 AI 模型,让我们看看谷歌的新方法究竟能够为预训练模型带来哪些改变吧。

9ae88df258af225f17f491802d968f92.png

论文:
Scaling Instruction-Finetuned Language Models

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

公开模型:
https://github.com/google-research/t5x/blob/main/docs/models.md#flan-t5-checkpoints

该研究使用 540B 参数模型训练 Flan-PaLM,将微调任务的数量增加到 1800 个以上,并包含思维链(CoT;Wei et al., 2022b)数据。经过训练后的 Flan-PaLM 优于 PaLM,在多个基准测试中达到了新的 SOTA。在推理能力方面,Flan-PaLM 能够利用 CoT 和自洽性(self-consistency;Wang et al., 2022c)在大规模多任务语言理解(MMLU; Hendrycks et al., 2020)上实现 75.2% 的准确率。

9c7bfb2e552d54632bf3f76ca2e41450.png

此外,在一组具有挑战性的开放式生成问题上,Flan-PaLM 的表现明显优于 PaLM,可用性大幅提高。

总体而言,谷歌的这项研究阐明了使用指令微调来提高模型性能的具体方法。

方法

具体来说,该研究主要关注影响指令微调的几个方面,包括:(1)扩展任务数量,(2)扩展模型大小,以及(3)对思维链数据进行微调。

该研究发现具有上述方面的指令微调显著改进了各种模型类(PaLM、T5、U-PaLM)、prompting 设置(零样本、少样本、CoT)和评估基准(MMLU、BBH、 TyDiQA、MGSM、开放式生成)。例如,在 1.8K 任务上进行指令微调的 Flan-PaLM 540B 大大优于 PALM 540B(平均 + 9.4%)。Flan-PaLM 540B 在几个基准测试中实现了最先进的性能,例如在五次 MMLU 上达到 75.2%。

研究者还公开了 Flan-T5 检查点,即使与更大的模型(例如 PaLM 62B)相比,它也能实现强大的少样本性能。总体而言,指令微调是提高预训练语言模型的性能和可用性的通用方法。

06b271482c6aea5e1724501228f4db3c.png
▲图 1. 研究人员在 1800 余个任务中对各种语言模型进行了微调,在有 / 缺乏样本(零样本和少样本)以及有 / 没有思维链的情况下进行微调,从而能够在一系列评估场景中进行泛化。
6033c7c6cda9b1932c9f98d11e1bd748.png
▲图 2. 微调数据包括 473 个数据集、146 个任务类别和共计 1836 个任务。
1133ebeb3bce9c05c9dd1c828331628b.png

在数据微调和程序微调过程完成后,研究者根据模型大小对任务的性能来对比规模扩展的影响。首先,对于所有三种模型大小,多任务指令微调与没有微调相比性能有很大提高,增益范围从 9.4% 到 15.5%。其次,增加微调任务的数量可以提高性能。

最后,我们可以看到将模型规模增加一个数量级(8B → 62B 或 62B → 540B)可以明显提高微调和未微调模型的性能。

8f0246b59798557378d563674bf02c08.png
▲多任务指令微调相对于模型大小(参数量)和微调任务数量及规模扩展对准确率的影响。
cd2d120aeddebc7032b6fe67b58ad5d5.png
▲增加微调数据中的任务数量可以提高 Flan-PaLM 在大多数评估基准上的性能。

研究人员证明了在微调混合中包含九个带有思维链 (CoT) 注释的数据集可以提高推理能力。下表显示 Flan-PaLM 的 CoT 提示能力在四个保留的评估基准上优于 PaLM。

683b4ef7ccc19a193a7f205af852c077.png

该研究发现对 CoT 数据进行指令微调的另外一个好处是可以实现零样本(zero-shot)推理,模型在没有针对 CoT 的少量样本的情况下就自行产生了推理能力,这可能需要大量工程调教才能正确实现。

07f4368ce290a4181ee0b276207411bf.png
▲图 6:PaLM 和 Flan-PaLM 在一组 23 个具有挑战性的 BIG-Bench 任务 (BBH) 上的 zero-shot 性能。Flan-PaLM 需要通过「让我们一步一步思考」指令激活的思想链 (CoT) 生成。

为了展示新方法的通用性,谷歌训练了 T5、PaLM 和 U-PaLM,涵盖了从 8000 万到 5400 亿参数的模型体量范围,发现所有模型都能大幅提升性能。

a24f94f2787517983eadb167cb899032.png
▲表 5. 指令微调 (Flan) 在其他持续预训练方法之上提高了性能。

经过测试,指令微调大大提高了所有模型类型的归一化平均性能,与非微调模型相比,T5 模型从指令微调中受益最多。这些结果对于某些基准测试来说是相当强的——例如,Flan-T5-XL 只有 30 亿参数,就达到了 47.6% 的 MMLU 分数,超过了 GPT-3 1750 亿参数的 43.9% 分数。

除了 NLP 基准之外,语言模型还能够为开放式问题请求生成长格式答案。在这一方面,标准的 NLP 基准和用于评估它们的自动指标不足以衡量人类的偏好。研究人员对此进行了评估,创建了一个包含 190 个示例的评估集。该评估集包括以零样本方式向模型提出的问题,涉及五个具有挑战性的类别,每个类别 20 个问题:创造力、上下文推理、复杂推理、计划和解释。

对于其中的 60 个示例(来自复杂的推理、计划和解释类别),该研究创建了一个带有思维链触发短语(例如,「让我们一步一步思考」)的变体,作为微调是否进行的另一个评估在 CoT 上启用 zero-shot。除了上述 160 个零样本输入之外,研究中还包括 30 个用于测试少样本能力的输入,这些没有指令微调的强语言模型已被证明在这些方面表现良好。

研究人员认为,指令微调和规模扩展均可以持续提升大语言模型性能,而微调对于推理能力至关重要,其还能泛化模型能力。通过指令微调与其他模型适应技术(例如 UL2R)结合,谷歌在这项工作中提出了最强模型 Flan-U-PaLM。

重要的是,指令微调并不像模型规模扩展一样会大幅增加计算成本,例如对于 PaLM 540B,指令微调只需要 0.2% 的预训练计算,但却可以将跨评估基准的归一化平均值提高 9.4%。使用指令微调的小型模型有时可以胜过没有微调的大模型。

出于这些原因,研究人员建议对几乎所有预训练的语言模型都进行指令微调。

46e3e4584d60006b350f49319902fce0.jpeg后台回复关键词【入群

加入卖萌屋NLP、CV、搜推广与求职讨论群

 9177f78bcd803e42b9928029ecfb2294.png

[1] https://twitter.com/quocleix/status/1583523186376785921?s=20&t=Gul2Iqz2v19YMR9jAl5n2g

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

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

相关文章

fft的c语言和matlab对比_傅里叶级数(FS)、傅里叶变换(FT)快速傅里叶变换(FFT)及量子傅里叶变换(QFT)之间推导关系...

1 引言傅里叶级数 (Fourier Series, FS) 是《高等数学》中遇到的一个重要的级数,它可以将任意一个满足狄利克雷条件的函数为一系列三角级数的和。最早由法国数学家傅里叶在研究偏微分方程的边值问题时提出,极大地推动了偏微分方程理论的发展。根据欧拉公…

OraOLEDbpus.dll找不到指定的模块的解决办法

OraOLEDbpus.dll找不到指定的模块的解决办法 使用Oracle Provider for OLE DB 进行数据库连接的时候,报错::OraOLEDbpus.dll 找不到指定的模块在oracle的安装目录下却能找到OraOLEDbpus.dll,应该是其未能找到该路径,打开系统的环境…

LeetCode 1396. 设计地铁系统(map/unordered_map)

1. 题目 请你实现一个类 UndergroundSystem ,它支持以下 3 种方法: checkIn(int id, string stationName, int t) 编号为 id 的乘客在 t 时刻进入地铁站 stationName 。 一个乘客在同一时间只能在一个地铁站进入或者离开。 checkOut(int id, string st…

python中object是什么数据类型_自学Python2.1-基本数据类型-字符串str(object) 上

自学Python2.1-基本数据类型-字符串str(object) 上 字符串是 Python 中最常用的数据类型。我们可以使用引号(或")来创建字符串。 创建字符串很简单,只要为变量分配一个值即可。例如: var1 Hello World! var2 "Python Runoob" 1. Python…

.NET下使用DataAdapter保存数据时,如何生成command语句及使用事务

.NET下使用DataAdapter保存数据时,如何生成command语句及使用事务 在.NET下,运用DATASET对数据进行批量更新时,需要与 DataAdapter配合使用。DataAdapter数据适配器的作用是生成数据更新时所需的insert,delete,update等语句,这些语…

文档智能SOTA被刷爆,DocVQA榜单首次突破90大关

文档智能(DI, Document Intelligence)主要指对于网页、数字文档或扫描文档所包含的文本以及丰富的排版格式等信息,通过人工智能技术进行理解、分类、提取以及信息归纳的过程。文档智能技术广泛应用于金融、保险、能源、物流、医疗等行业&…

react 遍历对象_React 源码系列 | React Children 详解

本文基于 React V16.8.6,本文代码地址测试代码 源码讲解React 中一个元素可能有 0 个、1 个或者多个直接子元素,React 导出的 Children 中包含 5 个处理子元素的方法。map 类似 array.mapforEach 类似 array.forEachcount 类似 array.lengthtoArrayonlyR…

程序员面试金典 - 面试题 16.19. 水域大小(BFS/DFS)

1. 题目 你有一个用于表示一片土地的整数矩阵 land,该矩阵中每个点的值代表对应地点的海拔高度。 若值为0则表示水域。由垂直、水平或对角连接的水域为池塘。 池塘的大小是指相连接的水域的个数。 编写一个方法来计算矩阵中所有池塘的大小,返回值需要从…

自定义组件--创建mxml组件

创建简单的mxml组件 Example components/CountryComboBox.mxml <?xml version"1.0" encoding"utf-8"?> <mx:ComboBox xmlns:mx"http://www.adobe.com/2006/mxml"> <mx:dataProvider> <mx:String>United States</mx…

19位算法工程师总结:机器学习项目成功落地的三条秘诀

文 | 天于刀刀又是一年金九银十&#xff0c;前几天小编刀刀在一次电话面试过程中被HR 的一个问题问得差点闪了腰。当时情况是这样的&#xff0c;在流利地介绍完之前的几个项目后&#xff0c;招聘小姐姐打断了我后续的&#xff08;忽悠&#xff09;节奏&#xff0c;郑重其事地反…

nodejs 获取cpu核心数量_用 NodeJS 充分利用多核 CPU 的资源[每日前端夜话0xCB]

每日前端夜话0xCA每日前端夜话&#xff0c;陪你聊前端。每天晚上18:00准时推送。正文共&#xff1a;1558 字预计阅读时间&#xff1a;7 分钟作者&#xff1a;Nick Major翻译&#xff1a;疯狂的技术宅来源&#xff1a;coderrocketfuel介绍单个 Node.js 程序的实例仅在一个线程上…

程序员面试金典 - 面试题 16.20. T9键盘(数组)

1. 题目 在老式手机上&#xff0c;用户通过数字键盘输入&#xff0c;手机将提供与这些数字相匹配的单词列表。 每个数字映射到0至4个字母。给定一个数字序列&#xff0c;实现一个算法来返回匹配单词的列表。 你会得到一张含有有效单词的列表。映射如下图所示&#xff1a; 示…

胃部不适,原来好辛苦!

这几天胃部都感觉不舒服&#xff0c;那种感觉很难形容&#xff0c;总之就非常辛苦&#xff0c;无胃口&#xff0c;浑身都不舒服&#xff0c;可能是之前几天早餐没吃饱&#xff0c;有几天很晚才入睡空着肚子的缘故吧&#xff0c;原来胃部不适是如此辛苦的&#xff0c;怕怕&#…

重磅!顶级一区期刊官宣:明年起将不再拒稿!

源 | 青塔学术、量子位等颠覆科学出版的“游戏规则”?10月20日&#xff0c;国际著名生物学综合期刊eLife官方宣布了一个重大决定&#xff1a;从2023年1月31日起&#xff0c;所有经过同行评审的文章&#xff0c;eLife都不会作出接受/拒绝的决定&#xff0c;而是直接发布在其网站…

EM(期望极大化)算法及其推广

文章目录1. EM算法2. EM算法收敛3. EM算法应用4. EM算法的推广5. sklearn.mixture.GaussianMixture概率模型有时既有观测变量&#xff08;observable variable&#xff09;&#xff0c;又有隐变量或潜在变量&#xff08;latent variable&#xff09;如果概率模型的变量都是观测…

GridView 中添加删除确认提示框

在GridView中我们可以直接添加一个CommandField删除列来删除某行信息。但为了避免误操作引起的误删除&#xff0c;在删除操作者让操作者再确认下&#xff0c;完后再进行删除。 首先我们给我们的GridView 添加一个模板列&#xff0c;如下&#xff1a; <asp:TemplateField He…

终于有人喊出来:论文一稿多投是作者的合法权利!

文 | 马建平&#xff0c;三峡大学学报编辑源 | 现代出版一稿多投目前已演变为许多作者一种常态化的投稿方式。针对一稿多投现象&#xff0c;舆论似乎是一边倒的反对和谴责之声&#xff0c;认为它浪费了极为稀缺的出版资源&#xff0c;扰乱了报刊社正常的出版秩序&#xff0c;是…

python中pop用法_Python dict pop()用法及代码示例

Python语言为几乎所有容器(无论是列表容器还是集合容器)指定了pop()。这篇特别的文章着重说明Python词典提供的pop()方法。这种方法对于经常处理字典的程序员很有用。 用法&#xff1a;dict.pop(key, def) 参数&#xff1a; key:必须返回并删除其键值对的键。 def:如果指定的键…

桩训日记

2007年2月7日 弄了一天的模拟练习&#xff0c;挺累的&#xff0c;明天估计是练习 起步停车2007年2月8日 上午起步停车&#xff08;年龄挺大的李教练&#xff09;&#xff0c;临近中午开始倒库&#xff08;挺帅的尹教练&#xff09;&#xff0c;下午继续倒库&#xff0c;基本茫然…