深入理解深度学习——GPT(Generative Pre-Trained Transformer):GPT-3与Few-shot Learning

news2024/9/19 10:46:21

分类目录:《深入理解深度学习》总目录
相关文章:
· GPT(Generative Pre-Trained Transformer):基础知识
· GPT(Generative Pre-Trained Transformer):在不同任务中使用GPT
· GPT(Generative Pre-Trained Transformer):GPT-2与Zero-shot Learning
· GPT(Generative Pre-Trained Transformer):GPT-3与Few-shot Learning


GPT-3曾经是最大、最让人惊艳也是最具争议的预训练语言模型。介绍GPT-3的论文长达72页,包括模型设计思路、理论推导、实验结果和实验设计等内容。GPT-3的模型实在过于庞大,参数量达到1750亿,即使开源,也因为过大的模型和算力需求,无法作为个人使用的预训练语言模型进行部署。

与文章《深入理解深度学习——GPT(Generative Pre-Trained Transformer):GPT-2与Zero-shot Learning》中介绍的GPT-2在Zero-shot Learning设置下的惊喜表现相比,GPT-3在Few-shot Learning设置下的性能足以震惊所有人。在自然语言处理下游任务性能评测中,GPT-2在Zero-shot Learning设置下的性能表现远不如SOTA模型,而GPT-3在Few-shot Learning设置下的性能表现与当时的SOTA模型持平,甚至超越了SOTA模型。下图所示的是GPT-3在少量样本下的机器翻译使用范例。下图右侧是普通模型微调的过程,模型通过大量训练语料进行训练,使用特定任务数据进行梯度迭代更新,训练至收敛后的模型才具备良好的翻译能力。而下图左侧是GPT-3在N-shot Learning设置下的学习示例,在Zero-shot Learning设置下,只需要给出任务描述,GPT-3就能实现翻译;在One-shot Learning设置下,除了要给出任务描述,还需要给出一个翻译样本,GPT-3才可以实现翻译;在Few-shot Learning设置下,除了要给出任务描述,还需要给出更多的训练数据(依旧是少量样本,远少于微调过程所需的训练数据,GPT-3却可以实现更优质的翻译)。通常,给出的样本数据越多,GPT-3在指定任务上的表现就越好。不仅如此,若在同一个任务上具有同样的表现,GPT-3所需的微调训练数据远少于SOTA模型。
GPT-3在少量样本下的机器翻译使用范例
GPT-3在许多自然语言处理数据集上都有出色的表现,包括问答及文本填空等常见的自然语言处理任务。GPT-3的文本生成能力足以达到以假乱真的境界,

看词造句

给出一个新单词及其释义,使用新单词造句。这是小学生学新词时常遇到的任务,通过造句可以判断学生是否掌握了词的真正含义。论文Language Models are Few-shot Learners给出了以下示例:

A “Burringo” is a car with very fast acceleration. An example of a sentence that uses the word Burringo is: In our garage we have a Burringo that my father drives to work every day.
GPT-3接收的输入原文:“Burringo”是一款加速很猛的车,用Burringo造句。
GPT-3给出的造句结果:我家车库有一台Burringo,父亲每天开着它去上班。

虽然没能体现加速很快的特点,但是GPT-3准确地把握了“Burringo”一词最主要的特性,即它代表车的意思。

下面通过虚构一个动词词性的新单词,看看GPT-3能否很好地把握新单词的含义:

To “screeg” something is to swing a sword at it. An example of a sentence that uses the word screeg is: We screeghed at each other for several minutes and then we went outside and ate ice cream.
GPT-3接收的输入原文:“screeg”指的是击剑,用screeg造句。
GPT-3给出的造句结果:我们击了一会儿剑,然后出去吃了冰淇淋。

对于动词,GPT-3也把握得很好,句子十分流畅。

语法纠错

GPT-3不仅能凭空生成文本,还可以给句子纠错。给出一句带语法错误的句子,让GPT-3修改:

Poor English input: The patient was died.
Good English output: The patient died.

原句的动词使用错误,多了一个was,GPT-3自动删除了该词,将其修改成语法正确、语义通顺的句子。再来看一个更难的例子:

Poor English input: Today I have went to the store to buys some many bottle of water.
Good English output:Today I went to the store to buy some bottles of water.

这里原句有两类错误:第一类是时态错误,GPT-3删除了句子中的have;第二类是单复数的错误,通过将buys改成buy、将some many bottle改为some bottles来纠正。GPT-3的纠错效果与基于专家规则的自动纠错系统相当,在句式复杂、时态混乱的语境下甚至可能有更好的表现。

除了原始论文中的例子,在OpenAI开放限量的GPT-3接口后,网友也纷纷尝试了其他有趣的任务,如让GPT-3写代码、设计网页UI,甚至有网友教会了GPT-3下棋、生成财务报表。而GPT-3在各个任务中均有可圈可点的表现,大大超乎了人们的想象,配合其巨大的模型和高昂的训练费用,GPT-3可谓是当时生成式预训练语言模型的天花板模型。

