0

0

打破不可能三角、比肩5400亿模型,IDEA封神榜团队仅2亿级模型达到零样本学习SOTA

王林

王林

发布时间:2023-04-09 13:31:06

|

1251人浏览过

|

来源于51CTO.COM

转载

自从 GPT-3 问世,展现出千亿级模型的强大实力以来,NLP 任务面临着规模、样本、Fine-tuning 性能的不可能三角。如何在保证 10 亿参数以下的语言模型可以达到 SOTA 的 Few-Shot (甚至是 Zero-shot)还有 Fine-tuning 的性能?一定要上千亿的参数并且忍受不稳定的 prompt 提示才可以解决 zero-shot 场景吗?本文中,IDEA 研究院封神榜团队介绍了一种新的「表现型」UniMC,仅有 2 亿参数即可达到 Zero-shot 的 SOTA。相关工作已经被 EMNLP 2022 接收。

在今年的一篇文章 [1] 中指出,自预训练技术被提出以来,NLP 界一直存在着一个不可能三角(如下图 1),即一个模型不能同时满足:

  1. 中等模型大小(10 亿以下);
  2. SOTA 的 Few-Shot (甚至是 Zero-shot)性能;
  3. SOTA 的 Fine-tuning 性能。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

图片

图 1

不可能三角存在的原因是,当前预训练模型的参数量只有达到一定的数量级,并且使用提示学习才能体现出强大的 few/zero-shot 性能。

最近我们封神榜团队被 EMNLP 2022 收录的论文:《Zero-Shot Learners for Natural Language Understanding via a Unified Multiple Choice Perspective》则打破了这一「魔咒」,提供了一个灵活高效的解决思路。我们的论文提出的 UniMC 在拥有模型参数量很小(仅仅是亿级)和 SOTA 的 Fine-tuning 能力的前提下,同时还能拥有(与 5400 亿的 PaLM 相当的) SOTA 的 Few/Zero-Shot 性能

图片

  • 论文地址:https://arxiv.org/abs/2210.08590
  • 模型开源地址:https://github.com/IDEA-CCNL/Fengshenbang-LM/tree/main/fengshen/examples/unimc/

技术背景

2018 年 BERT 的提出,标志着整个 NLP 领域进入一个预训练时代,NLP 的百尺竿头终于更进一步。现有的模型如 DeBERTa 等预训练掩码语言模型(PMLM)已经可以在 10 亿级以下的参数做到 fine-tuning 的 SOTA 了,但是面对 Zero-shot 场景下的 NLU 任务时表现无力。

原因在于,使用 PMLM 的时候,我们需要在其顶部针对具体任务增加一个 MLP 层,如图 2(c)。并且,这个 MLP 层会增加额外的参数,这使得这种方法面对 Zero-shot 场景时,只能选择随机初始化,根本没办法获得合理的输出。而且,在 finetuning 的场景下,增加 MLP 层也会造成不同任务之间是无法迁移的(比如,2 分类和 3 分类任务之间无法迁移)。

针对 Zero-shot 场景,近年来的主流做法是利用上百亿乃至千亿的预训练语言模型(PLM)统一将 NLU 任务转化为文本生成任务,这样可以通过人工构造 prompt 或者是人工设计 verbalizer 使得大模型可以应用于 zero-shot 任务上,如图 2(a)。进一步地,FLAN 论文中,使用了大量人工构造的模版来统一了不同的任务,使得别的任务的知识可以迁移到特定任务上,如图 2(b)。不过,这样的生成模型具有以下缺点:

  • 生成模型需要将 verbalizer(标签描述)给生成出来,而 verbalizer 通常由人工进行编写,不同的 verbalizer 会导致较大的性能差异;
  • prompt 也需要人工设计,不同的 prompt 会极大影响下游任务的效果;
  • 生成模型在推理时,需要自回归的生成答案,速度较慢。并且一般是单向的,无法像 BERT 一样可以获取双向信息;
  • 为保证 few/zero-shot 性能,生成模型参数量往往较大,达到 GPT-3 的 1750 亿或者是 PaLM 的 5400 亿;
  • 虽然 FLAN 的 Instruction tuning 可以迁移别的任务的知识到特定任务上,但是面对不同任务需要新的训练。比如,评估 A 时,需要在 BCDE 上训练;评估 B 时,需要在 ACDE 上训练。

