点击上方“视学算法”,选择加"星标"或“置顶

重磅干货,第一时间送达

作者|张倩、小舟

来源|机器之心

一直以来,GPT 模型的语言生成能力有目共睹,但语言理解能力似乎略逊一筹。最近,清华、智源等机构的一项研究打破了这一刻板印象。

GPT-3 大型语言模型向我们展示了 AI 模型在生成自然语言文本方面的强大能力。从创作历史人物对话到总结电影再到编写代码,GPT-3 似乎无所不能。

然而,尽管 GPT-3 的输出在语法上是正确的,甚至在习惯用法上也令人印象深刻,但它对语言的理解似乎存在明显不足,以至于一些生成效果令人大跌眼镜。例如:

问:铅笔和烤面包机哪个更重?

答:铅笔比烤面包机重。

GPT-3 的成功表明,「巨大的单向语言模型 + 适当的手工 prompt」这一组合可能有助于提高模型的自然语言理解能力。然而,手工制作表现最佳的 prompt 无异于大海捞针,通常需要异常庞大的验证集。在很多情况下,有效的 prompt 工程意味着过拟合测试集。而且,这很容易导致对抗 prompt 的产生,进而导致模型性能大幅下降。

为了解决这些问题,部分研究者致力于自动搜索离散 prompt 并取得了一些成效,但神经网络本质上是连续的,因此离散 prompt 可能并非最优。

在一篇标题为《GPT Understands, Too》的论文中,来自清华大学、麻省理工、北京智源人工智能研究院、Recurrent AI 的 Xiao Liu、唐杰、杨植麟等研究者提出了一种名为 P-tuning 的新方法来自动搜索连续空间中的 prompt,以提高 GPT 模型的自然语言理解能力。

论文链接:

https://arxiv.org/pdf/2103.10385.pdf

项目链接:

https://github.com/THUDM/P-tuning

实验结果表明,利用 P-tuning 方法,GPT 的自然语言能力可以匹敌 BERT。而且,P-tuning 还可以提高 BERT 在 few-shot 和监督场景下的性能。

该研究的主要贡献如下:

1. 表明在 P-tuning 的加持下,GPT 也能拥有和 BERT 一样强大(有时甚至超越后者)的自然语言理解能力,而 P-tuning 可以提高预训练语言模型的性能。这表明,GPT 类架构在自然语言理解方面的能力被低估了。

2. 表明 P-tuning 是一种提高 GPT 和 BERT 在 few-shot 和全监督场景中自然语言理解能力的通用方法。在 LAMA knowledge probing 和 few-shot SuperGLUE 两个基准的测试中,该方法优于之前的 SOTA 方法,表明语言模型在预训练过程中掌握的世界知识和 prior-task 知识比以往认为的要多。

同时,这一新方法也是北京智源人工智能研究院前段时间发布的超大规模智能模型——「悟道 1.0」的一部分。「悟道 1.0」是我国首个超大规模智能模型系统,由智源研究院学术副院长、清华大学唐杰教授领衔,带领来自北京大学、清华大学、中国人民大学、中国科学院等单位的 100 余位 AI 科学家团队联合攻关,取得了多项国际领先的 AI 技术突破,形成超大规模智能模型训练技术体系,训练出包括中文、多模态、认知、蛋白质预测在内的系列模型,勇闯通用智能发展前沿,构建我国人工智能应用基础设施。

「悟道 1.0」先期启动了 4 个大模型的研发,分别是面向中文的预训练语言模型「悟道 · 文源」、首个公开的中文通用图文多模态预训练模型「悟道 · 文澜」、我国首个具有认知能力的超大规模预训练模型「悟道 · 文汇」和超大规模蛋白质序列预测预训练模型「悟道 · 文溯」。P-Tuning 属于「悟道 · 文汇」,使得自回归模型在理解任务上首次超越自编码模型,还在知识抽取 (LAMA)、少样本学习 (Superglue Fewshot) 等 10 多个任务上取得世界第一,性能提升超 20%。

P-tuning:自动搜索连续空间中的 prompt

P-tuning 架构本身比较简单。给定一个预训练的语言模型,通过预训练的嵌入层将一组离散输入 token 映射到输入嵌入。prompt p 的作用是将上下文 x、目标 y 和自身组合成一个 template t。借助这种方式,该方法可以找到更好的连续 prompt,并通过下游损失函数对连续 prompt 进行优化。