GPT-3的争议

树大招风的GPT-3在博得一片赞美的同时,也受到了来自国内外众多学者的质疑,他们理性地分析了GPT-3的缺陷。下文整理并总结了部分公认的观点,以便读者更全面地了解GPT-3。

  • GPT-3不具备真正的逻辑推理能力:在问答任务中,若GPT-3收到的问题是“太阳有几只眼睛”,GPT-3会回答“太阳有一只眼睛”,即GPT-3并不会判断问题是否有意义,其回答是建立在大规模的语料训练基础上的,而不是经过逻辑推导得出的,无法给出超出训练语料范围的答案。
  • GPT-3存在生成不良内容的风险:在生成文本时,由于训练语料来自互联网,含有种族歧视或性别歧视的语料无法被完全过滤,导致GPT-3生成的文本有一定概率会表达歧视和偏见,甚至在道德评判和专业法律方面也会犯错。
  • GPT-3在高度程序化问题上表现不佳:GPT-3在STEM学科(Science、Technology、Engineering、Mathematics)上的问答表现较差,这是因为GPT-3更容易获得并记住陈述性知识,而不是理解知识。纽约大学副教授、游戏AI研究者Julian Togelius这样评价GPT-3:它就像一名没有认真复习的聪明学生,试图胡言乱语,以期在考试中蒙混过关。它会将一些已知事实和谎言进行串联,使其看起来像是流畅的叙述。

在GPT-3的输出可信度遭受质疑的同时,其庞大的参数量和高昂的训练费用也使它不能被广泛应用。即使如此,GPT-3曾经是最大、最好的预训练语言模型,它真正的意义在于揭开了通用人工智能面纱的一角。深度学习之父Geoffrey Hinton对GPT-3的评价如下:如果以GPT-3的优异性能推算未来,那么生命及世界万物只不过是4.398万亿个参数。随着深度学习的发展,若出现取代Transformer的模型结构,或者模型参数量级再扩大1000倍,也许真会出现能学会逻辑推理、学会思考的通用人工智能模型。

参考文献:
[1] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015
[2] Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola. Dive Into Deep Learning[J]. arXiv preprint arXiv:2106.11342, 2021.
[3] 车万翔, 崔一鸣, 郭江. 自然语言处理:基于预训练模型的方法[M]. 电子工业出版社, 2021.
[4] 邵浩, 刘一烽. 预训练语言模型[M]. 电子工业出版社, 2021.
[5] 何晗. 自然语言处理入门[M]. 人民邮电出版社, 2019
[6] Sudharsan Ravichandiran. BERT基础教程:Transformer大模型实战[M]. 人民邮电出版社, 2023
[7] 吴茂贵, 王红星. 深入浅出Embedding:原理解析与应用实战[M]. 机械工业出版社, 2021.

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

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

相关文章

单点登录设计方案介绍及用OAuth完整实现一个单点登录系统

文章目录 一、单点登录系统的意义1.1 提高用户体验1.2 提高安全性1.3 降低开发成本1.4 提高操作效率 二、单点登录的实现方式2.1 基于共享cookie的方式2.2 基于代理服务器的方式2.3 基于SAML协议的方式2.4 基于OAuth协议的方式 三、用OAuth实现单点登录3.1 OAuth 2.0 协议简介3…

【计组】微指令 微操作 微命令 微程序

区分四个概念 (1)微命令:微命令是构成控制信号序列的最小单位。通常是指那些直接作用于部件或控制门电路的控制命令。 (2)微操作:由微命令控制实现的最基本的操作称为微操作。 (3)微指令:以产生一组微命令&…

ubuntu20.4服务器安装mysql社区版并开放3306端口

您可以按照以下步骤在Ubuntu上安装MySQL社区版: 更新软件包列表: sudo apt-get update下载MySQL社区版的APT存储库配置文件: wget https://dev.mysql.com/get/mysql-apt-config_0.8.19-1_all.deb安装APT存储库配置文件: sudo …

Python基础篇(三):基本语句的示例和说明

基本语句的示例和说明 前言1. 赋值语句2. 条件语句3. 循环语句3.1 for循环示例3.2 while循环示例 4. 函数定义语句5. 函数调用语句6. 异常处理语句7. 导入语句 前言 本文是Python中常见基本语句的示例和说明。这些语句是构建Python程序逻辑和控制流的基础,可以根据…

【T+】畅捷通T+直接升级后,原端口无法使用提示端口占用。

【问题描述】 在使用畅捷通T软件过程中,由于软件可以直接升级, 即:原软件是T16.0版本,可以直接运行T18.0的程序进行软件、数据升级。无需将16.0进行卸载,再安装18.0进行数据升级。 但这样直接升级后,原来的…

Shell编程从入门到实践——入门篇

