【大模型系列篇】预训练模型:BERT GPT

news2024/11/23 16:51:09

2018 年,Google 首次推出 BERT(Bidirectional Encoder Representations from Transformers)。该模型是在大量文本语料库上结合无监督和监督学习进行训练的。 BERT 的目标是创建一种语言模型,可以理解句子中单词的上下文和含义,同时考虑到它前后出现的单词。

2018 年,OpenAI 首次推出 GPT(Generative Pre-trained Transformer)。与 BERT 一样,GPT 也是一种大规模预训练语言模型。但是,GPT 是一种生成模型,它能够自行生成文本。 GPT 的目标是创建一种语言模型,该模型可以生成连贯且适当的上下文文本。

BERT和GPT是两种基于Transformer架构的预训练模型,BERT侧重于理解句子中的上下文和含义,适合词语级别的任务;而GPT则专注于生成连贯的文本,适用于生成式任务。两者在训练方式、任务目标和适用场景上有所不同,BERT使用掩码语言模型和下一句预测,GPT采用自回归语言模型。

首先我们拿BERT、GPT和ELMo【关于ELMO在上篇《词向量 - 从Word2Vec到ELMo》中已经有介绍】的模型结构图做一个简要对比,可以帮助更清晰的理解三类模型的差异。

BERT是基于Transformer架构的双向编码器。它通过掩码语言建模和下一个句子预测的任务进行无监督预训练。

GPT是基于Transformer架构,它是一个单向的生成式模型。GPT通过自回归方式预训练,即根据前面的词预测下一个词。

简单来说,如果我们把 ELMO 的特征抽取器(LSTM)换成Transformer,那么我们会得到 BERT模型结构。如果我们把 GPT 预训练阶段换成双向语言模型,也会得到 BERT模型结构。

BERT, GPT之间的不同点

  • 关于特征提取器:

    • GPT和BERT采用Transformer进行特征提取;

    • BERT采用的是Transformer架构中的Encoder模块;

    • GPT采用的是Transformer架构中的Decoder模块。

  • 单/双向语言模型:

    • GPT和BERT都源于Transformer架构;

    • GPT的单向语言模型采用了经过修改后的Decoder模块,Decoder采用了look-ahead mask,只能看到context before上文信息,未来的信息都被mask掉了;

    • BERT的双向语言模型采用了Encoder模块,Encoder只采用了padding mask,可以同时看到context before上文信息,以及context after下文信息。

很多NLP任务表明Transformer的特征提取能力强于LSTM,

对于ELMo而言,采用1层静态token embedding + 2层LSTM,提取特征的能力有限。

BERT, GPT各自的优点和缺点

  • GPT:

    • 优点:GPT使用了Transformer提取特征,使得模型能力大幅提升。

    • 缺点:GPT只使用了单向Decoder,无法融合未来的信息。

  • BERT:

    • 优点:BERT使用了双向Transformer提取特征,使得模型能力大幅提升。添加了两个预训练任务, 掩蔽语言模型(MLM) + 下一句预测(NSP)的多任务方式进行模型预训练。

    • 缺点:模型过于庞大,参数量太多,需要的数据和算力要求过高,训练好的模型应用场景要求高。更适合用于语言嵌入表达,语言理解方面的任务,不适合用于生成式的任务。

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

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

相关文章

数学问题+贪心

前言:一开始我想的就是我每次都设置一个cnt记录每次增加量,后面都增加这个量,但是发现我忘记要把这个量先加到后面的元素上面去 正确的做法就是每次 a [ i ] > a [ i − 1 ] a[ i ] > a[ i-1 ] a[i]>a[i−1] 的时候再进行处理&…

量化交易backtrader实践(四)_评价统计篇(3)_更多评价与可视化

