GPT3 和它的 In-Context Learning

format,png

作者 | 太子长琴 

整理 | NewBeeNLP

大家好,这里是NewBeeNLP。ChatGPT 的爆火让很多 NLPer 大吃一惊,焦虑感爆棚,它的思路和方法都不复杂,但效果却出奇的好。

我想任何研究成果的爆发都不可能是一蹴而就的,期间必然包含这一系列小的创新和优化。于是,重新把 GPT3 的 Paper 拉出来读了一遍,重点关注了实验结果之外的东西,果然发现不少细节。因此,本文还是以 GPT3 为主。

从微调到In-Context Learning

GPT3 的初衷再次一看,其实非常 make sense:预训练时代 NLP 的典型方法是在不同下游任务上进行微调(fine-tuning),但是,人类只需要几个示例或简单的说明就可以执行新的任务。

这里面潜在的意思是,大语言模型内部其实已经学到了所有这些能力,我们要做的是「合理」地去挖掘这些能力,而不是给一大批数据让它重新学习(fine-tuning)。这样做的原因和意义包括:

  • 每个新任务需要一批标注数据,这就限制了语言模型应用范围。

  • 预训练-微调机制本身的问题:预训练模型时在大范围内获取信息,微调时则在非常窄的任务上。这种虚假相关性随着模型表现力和训练分布的狭窄而增长。也就是说,模型能力很强,但被卡在特别窄的任务上,这种强其实是一种被放大的强,其泛化性可能很差【1】【2】。

  • 人类不需要一大批监督数据学习大多数的语言任务,我们往往会将多个任务和技能无缝混合或自由切换。

这里有两个概念要先澄清一下:

  • Meta-Learning:训练时开发了一系列广泛的技能和模式识别能力,推理时使用这些能力快速适应或识别所需的任务。

  • In-Context Learning:使用预训练语言模型的文本输入作为任务范式的一种形式:以自然语言指令(instruction)或任务的一些样例为条件,期望通过预测接下来会发生什么来完成任务的下一个实例。

这里有个图片:

4885f8edee8ecff4e6b6d0435f7f15cc.jpeg

Meta-Learning 捕获通用方法的内循环/外循环结构,而 In-Context Learning 指代 Meta-Learning 的内循环。

而之所以有 GPT3 这篇 paper 就是因为这种 In-Context 的能力还比较差,离微调这种范式还有一段距离。但是他们又坚信这种 In-Context 的范式是值得探究的(上面提到的原因),这才一直沿着这条道一路走了下去。

还有个很重要的点需要强调——模型规模,有研究【3】表明,模型规模和效果有相关性(大模型有大智慧),GPT3 验证了这个假设。

对于 In-Context Learning 的验证,使用了三种不同的 condition:

  • Few-Shot Learning:10-100 个样例(N=2048)作为上下文

  • One-Shot Learning:一个样例

  • Zero-Shot Learning:没有样例,只有一个自然语言指令(instruction)

效果如下:

a729a81a7ec7ee518649a3bd22417378.jpeg

而且,模型大小和上下文中样例数量的一般趋势适用于大多数任务。更大的模型是更熟练的元学习者。

更加可喜的是,在 Zero-Shot 和 One-Shot 下效果都不错,Few-Shot 下甚至偶尔能超过 SOTA。One-Shot 和 Few-Shot 也显示出了快速的适应或即时推理能力。当然,也有一些 GPT3 + Few-Shot 都搞不定的情况,比如 NLI 和一些阅读理解任务。

除此之外,文章还研究了数据污染问题,偏见、公平性以及广泛的社会影响。

方法和数据

关于方法,主要是前面提到的三种设置,文章给了一个非常直观的样例:

cb6b7899e418558f82b03d8e157ed6f1.jpeg

对此不再赘述,不过有一点比较有意思,就是与人类学习的细微差别:人一般会通过问一些问题来确认或进一步确认他们已经理解了要回答的问题,一般是以一种交互的方式;而 GPT3 是通过一些样例来指导模型(或者可以理解为让模型先了解再判断)。它们之间的根本区别可以简单的概括为:人类以理解(推理)为核心,而 GPT3 以表征为核心。当然,你也可以认为后者也是一种「理解」。

接下来是数据,这里最核心的是一个提高数据质量的操作,共包括三步:

  • 根据一系列高质量参考语料库的相似性下载并过滤 CommonCrawl,结果就是 45TB 过滤到 570GB。

  • 在数据集内和数据集之间的文档级别进行模糊重复数据删除(去掉了 10%),防止冗余,并保证衡量过拟合的验证集的真实性。

  • 将已知的高质量参考语料库添加到训练数据集合中,增强 CommonCrawl 并增加多样性。

