NLP_BERT与GPT争锋

news/发布时间2024/5/14 16:26:00

文章目录

  • 介绍
  • 小结


介绍

在开始训练GPT之前,我们先比较一下BERT和 GPT 这两种基于 Transformer 的预训练模型结构,找出它们的异同。

Transformer架构被提出后不久,一大批基于这个架构的预训练模型就如雨后春笋般地出现了。其中最重要、影响最深远的两个预训练模型当然就是GPT 和 BERT这两个模型。

在ChatGPT震惊世界之前,在自然语言处理领域影响最大的预训练模型是 BERT,很多科研工作都是围绕着BERT 展开的。由于BERT语言理解和推理能力很强,它也适用于很多下游任务。

初代的GPT和 BERT几乎是同时出现的,其实GPT还要稍微早一些。因此,在 BERT 的论文中,特意将二者进行了比较。在下文中,我将用你能够理解的方式来讲解二者的异同,这样你就明白BERT 和 GPT 这两个模型到底是怎么训练出来的了。

在对BERT 做无监督的预训练时,研究人员设计了两个目标任务:一个是将输入的文本中 k% 的单词遮住,然后让它预测被遮住的是什么单词,这个目标任务叫作掩码语言模型(Masked Language Model,MLM);另一个是预测一个句子是否会紧挨着另一个句子出现,这个目标任务叫作下一句预测(Next Sentence Prediction,NSP)。这两个任务在预训练时,数据集都是通过现成的语料文本构建的,标签也是原始语料自带的,所以属于无监督的预训练。其实,从模型参数优化的角度来讲,是有标签指导的。

掩码语言模型,举个例子:随机把“一二三四五,上山打老虎”中的“二”和“打”抠掉,被抠掉的词就成了标签,这样来训练模型的文本理解能力。

自然语言模型的预训练,最不缺的就是数据,比如维基百科、知乎、微博文本,这些平台中有海量的数据。预训练时在大量数据上基于这两个目标(MLM和NSP)对模型进行优化,就形成了预训练好的模型,然后,我们可以把这个基础模型(Foundation Model)的结构和参数一并下载下来,再针对特定任务进行微调,就可以解决下游问题了。BERT适合解决的NLP任务包括文本分类、命名实体识别、完形填空、关系抽取等推理性问题。

GPT也是一种基于Transformer架构的自然语言处理模型,但它与BERT有一些不同之处。

  • 首先,GPT在训练时采用的是单向语境,也就是从左到右的顺序。而BERT则采用了双向的方式,即同时考虑上下文信息。这使得GPT在生成文本时更擅长保持连贯性,但可能在理解某些上下文时不如 BERT。

  • 其次,在预训练任务上,GPT的主要任务是基于给定的上下文,预测出现的下一个词。这个任务就是我们之前反复介绍过的语言模型,也被称为语言建模(Language Modeling)。由于GPT 的预训练任务更简单,因此,它在生成文本方面通常表现得更好。

在实际应用中,GPT经过预训练后,可被用于解决各种下游任务,例如文本生成、文本分类、问答系统等,尤其是生成性问题。与BERT一样,GPT的预训练模型可以在大量文本数据上进行训练,然后根据特定任务进行微调,从而解决各种实际问题。

总之,GPT与BERT都是基于Transformer架构的NLP 模型,但在文本理解方式和预训练任务上有所不同。GPT采用单向语境和语言建模任务,而BERT采用双向语境和掩码语言建模及句子预测任务。在实际应用中,它们都可以通过预训练和微调的方式来解决各种 NLP 任务。

从BERT原始论文中的示意图来理解,这张图简单地说明了所谓单向和双向的区别。从宏观上看,BERT和GPT是相似的,图中蓝色的圈圈是Transformer 的隐藏层,其中的缩写Trm其实就是Transformer,而唯一的区别在于每个蓝色圈圈接收到的自注意力信息的方向。

  • BERT整体处理整个序列,既能够关注前面的信息,也能够关注后面的信息,所以是双向编码。在训练过程中,每个位置的向量表示都通过左右两侧的上下文信息一起学习,这样能更好地捕捉句子的语义。

  • GPT的理念就很不相同了。它是通过语言模型的思想,最大化语句序列出现的概率。你不是让我预测吗?那我只能翻来覆去看问题,不能先看答案啊!这就是生成式模型和填空式模型的不同。

在这里插入图片描述