前情回顾 在第(1)节中,我们对于backtrader内置的评价指标一个接一个的进行了实践测试,其中第10个是金融投资组合分析库 - pyfolio,当时我们先去实践了Analyzer中的pyfolio指标(其实就是03,07,08&#xff0…

Python TensorFlow入门与实践

摘要 本文旨在详细介绍如何使用Python和TensorFlow进行基本的深度学习任务。我们将从安装TensorFlow开始,逐步讲解如何创建简单的神经网络模型,并通过一个具体的示例来演示如何训练模型。此外,我们还将讨论一些高级主题,如卷积神…

“长风破浪”计划创作营圆满结营 9月10日“2024华韵视听大会”佛山见

8月26日,“长风破浪”青年音乐人唱享计划与青年影视人扶持计划创作营在佛山高明皂幕山上圆满结营。首季创作营历时一周,在高强度的创作中,20位青年影视人和音乐人群策群力,超额完成任务,共创两首歌曲、一部微短剧及一部…

Wails实现桌面番茄钟应用

0.项目背景 最近在优化自己的工作流,在工作方法上开始使用番茄钟来实现时间控制,一直觉得番茄钟的方式有点silly,直到自己用过之后才发现,番茄钟是真的好用,它不止是工作的方法,更是休息的艺术&#xff0c…

流程图还不会画?这个AI工具一键出图,还有上万模版库可选

我是娜姐 迪娜学姐 ,一个SCI医学期刊编辑,探索用AI工具提效论文写作和发表。 流程图的绘制在工作中很常见。大家在写论文、课题申请等经常会用到需要绘制技术路线、工作流程、病人筛选流程等。 有没有AI工具能够根据我们的描述文字,一键生成流…

aspeed2600 openbmc对mctp over pcie的支持分析(支持mctp over pcie)

遍搜全网,竟然关于openbmc mctp over pcie的支持说明情况了无文章,这不是一个艰难的问题,服务器BMC也不是一个超级精尖的产品,想当年分享stm32资料,都是满天飞。可能服务器市场大家对于文章上的分享并无兴趣。 此篇文…

网络安全总结②

上一篇:网络安全总结① 下一篇: 传统防火墙 传统防火墙 技术:访问控制、代理技术、会话机制 工作层次:应用层一下 防御模式:通过防御设备划分边界,基于IP/端口和特征进行判断;以隔离为基础&am…

【Spring Boot 3】自定义拦截器

【Spring Boot 3】自定义拦截器 背景介绍开发环境开发步骤及源码工程目录结构总结背景 软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术总是要花费或多或…

茶余饭后(六)

有人孤立你,证明你强大;有人嫉妒你,证明你出众;有人诋毁你,证明你有能力;有人议论你,证明你有价值;有人利用你,证明你有能力。所以原谅那些诋毁你的人,至少他…

到处在裁员,这个行业却在疯狂招人!

1.裁员浪潮不断 8月26日,IBM中国方面确认了将关闭中国研发部门的消息,这一决策涉及员工数量超过1000人。技术迭代浪潮前,哪怕是名企,攻守防退之间的转换也只在一瞬间。AI引发大裁员?这表明IBM正在积极适应技术变革&am…

win10配置adb环境变量

初始状态: 最简单的配置方案,直接复制adb所在路径: 粘贴进来确定即可: 然后打开 cmd 查看已经配置成功了:

MATLAB 手写Ply文件点云读取类(86)

MATLAB 手写Ply文件点云读取类(86) 一、算法介绍二、算法实现1.PLYReader.m 类文件2.可视化一、算法介绍 PLY是一种常见的点云文件格式,这里尝试手写一个读点云的类,查看是否能正常读取,结果将可视化,具体代码如下: 二、算法实现 1.PLYReader.m 类文件 classdef PLYR…

优秀的开源项目

目录 热key 多线程并行 秒级百G级日志工具 ES操作工具 消息推送平台 HTTP 客户端 业务层的分布式限流组件 企业级微服务解决方案 热key hotkey: 京东App后台中间件,毫秒级探测热点数据,毫秒级推送至服务器集群内存,大幅降低热key对数…

MinIo - java代码 实现图片上传至Minio桶

MinIO是一款开源的高性能、可伸缩、安全的对象存储系统,专为云原生和容器化环境而设计 (基于minio已经集成在服务器中) 第一步,毫无疑问肯定是创建一个桶(用于存放的容器) 这个Name根据自己的需求自定义 然后点击Create Bucket 可以看见新创建的桶已经完成 点击新创建的…

es集群详解

1、集群的介绍: 1.1、单机的elasticsearch做数据存储 必然面临两个问题:海量数据存储问题、单点故障问题。海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard),存储到多个节点。从逻辑上&#xff0c…

docker 镜像仓库的管理

目录 1 docker 镜像仓库介绍 1.1 什么是docker仓库 1.2 docker hub 2 docker仓库的工作原理 2.1 仓库中的三个角色 2.2 pull原理 2.3 push原理 3 使用互联网上提供的托管镜像仓库 3.1 docker hub 镜像仓库 3.1.1 docker hub 镜像仓库介绍 3.1.2 docker hub的使用方法 4 搭建doc…

数据仓库系列11:ETL的主要步骤是什么,它们分别有什么作用?

你是否曾经感觉被海量数据淹没?是否在寻找一种方法来有效地整合、转换和加载这些数据?如果是,那么你来对地方了。今天,我们将深入探讨ETL(Extract, Transform, Load)过程的三个关键步骤,这是每个大数据开发者都应该掌握的核心技能。准备好踏上成为数据整合大师的旅程了吗?让…

Dubbo源码解析之@DubboService、@DubboReference(Dubbo源码一)

更好的阅读体验:Dubbo源码解析之DubboService、DubboReference(Dubbo源码一) 视频讲解:https://www.bilibili.com/video/BV1nBsMejEbL 对于Dubbo用的最多的就是DubboService、DubboReference,与之对应的就是服务的提供…

diskgenuis打开vmdk文件提示读扇区错误

使用DiskGenius_V5_2_x86打开iKuai-0.vmdk 读扇区错误! 磁盘: 起始于 0 扇区 共 1 个扇区。 (Err:0) 读扇区错误! 磁盘: VD0:iKuai-0.vmdk(2GB) 起始于 0 扇区 共 2 个扇区。 (Err:0) 更换官网最新版本 https://www.diskgenius.cn/download.php 可…