最终数据集如下:

d4f4865283a37f2ec839f7d92be033e1.jpeg

值得注意的是它的采样策略,并不是根据不同数据集的 size 进行采样,而是根据数据质量——数据质量越高的数据集越有可能被采样到。比如 CommonCrawl 和 Book2 的数据有可能采样不到一次(不一定全部被使用),但其他数据集可能被采样 2-3 次。

局限和影响

局限

局限这一部分篇幅不长但非常精彩,尤其是有了 ChatGPT 再回看时,建议阅读原文。

首先,就强调了它的不足性,尤其对「常识物理学」,比如:“如果把奶酪放到冰箱会不会融化?”事实上,这也是整个 AI 面临的难题。哲学家也对此进行过研究,比如维特根斯坦在《论确定性》中谈及的信念网分布问题,可以参考这篇笔记[1],大概意思是说,AI 擅长的是人类认为的复杂问题(也就是《思考,快与慢》中说的系统二),最不擅长的反而是人类看起来很简单,甚至没有意识到的问题(比如 “我有两只手”)。

第二,GPT3 在结构和算法上的局限性,主要是没有用到双向结构,或其他训练目标(如去噪)。

第三,受预训练目标的限制。即自监督预测已经到极限了,新的方法迫在眉睫。未来的方向包括:从人类学习目标函数【4】(这是 OpenAI 的文章)、强化学习微调或多模态(比如更好的世界模型)【5】。其实,OpenAI 在从人类学习这方面除了【4】还有不少研究,比如 2021 年的【6】和 WebGPT【7】,2022 年的 InstructGPT【8】和【9】。

第四,预训练时的低效率采样——相比人类,样本还是太多,尤其和人类学习相比。未来的一个重要方向是预训练采样的效率,可能来自物理世界的基础知识提供额外信息,或算法改进。

第五,不确定 Few-Shot 是不是在推理时学习到新的任务,还是识别出来了在训练时学到的任务。最终,甚至不清楚人类从零开始学习与从之前的样本中学习分别学到什么。准确理解 Few-Shot 的工作原理是一个未来的方向。

第六,贵而且不方便进行推理,在实际应用中可能是个问题。知识蒸馏在如此规模上进行也可能是新的挑战和机会。

最后,是深度学习的通病——结果不容易解释,而且还记住了训练数据上的偏见,这也是种瓜得瓜种豆得豆。

可以看出这部分内容提到的一些方向正是未来 ChatGPT 成功的关键,真的是看准一条道坚持走下去的典范。

影响

这部分内容主要包括三个:语言模型的滥用、偏见以及能耗,是 LLM 的通用问题了。

对于滥用,最突出的就是造假和欺骗,很多欺诈应用依赖人类写的高质量文本,现在这个瓶颈被 LLM 直接给填平了,这不知道算不算一个小小的潘多拉魔盒。这里面尤其是有组织的团体对 LLM 的恶意使用。

偏见主要包括:性别、种族和区域,小模型比大模型更严重。这里最主要的是要干预,这篇 Paper 未提及的去偏综述[2]可以略作参考。不过文章有一点强调值得注意:去偏不应以指标为导向,而应该以整体方式进行。关于如何分析偏见(以及对应的规范),可以参考【10】。

关于能耗,这里提供了另一个视角:不仅考虑预训练,还应该考虑模型生命周期内的摊销。这玩意儿训练时是比较费电,不过一旦训练好使用起来成本就非常低了(边际成本几乎为 0)。

小结和展望

本文主要回顾了一下 GPT3,当时看这篇 Paper 并没有意识到其中 In-Context 的威力(谁让它当时效果一般呢,看来以后看文章不能光看在公开数据集上的效果),而且这方面其实是有研究的,比如 Facebook 的 MetaICL[3],OpenAI 厉害的地方是坚持这条路并一直想方设法优化(上面的《局限》小节)。

除了 In-Context Learning,语料过滤和去重也是值得注意的两个点,具体参见论文附录 A。其中,过滤用了一个逻辑回归的二分类器,去重则用了 MinHashLSH,两个地方使用了相同的特征。再就是局限部分,体现了对 AI 认知的全面和深度,令读者受益匪浅。

一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息才能通过)

format,png

文献和参考

核心论文

  • Tom B. Brown, Language Models are Few-Shot Learners, 2020