架构细节

给定一个预训练的语言模型 M,离散输入 token 序列「x_1:n = {x_0, x_1, ..., x_n}」将被预训练嵌入层 e ∈ M 映射到输入嵌入 {e(x_0), e(x_1), ..., e(x_n)} 。在以上下文 x 为条件的特定场景中,我们经常使用一组目标 token「y」的输出嵌入来进行下游处理。例如,在预训练中,x 为 unmasked token,y 为 [MASK] token;在句子分类中,x 为句子 token,y 通常指 [CLS]。

prompt p 的作用是将上下文 x、目标 y 和自身组合成一个 template t。例如,在一个预测国家首都的任务中(LAMA-TREx P36),「The capital of Britain is [MASK]」就是一个 template(如图 2 所示)。其中,「The capital of ... is ....」就是 prompt,「Britain」就是上下文,而「[MASK]」就是目标。Prompt 非常灵活,我们甚至可以将其插入上下文或目标。

设 V 为语言模型 M 的词汇表, [P_i] 为 template T 中的第 i 个 prompt token。为简单起见,给定一个 template ,传统离散 prompt 满足 [P_i ] ∈ V 并将 T 映射到

P-tuning 并非如此。它将 [P_i] 视为伪 token,并将 template 映射到:

其中,h_i(0 ≤ i < m) 是可训练的嵌入张量。这使得我们能够在 V 所能表达的原有词汇之外找到更好的连续 prompt。最后,利用下游损失函数 L,对连续 prompt h_i(0 ≤ i < m) 进行优化

实验

研究团队在流行的 LAMA knowledge probing 和 SuperGLUE NLU 基准上对模型进行了测试。

其中,LAMA knowledge probing 用来评估语言模型从预训练中得到了多少知识。实验结果显示,P-tuning 极大地提高了模型的 knowledge-probing 性能。这表明,仅仅是找到一个更好的 prompt(不需要微调),我们就能让语言模型获得更多的知识。P-tuning 也可以超越之前的 AutoPrompt、LPAQA 等离散 prompt 搜索方法。

在 SuperGLUE 的测试中,研究人员考虑了全监督和 few-shot 两种设置,任务包括问答(BoolQ 和 MultiRC)、文本蕴涵(CB 和 RTE)、指代消解(WiC)、因果推理(COPA)和词义消歧(WSC)。

在全监督设置下,对于 BERT-base-cased 和 BERT-large-cased 模型,P-tuning 方法在大多数任务中都超越了其他所有 BERT-based 模型。此外,P-tuning 在 GPT-2-base 和 GPT-2-medium 模型上也取得了令人惊喜的结果。

代替手工 prompt

GPT-3 这样的大模型可移植性往往较差,这意味着,对这些模型进行微调以适应下游任务的做法并不可行。因此,GPT-3 利用手工 prompt 提高模型在下游任务中的可用性。然而,这些手工 prompt 搜索严重依赖不现实的大型验证集,改动其中的一个词就可能导致性能的严重下降。

下表给出了使用手工 prompt 和 P-tuning 的对比结果。如表中数据所示,使用 D_dev32 找到性能最佳的手工 prompt 并不现实,在 few-shot 设置中挑选出最佳的手工 prompt 是一项极具挑战性的任务。相比之下,使用 P-tuning 自动搜索 prompt 的方法更具优势。

在 few-shot 学习设置下,P-tuning 在所有的任务中都超越了带有手工 prompt 的 PET (D_dev32) 和 PET-best (D_dev32) 方法。与 GPT-3 相比,P-tuning 在六项任务(共七项)中都提高了模型的自然语言理解性能,证明与手工方法相比,P-tuning 可以搜索出好得多的 prompt,同时大幅提升模型在 few-shot 任务中的性能。

参考链接:https://www.iheima.com/article-313904.html

点个在看 paper不断!