而我们提出了图 2(d)中 UniMC 的方法,避免了上述问题,并且在中英文数个任务中达到了 SOTA 或者是与最先进模型相近的表现。

图片

图 2

UniMC(一个新的模型表现型)

模型思路

大部分的 NLU 任务都是基于标签的,而生成模型需要将标签给生成出来,这无疑是加重了任务的难度和模型的学习成本。对于许多基于标签的任务(Label-based Task)来说,通常只需要给定输入文本,输出文本属于每种 label 的概率即可。基于这个思路,我们将 NLU 任务转化为多项选择任务(Multiple-Choice)。即给定文本、问题和选项,输出每个选项的概率,而不需要将选项生成出来。

在此基础之上,我们提出一个新的概念:模型的表现型。现有的模型表现型,都是在后面添加某个层,比如分类层。或者是,生成模型 GPT 的表现型是通过 Prompt 来挖掘模型的知识。而我们提出的 UniMC 方案不需要在 PMLM 引入任何额外的层,挖掘了另一种 PMLM 的表现型

在本论文中,我们选择了 ALBERT 作为我们的骨干 PMLM 网络。

统一的多项选择格式

如图 3,我们希望把基于标签的 NLU 任务都转换成统一的 MC(Multiple-Choice)格式。我们的理念是,尽可能少添加人工信息。

图片

图 3

具体地说,我们做了如下两步:

  • 把 label 变成 option;
  • 选择是否添加 question prompt(question 基本来自数据集的描述)。

优点:只设计了一种 option prompt,设计一种或者是没有 question prompt

模型结构

UniMC 的结构如下图 4 所示,它采用类似于 BERT 的自编码结构。主要流程为,我们先统一好不同任务的输入,并且限制好输入信息之间的流通性,经过 PMLM 之后,利用 O-MLM、OP 和 MLM 进行 MC training,最后使用 O-MLM 和 OP 进行 zero-shot 预测。接下来我将一步一步地拆解我们的方案。

图片

图 4

输入 Input 