相关文献

带※表示重要文献。

  • 【1】Dani Yogatama, Learning and evaluating general linguistic intelligence, 2019

  • 【2】R Thomas McCoy, Diagnosing syntactic heuristics in natural language inference, 2019

  • 【3】Jared Kaplan, Scaling laws for neural language models, 2020

  • 【4】※Daniel M. Ziegler, Fine-tuning language models from human preferences, 2019

  • 【5】Yen-Chun Chen, Uniter: Learning universal image-text representations, 2019

  • 【6】Jeff Wu, Recursively Summarizing Books with Human Feedback, 2021

  • 【7】※Reiichiro Nakano, WebGPT: Browser-assisted question-answering with human feedback, 2021

  • 【8】※Long Ouyang, Training language models to follow instructions with human feedback, 2022

  • 【9】Nisan Stiennon, Learning to summarize from human feedback, 2022

  • 【10】Su Lin Blodgett, Language (Technology) is Power: A Critical Survey of “Bias” in NLP, 2020

参考资料

  • Mingyu Zong, A SURVEY ON GPT-3, 2022

本文参考资料

[1]

笔记: https://yam.gift/2018/04/07/AI/2018-04-07-AI-Philosophy-Note/

[2]

去偏综述: https://yam.gift/2021/11/18/Paper/2021-11-18-Debiasing/

[3]

MetaICL: https://yam.gift/2021/11/01/Paper/2021-11-01-MetaICL/

562949ee089e35c3dcede49960c2262c.gif

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

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

相关文章

微软总裁布拉德・史密斯:目前 AI 最令人担忧的问题是深度造假

微软总裁布拉德・史密斯(Brad Smith)周四表示,他对人工智能的最大担忧是 Deep Fakes 深度造假,随着各式各样的人工智能工具出现,这类看起来很逼真但实际是虚假的内容如今越来越普遍了。 在周四于华盛顿的一次演讲中&a…

AI时代带来的图片造假危机,该如何解决

一、前言 当今,图片造假问题非常泛滥,已经成为现代社会中一个严峻的问题。随着AI技术不断的发展,人们可以轻松地通过图像编辑和AI智能生成来篡改和伪造图片,使其看起来真实而难以辨别,之前就看到过一对硕士夫妻为了骗…

扫眼球换“世界币” ChatGPT之父“剥削穷人”?

ChatGPT火爆全球后, 山姆奥特曼(Sam Altman)创立的加密项目Worldcoin(世界币)重回大众视野。这个项目诞生于2年前。那时,埋头迭代GPT模型的OpenAI还未如此知名,该公司的CEO 山姆奥特曼也位列科技…

OpenAI重磅研究:ChatGPT可能影响80%工作岗位,收入越高影响越大!

省时查报告-专业、及时、全面的行研报告库 省时查方案-专业、及时、全面的营销策划方案库 【免费下载】2023年2月份热门报告合集 最新亲测国内可用ChatGPT使用教程(3分钟搞定) 文心一言、GPT3.5及GPT4应用测评对比报告 ChatGPT团队背景研究报告 ChatGPT的…

基于Android的医院预约挂号系统

一、APP(Android端---普通用户) 1.注册、登录 1.1注册 用户填写真实姓名、身份证号码(账号)、手机号码、性别和密码(6位数)进行注册 1.2 登录 用户第一次登录系统提醒用户进行注册,用户注册成功…

智能中医诊疗系统php代码,中医HIS

中医预约挂号 方便患者在微信上预约挂号、按医生预约,号码池和线下挂号共享方便医院管理;即方便了患者,又将诊所接入互联网,建设中医诊所品牌。 中药颗粒对接 系统提供独立的颗粒处方,将颗粒药品和其他药品分开&#x…

那些天天都在野外钓鱼的人不上班吗,有收入吗?

你好,我是钓鱼飞飞,很高兴可以回答你的问题,我也是一位常年钓鱼的钓鱼爱好者,特别是今年,几乎一整年都在钓鱼,关于你提出的问题:那些天天都在野外钓鱼的人不上班吗,有收入吗&#xf…

荒岛求生java游戏,荒岛求生手机版

荒岛求生手机版是一款冒险生存题材的手游,在游戏中玩家能够感受到非常丰富的元素,它们能够给游戏提供很棒的探索空间,但是也有很多地方融合的不够好,会出现很多的纰漏,随着游戏的进行,玩家会解锁更多的玩法…

mysql查询不定参数_【实践记录】Java操作MySQL数据库——不定条件参数查询