总结一下,BERT和GPT 的两个主要区别。

  • 第一,BERT是掩码语言模型;GPT 是生成式语言模型。我们这门课程一路以来讲的 N-Gram、Word2Vec、NPLM和 Seq2Seq预测的都是下一个词,其本质都是生成式语言模型。因此,生成式语言模型是语言模型的原始状态,而 BERT 的掩码语言模型“猜词”,是创新。

  • 第二,BERT是双向语言模型,每个位置的向量表示都通过上下文信息来一起学习;GPT 是单向语言模型,在解码器的每个自注意力子层中引入了一个掩码(掩蔽)机制,以防止当前位置的注意力权重分配到后续位置。

  • 第三, BERT只使用编码器架构;而GPT只使用解码器架构。

编码器的双向模型结构使得BERT能够充分利用上下文信息,因此BERT更适用于理解任务,如文本分类、命名实体识别和问答等,因为它可以同时关注输入序列中的所有单词,而不仅仅是一个方向的信息。

只有解码器架构的GPT是一个单向模型,具有自回归的特点。在训练过程中, GPT模型通过后续注意力掩码,确保每个位置只能看到当前位置之前的信息,这使得 GPT非常适合完成生成任务,如文本生成、文章摘要等。当生成一个序列时,GPT会根据之前生成的上下文信息生成下一个单词。

这两个模型的架构差异(见表7.1)使它们在不同类型的NLP任务中各有优势。 BERT 因其双向上下文关注和编码器架构在理解任务上表现出色,而GPT因其单向自回归特性和解码器架构在生成任务上具有较好的性能。

在这里插入图片描述

小结

BERT 因其双向上下文关注和编码器架构在理解任务上表现出色,而GPT因其单向自回归特性和解码器架构在生成任务上具有较好的性能。


学习的参考资料:
(1)书籍
利用Python进行数据分析
西瓜书
百面机器学习
机器学习实战
阿里云天池大赛赛题解析(机器学习篇)
白话机器学习中的数学
零基础学机器学习
图解机器学习算法

动手学深度学习(pytorch)

(2)机构
光环大数据
开课吧
极客时间
七月在线
深度之眼
贪心学院
拉勾教育
博学谷
慕课网
海贼宝藏

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

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

相关文章

【天衍系列 01】深入理解Flink的 FileSource 组件:实现大规模数据文件处理

文章目录 01 基本概念02 工作原理03 数据流实现04 项目实战4.1 项目结构4.2 maven依赖4.3 StreamFormat读取文件数据4.4 BulkFormat读取文件数据4.5 使用小结 05 数据源比较06 总结 01 基本概念 Apache Flink 是一个流式处理框架,被广泛应用于大数据领域的实时数据…

JVS智能BI的ETL数据集实践:数据自动化分析的秘诀

数据集是JVS-智能BI中承载数据、使用数据、管理数据的基础,同样也是构建数据分析的基础。可以通俗地将其理解为数据库中的普通的表,它来源于智能的ETL数据加工工具,可以将数据集进行分析图表、统计报表、数字大屏、数据服务等制作。 数据集管…

Yii2项目使用composer异常记录

问题描述 在yii2项目中,使用require命令安装依赖时,出现如下错误提示 该提示意思是:composer运行时,执行了yiisoft/yii2-composer目录下的插件,但是该插件使用的API版本是1.0,但是当前的cmposer版本提供的…

[AIGC_coze] Kafka 的主题分区之间的关系

Kafka 的主题分区之间的关系 在 Kafka 中,主题(Topics)和分区(Partitions)是两个重要的概念,它们之间存在着密切的关系。 主题是 Kafka 中用于数据发布和订阅的逻辑单元。每个主题可以包含多个分区&#x…

如何简单上手清华AutoGPT并搭建到本地环境

一、准备工作 安装Docker:确保你的本地机器上已经安装了Docker。如果还没有安装,请访问Docker官方网站并按照指引进行安装。--点击进入Docker官网 获取清华AutoGPT的Docker镜像:清华AutoGPT团队可能已经提供了一个Docker镜像,方便…

Nginx

1 Nginx简介 Nginx是一个高性能的Web服务器和反向代理的软件。 Web服务器:就是运行我们web服务的容器,提供web功能,还有tomcat也提供类似的功能。 代理是软件架构和网络设计中,非常重要的一个概念。有两种代理:正向…

11 个适用于 Windows电脑的最佳免费录制屏幕软件(2024)

屏幕录制软件可让您捕获屏幕以与他人共享并创建与产品相关的视频、教程、课程、演示、网络视频等。该软件使您能够从网络摄像头和屏幕录制视频。 11 个适用于 Windows电脑的最佳免费屏幕录像机 以下是精心挑选的顶级屏幕录像机列表,及其受欢迎的功能和网站链接。该…

Leetcode日记 226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。