如图 5 红色实线框区域内容。在输入到 UniMC 之前还要处理一下,变成 UniMC 特有的 token 格式。为了提升计算效率,我们将所有选项与问题和文本进行直接拼接,即 [Options, Question, Passage]。并且我们在每一个选项的前面插入一个特殊的 token,[O-MASK],用来表示 yes 或 no(选不选这个选项)。(注,为了可以提高复用性,我们复用了[MASK] token。

如图 5 绿色虚线框区域内容。我们需要考虑输入信息源太多,有选项信息、问题信息和文本段信息。它们之间的信息会相互影响,所以我们希望隔绝不同的信息。比如,我们在输入的时候,假如可以看到别的选项,那么这道题的难度就下降了,模型会有惰性。

因此我们进行了如下考虑:

  • 使用 Segment ID,告诉模型 option 和 context(question,passage)信息是不同的;
  • 修改 Postion ID,需要模型同等地看待不同 option 的位置信息;
  • 修改 Attention Mask 矩阵,避免模型可以看到不同 option 的信息导致模型产生惰性。

图片

图 5

模型如何做选择题?(O-MLM 和 OP) 

如图 6,我们利用 O-MLM 和 OP 任务来让模型可以去「选择」答案。O-MASK 完全继承于 MASK token(具体地,为了不添加额外的参数以及充分利用模型在无监督预训练阶段所学习到的知识,我们复用了 MaskLM head 的参数)。唯一不同的是,它是 100% 被 mask 的。O-MLM 任务的目标就是把 O-MASK 解码出 ‘yes’  或 ‘no’,其用来预测该选项是否被选择。

而 OP 任务的作用在于,从各个选项的‘yes’中预测答案。具体地,我们取每个  [O-MASK]  输出的 ‘yes’ 的 logit 进行 softmax 得到每个选项的概率,取概率最大的的选项最为预测答案即可。

图片

图 6

在一个 Batch 中处理多个 MC 任务

如图 7,我们希望在一个 batch 中放入多个 MC 数据集,这样可以增强模型的能力,而且,也更加统一(Unified)。我们在构建 batch 的时候,发现了一个问题:假如,一个 batch 里面有不同选项的 sample 呢?

所以我们在输出的前面,再设计了一个 logit mask 的方法。直接给无关的 token 赋予一个负无穷大的预测值,加起来,我们就可以在计算 softmax 的时候消除别的 token 对于 O-MASK 的影响了。并且,不同数量的多项选择题可以在一个 batch 中统一处理。

图片

图 7

模型训练和预测

MC Training

与 FLAN 的 Instruction Tuning 不同,我们仅仅在 MC 数据集上进行训练,这主要是为了让模型学会如何做选择题,并且 MC 数据集具有一定的通用性,比如,不同的数据集可能由数量不等的标签组成。

图片

图 8

Zero-shot Inference

有趣的是,我们可以发现,这两个任务,是可以在 Training 和 zero-shot inference 两个阶段拥有一致性的。这是因为我们都是使用了 O-MLM 和 OP 两个任务来实现让模型做选择题。并且由于我们抛弃了分类层,所有的参数都可以复用,这样一来就激活了 PMLM 的 Zero-shot 能力。

图片

图 9

UniMC 性能 

英文场景

我们收集了 14 份 multiple -choice 任务进行预训练,然后做其他 NLU 任务进行 zero-shot 性能测试。在 4 个 NLI 任务中, UniMC 取得了 SOTA 并且超越 5400 亿参数的 PaLM 模型。

图片

图 10

并且我们在分类任务上击败了以 GPT-2 和 GPT-3 为骨干的网络。对于非常困难的 Dbpedia 任务,高达 13 个类别,甚至可以达到 88.9% 的超高准确率。

图片

图 11

为了探究 UNIMC 的泛化性,我们和 FLAN 做了对比。可以看到,我们的 UniMC 几乎可以在所有任务中超越 FLAN 或者是接近。

图片

图 12

中文场景

在中文场景中,我们收集了 40 份有监督数据集,并统一构造成为 MC 的任务形式对 UniMC 模型进行预训练,然后在 FewCLUE 和 ZeroCLUE 的 9 个任务上进行测试。截止 2022 年 8 月 30 日,UniMC 取得了 FewCLUE 和 ZeroCLUE 双榜第一(图中的二郎神 - UnifiedMC 即为 UniMC)。

图片

图 13

图片

图 14

总结

我们提出了一个新颖的 Zero-shot 场景下的 NLU 任务的解决方案,仅利用亿级的参数量就战胜了千倍参数量的复杂大模型。

此外,我们几乎没有引入任何的人工信息。并且克服了 BERT 类模型的预训练和微调不一致的问题,我们的训练和预测是具有一致性的。我们甚至可以做到一次训练,多次 zero-shot 预测,极大地节约了算力成本。​目前 IDEA 封神榜团队已经推出了超过 70 个预训练大模型。

  • 模型:https://huggingface.co/IDEA-CCNL
  • 封神榜总论文(中英双语):https://arxiv.org/abs/2209.02970
  • 封神榜主页:https://github.com/IDEA-CCNL/Fengshenbang-LM

引用

[1]Impossible Triangle: What's Next for Pre-trained Language Models?https://readpaper.com/paper/4612531641570566145

百度文心百中
百度文心百中

百度大模型语义搜索体验中心

下载

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6137

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

816

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1064

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

1312

2024.03.01

点击input框没有光标怎么办
点击input框没有光标怎么办

点击input框没有光标的解决办法:1、确认输入框焦点;2、清除浏览器缓存;3、更新浏览器;4、使用JavaScript;5、检查硬件设备;6、检查输入框属性;7、调试JavaScript代码;8、检查页面其他元素;9、考虑浏览器兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

185

2023.11.24

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

639

2026.01.21

idea快捷键大全
idea快捷键大全

本专题为大家提供idea快捷键相关的文章,帮助大家解决问题。

166

2023.08.03

idea如何集成Tomcat
idea如何集成Tomcat

idea集成Tomcat的步骤:1、添加Tomcat服务器配置;2、配置项目部署;3、运行Tomcat服务器;4、访问项目;5、注意事项;6、关闭Tomcat服务器。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

169

2024.02.23

拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

31

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Django 教程
Django 教程

共28课时 | 3.5万人学习

Go 教程
Go 教程

共32课时 | 4.2万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号