引入 在数据库中,经常要实现查询操作,而且查询条件是不断根据实际情况动态变化的,以简书用户为例。假设一个简书用户有以下参数:用户名、个人简介、关注人数、粉丝人数、文章数、字数、收获喜欢数。如果我们的查询条件是用户名为某…

Android 配置子Module混淆时遇到的错误,和一些零散技术点总结

概要说明: 1、子Module不能配置混淆,仅仅只能在主Module中配置混淆。 2、主Module配置了混淆,打包成apk后,其他Module的代码也会一起混淆。 3、所有Module中的res目录下的资源都会在打包时合并到主Module的res目录下对应文件位置。…

俄罗斯钓鱼服务器位置,俄罗斯钓鱼4《RussianFishing4》钓鱼地点攻略

俄罗斯钓鱼4《RussianFishing4》钓鱼地点攻略 一,胖比 35.49 卡8 蜂蜜面团 二.银鲫 同样35.49.卡8,甜面团,碎麦粥(这同点位就上个配置图吧) 三.青蛙 41.41 深度17,苍蝇 四.拟鲤 地点:码头 卡8毛翅目 五.梅花鲈 49.56 卡…

钓鱼概率问题,C语言实现和Python代码实现

钓鱼概率问题,C语言实现和Python代码实现 问题描述 又到了万物复苏的春天!活蹦乱跳的大鱼在沁湖各展风姿,GDUFE 的渔夫全都迫不及待地来钓鱼了,Baby O 也是其中之一。 其中,沁湖里有 n条鱼,来参加比赛的…

使用Ambari快速部署Hadoop大数据环境

前言 做大数据相关的后端开发工作一年多来,随着Hadoop社区的不断发展,也在不断尝试新的东西,本文着重来讲解下Ambari,这个新的Apache的项目,旨在让大家能够方便快速的配置和部署Hadoop生态圈相关的组件的环境,并提供维护和监控的功能. 作为新手,我讲讲我自己的学习经历,刚刚开始…

未来计算机带给自动化的机遇,数字化变革催生机遇 自动化已然“原力觉醒”...

原标题:数字化变革催生机遇 自动化已然“原力觉醒” 自动化兼具计算机速度与人工智能 计算机快速、精确,但缺乏智能。人工速度慢、不稳定,但足智多谋。自动化则以最简单的方式将计算机的速度与人工智能相结合,将手动流程转变为无需…

热烈庆祝祖国成立70周年,2019国庆档大片《我和我的祖国》、《攀登者》、《中国机长》数据分析

今年的国庆有大阅兵,也有情怀大片着实很不一般,今年我的国庆节是在医院里面度过的,不过我没有错过这举国欢庆的大阅兵仪式,还记得那一天早上好多老人、病号都齐刷刷地站在大厅注目着硕大的显示屏中的阅兵典礼,非常庄严…

代码规范指南:怎样写才能干净整洁

选自 Medium 作者:Chris Blakely 机器之心编译 能把代码写出来是一回事,但是写出整洁、可读的代码又是另一回事。然而,什么是「干净的代码」呢?怎么才能写出「干净的代码」?为了解答这些问题,本文作者写了一…

58全站用户行为数据仓库建设及实践

背景 随着58业务体系的不断建设与发展,数据分析与应用需求越来越丰富,给数据仓库的建设工作带来了很大的挑战。 全站行为数据仓库建设过程中,我们总结的问题包括如下几点: (1) 数据体系架构已经无法支持业务的快速迭代&#xff0c…

CSDN每日打卡已经2周,进展如何?(送两个CSDN背包)

🍅 作者主页:不吃西红柿 🍅 简介:CSDN博客专家 & 总榜前十🏆、HDZ核心组成员。欢迎点赞、收藏、评论 🍅 粉丝专属福利:知识体系、面试题库、技术互助、简历模板。文末公众号领取 点赞评论 …

哈利路亚

2019独角兽企业重金招聘Python工程师标准>>> 产品规划、产品设计、产品开发、数据分析、数据挖掘、数据开发 转载于:https://my.oschina.net/u/818486/blog/185941

php钓鱼怎么使用方法,路亚钓法操作步骤及抛投技巧

路亚操作的五个基本步骤 虽然按照拟饵的钓法可以横跨淡水钓与海水钓二大系统,而且拟饵的种类达十大类几千种之多,但是,要如何才能玩好拟饵钓法,主要的操竿技巧则有五点,即为:“抽”、“摆”、“旋”、“快”…