欢迎关注 「Android茶话会」 回 「学习之路」 取Android技术路线经典电子书回 「pdf」 取阿里&字节经典面试题、Android、算法、Java等系列武功秘籍。回 「天涯」 取天涯论坛200精彩博文,包括小说、玄学等 Shell是一种命令行解释器,它是在Unix和Linux操作系统中…

强化历程3-JavaWeb及Spring,SpringMVC,SpringBoot系列(2023.6.22)

文章目录 强化历程3-JavaWeb及SSM,SpringBoot系列(2023.6.22第一次更新)习题汇总1 JSP页面内容组成?2 cookie和session的区别?3 web应用中如何利用session来维持客户端和服务端的关系?4 session销毁的方式?5 请求转发和重定向的区别?6 什么是servelt&#xff1f…

基于Web的数字家庭网站设计与实现【附开题报告和万字文档(Lun文)】

主要功能 前台登录: ①主页:新闻信息展示、最新动态、家庭亲子视频展示、亲友动态展示 ②论坛:发布帖子 ③家庭亲自视频:视频类型分类、亲子视频标题 ④家庭日记:日记类型分类、日记标题 ⑤新闻信息:新闻类…

vue3+vite+js+router+vueX+组件一键导入(源码)

一、前言 一直想自己做一个简单脚手架,方便自己做点简单的demo网上开源也找不到,大多数都是太重了,或者又太轻了今天把这个几个都揉在一起,方便后面做点小玩意 二、项目包 vite-project.zip - 蓝奏云文件大小:8.8 M|ht…

SCTF2023 Barter 复现

题目描述: chal_sage部分: from Crypto.Util.number import * from random import * from secrets import flagdef gen_random(seed, P, Q, r_list, times):s seedfor i in range(times):s int((s * P)[0])r int((s * Q)[0])r_list.append(r)return…

E. Round Dance(dfs分辨特殊联通块)

Problem - 1833E - Codeforces 有 n 个人来到一个节日并决定跳几个“圆舞”。每个圆舞至少有 2 个人,且每个人恰好有两个邻居。如果圆舞中只有 2 个人,则它们在两侧拥有相同的邻居。 你想要确定有多少个“圆舞”可以跳。但是每个参与者只记得一个邻居。…

【自注意力机制必学】BERT类预训练语言模型(含Python实例)

BERT类预训练语言模型 文章目录 BERT类预训练语言模型1. BERT简介1.1 BERT简介及特点1.2 传统方法和预训练方法1.3 BERT的性质 2. BERT结构2.1 输入层以及位置编码2.2 Transformer编码器层2.3 前馈神经网络层2.4 残差连接层2.5 输出层 3. BERT类模型简要笔记4. 代码工程实践 1.…

利用python绘制端午节的各种图案,例如粽子,赛龙舟等,以及一些端午节的感人小故事

这里写目录标题 1、关于端午节的有趣故事2、关于端午节的趣闻3、利用python绘制龙舟3.1. 代码如下3.2 图形展示 4、利用python绘制大公鸡5、利用python来进行端午节的诗词对弈总结 1、关于端午节的有趣故事 端午节是一个历史悠久的中国传统节日,有很多有趣的故事与…

内存不够用,那你的内存去哪了?

一、前言 近几年开发了一些大型的应用程序,在程序性能调优或者解决一些疑难杂症问题的过程中,遇到最多的还是与内存相关的一些问题。例如glibc内存分配器ptmalloc,google的内存分配器tcmalloc都存在“内存泄漏”,即内存不归还操作…

原来Flutter代码是这样运行在原生系统的!快来了解Flutter标准模板,感受原生系统中Flutter的魅力!

通过Android Studio创建的Flutter应用模板,了解Flutter项目结构,分析Flutter工程与原生Android和iOS工程有哪些联系,体验一个有着基本功能的Flutter应用是如何运转的,从而加深你对构建Flutter应用的关键概念和技术的理解。 Dart只…

深入理解深度学习——GPT(Generative Pre-Trained Transformer):GPT-2与Zero-shot Learning

分类目录:《深入理解深度学习》总目录 相关文章: GPT(Generative Pre-Trained Transformer):基础知识 GPT(Generative Pre-Trained Transformer):在不同任务中使用GPT GPT&#x…

软考:软件工程:软件维护与项目管理

软考:软件工程:软件维护与管理 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 &…

如何挑选合格的在线教育解决方案?

现在市面上的知识付费系统繁多,你可以说百花齐放,也可以说良莠不齐,如果不具备一定的专业素养,根本就无法从中挑选出真正的好产品,劣币驱逐良币反而成为常态。 本文将从几个常见维度分析一个好产品应该具备的基本要素…

CSS基础总结

CSS基础总结 CSS基础总结基础认知基础选择器**选择器的作用**标签选择器类选择器id选择器**通配符选择器** 字体和文本样式字体样式字体大小:font-size字体粗细:font-weight字体样式:font-style字体类型:font-family字体类型&…