谁说GPT只擅长生成?清华研究力证:GPT语言理解能力不输BERT相关推荐

  1. 《预训练周刊》第5期:智源等研究力证:GPT语言理解能力不输BERT、盘点NLP预训练「兵器谱」...

    No.05 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第5期< ...

  2. GPT语言模型:通过生成式预训练改善语言理解 OpenAI 2018

    论文链接:https://www.cs.ubc.ca/~amuham01/LING530/papers/radford2018improving.pdf 代码链接:https://github.com ...

  3. linux中生成考核用的GPT分区表结构修复案例

    注:历史版本,后期改用python实现了 实验一: 目的:用于生成大量模拟破坏GPT分区结构案例,并生成唯一方式修复后的评判方法. 故障:在一个完整的GPT分区磁盘上,丢失了GPT主分区表,或备份分区 ...

  4. esp分区创建 linux_Linux 基础知识: GPT分区基础知识及如何在GPT分区上安装WIN7

    大硬盘和WIN8系统,让我们从传统的BIOS+MBR模式升级到UEFI+GPT模式,现在购买的主流电脑,都是预装WIN8系统,为了更好的支持2TB硬盘,更快速的启动win8,预装系统都采取了GPT分区 ...

  5. linux分区转换gpt命令,Linux中磁盘如何转换GPT格式

    Fdisk命令虽然很交互,操作也方便,但是对于大于2T的磁盘无法操作, 假如我们想用大于2T的磁盘怎么办?可以把磁盘转化为GPT格式. GPT格式的磁盘相当于原来MBR磁盘中原来保留4个partiti ...

  6. 【自然语言处理】【文本生成】UniLM:用于自然语言理解和生成的统一语言模型预训练

    UniLM:用于自然语言理解和生成的统一语言模型预训练 <Unified Language Model Pre-training for Natural Language Understandi ...

  7. 干货!任务型对话中语言理解的鲁棒性测试 |清华刘劼西

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 本期AI TIME PhD直播间,我们邀请到了清华大学计算机科学与技术系的硕士生--刘劼西,带来分享--<任务型对话中语言理解的鲁 ...

  8. linux gpt转mbr命令,Diskpart命令将gpt格式转换成mbr教程

    预装Win8的电脑,磁盘为GPT格式的,如果需要安装Win7等早期版本系统,需要转换为MBR格式的,使用Diskpart命令即可完成转换. 操作步骤: 注意:转换磁盘格式需要清空磁盘中的所有分区和数据 ...

  9. 【200+论文】深度强化学习、对话系统、文本生成、文本摘要、阅读理解等文献列表

    [导读]本文收录了深度强化学习.对话系统.文本生成.文本摘要.阅读理解.因果推理.记忆网络.推荐系统.神经表示学习等一系列领域参考文献大合集! https://cloud.tencent.com/de ...

最新文章

  1. 三代测序之微生物基因组 de novo 测序
  2. ui设计现状与意义_学UI设计到底好不好?
  3. 【面试练习题】使用“暴力”的方法将字符串时间转化为秒数
  4. hdfs oiv命令查看FsImage镜像文件内容
  5. malloc线程安全
  6. linux弹性网卡,将弹性网卡附加到 ECS 实例上之后如何配置弹性网卡
  7. Python 3.8.0a2 发布,面向对象编程语言
  8. Docker Hub公共镜像仓库的使用
  9. oracle raw类型 索引,为什么RAW数据类型可以建立索引,但是不走索引
  10. tesseract 提升 速度_京东研发效能提升,从正确地实施度量开始
  11. 开发者将《午夜凶铃》与 ARKit 结合,把贞子带到你面前
  12. Win32API编程_切换窗口
  13. C语言Matrix编程题——[Recursion]D. Liang 8.2 Fibonacci number
  14. 20个基于DPDK开源项目,建议收藏
  15. java自习_java自习重点及自测
  16. 192.168.0.1登录入口
  17. cesium-接入监控视频
  18. shell程序设计小知识
  19. PyQtGraph库的部分踩坑记录
  20. IP地址冲突怎么办? 如何解决局域网IP地址冲突?

热门文章

  1. 刻意练习:Python基础 -- Task05. 函数与Lambda表达式
  2. 【ACM】杭电OJ 2012。
  3. 【数据结构】顺序表的应用(2)(C语言)
  4. 国内首个零信任技术标准发布 腾讯安全牵头编制
  5. 让浏览器开挂的插件,测评师教你如何选
  6. MySQL 狠甩 Oracle 稳居 Top1,私有云最受重用,大数据人才匮乏! | 中国大数据应用年度报告...
  7. 时间序列的建模新思路:清华、李飞飞团队等提出强记忆力E3D-LSTM网络
  8. GAN性能不稳?这九大技术可“镇住”四类缺陷
  9. 为了一窥国足输韩国之后人们的评论,我爬了懂球帝App
  10. 一文掌握常用的机器学习模型(文末福利)