Leetcode日记 226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 二叉树简介二叉树分类解题方法制作不易,感谢三连,谢谢啦 二叉树简介 二叉树(Binary Tree)是一种特殊的树形…

安装部署k8s集群

系统: CentOS Linux release 7.9.2009 (Core) 准备3台主机 192.168.44.148k8s-master92.168.44.154k8s-worker01192.168.44.155k8s-worker02 3台主机准备工作 关闭防火墙和selinux systemctl disable firewalld --nowsetenforce 0sed -i s/SELINUXenforcing/SELI…

数据结构:栈

文章目录 1.栈的概念及结构2.栈的实现2.1初始化2.2入栈2.3出栈2.4栈顶元素2.5栈中有效元素个数2.6检测栈是否为空2.7销毁栈2.8栈的打印 今天学习一种新的数据结构——栈 1.栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素…

并发编程线程安全之同步锁Synchronized

一、原子性定义 原子性的本质是互斥访问,同一时刻只有一个线程对它进行访问操作 二、原子性问题的简述 public class AutomicDemo {int count 0;public static void main(String[] args) throws InterruptedException {AutomicDemo automicDemo new AutomicDem…

Java入门高频考查基础知识9(银盛15问万字参考答案)

JAVA刷题专栏:http://t.csdnimg.cn/9qscL 目录 一、Springcloud的工作原理 三、注册中心心跳是几秒 四、消费者是如何发现服务提供者的 五、多个消费者调⽤用同⼀接口,eruka默认的分配⽅式是什么 六、springboot常用注解,及其实现 七、…

阿里云香港云服务器租用_BGP多线网络_CN2高速线路测试

阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品,中国电信CN2高速网络高质量、大规格BGP带宽,运营商精品公网直连中国内地,时延更低,优化海外回中国内地流量的公网线路,可以提高国际业务访问质量。阿里云服务…

Android 屏幕适配方案总结

Android 的屏幕尺寸多种多样,如 5 寸、5.5 寸、6 寸 等等,当然,屏幕分辨率也是多种多样,这很容易导致同一元素在不同手机上显示的效果不同的问题。本文章作为自己项目平时编写中的一些常用屏幕适配总结,方案1,3,4都用过…

Unity所有关于旋转的方法详解

前言:欧拉角和四元数的简单描述 我们在Inspector面板上看到的rotation其实是欧拉角, 我们将Inspector面板设置成Debug模式,此时看到的local Rotation才是四元数。 Unity中的欧拉旋转是按照Z-X-Y顺规执行的旋转,一组欧拉旋转过程中…

自动化上位机开发C#100例:如何用面向对象的方式封装雷赛运动控制卡EtherCAT总线卡(C#代码)

自动化上位机开发C#100例:雷赛运动控制卡EtherCAT总线卡C#封装类 文章目录 LTDMC.dll下载LTDMC.cs LTDMC.dll C#调用封装下载ICard.cs 运动控制卡接口Card.cs 运动控制卡抽象类CardLTDMC.cs 雷赛运动控制卡EtherCAT总线卡实现类CardList.cs 总线卡列表封装 LTDMC.dll下载 最新…

辽宁博学优晨教育科技有限公司视频剪辑培训打造技能新星

在数字时代,视频剪辑已成为一项炙手可热的技能。辽宁博学优晨教育科技有限公司,作为业内知名的教育培训机构,其视频剪辑培训项目备受关注。那么,辽宁博学优晨教育科技有限公司的视频剪辑培训究竟可靠吗?本文将为您深入…

GPT-4助力我们突破思维定势

GPT-4在突破思维局限、激发灵感和促进知识交叉融合方面的作用不可小觑,它正逐渐成为一种有力的工具,助力各行业和研究领域的创新与发展。 GPT-4在突破传统思维模式、拓宽创新视野和促进跨学科知识融合方面扮演着越来越重要的角色: 突破思维…

【Java八股面试系列】JVM-常见参数设置

目录 堆内存相关 显式指定堆内存–Xms和-Xmx 显式新生代内存(Young Generation) 显式指定永久代/元空间的大小 垃圾收集相关 垃圾回收器 GC 日志记录 处理 OOM JDK监控和故障处理工具总结 堆内存相关 Java 虚拟机所管理的内存中最大的一块,Java 堆是所有线…

【51单片机】直流电机驱动(PWM)(江科大)

1.直流电机介绍 直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转 直流电机主要由永磁体(定子)、线圈(转子)和换向器组成 除直流电机外,常见的电机还有步进电机、舵机、无刷电机、空心杯电机等 2.电机驱动…
推荐文章