当前位置: 首页 > news >正文

【AI大模型】BERT GPT ELMo模型的对比

目录

🍔 BERT, GPT, ELMo之间的不同点

🍔 BERT, GPT, ELMo各自的优点和缺点

🍔 小结

学习目标

  • 理解BERT, GPT, ELMo相互间的不同点
  • 理解BERT, GPT, ELMo相互比较下的各自优点和缺点

🍔 BERT, GPT, ELMo之间的不同点

  • 关于特征提取器:

    • ELMo采用两部分双层双向LSTM进行特征提取, 然后再进行特征拼接来融合语义信息.
    • GPT和BERT采用Transformer进行特征提取.
    • 很多NLP任务表明Transformer的特征提取能力强于LSTM, 对于ELMo而言, 采用1层静态token embedding + 2层LSTM, 提取特征的能力有限.
  • 单/双向语言模型:

    • 三者之中, 只有GPT采用单向语言模型, 而ELMo和BERT都采用双向语言模型.
    • ELMo虽然被认为采用了双向语言模型, 但实际上是左右两个单向语言模型分别提取特征, 然后进行特征拼接, 这种融合特征的能力比BERT一体化的融合特征方式弱.
    • 三者之中, 只有ELMo没有采用Transformer. GPT和BERT都源于Transformer架构, GPT的单向语言模型采用了经过修改后的Decoder模块, Decoder采用了look-ahead mask, 只能看到context before上文信息, 未来的信息都被mask掉了. 而BERT的双向语言模型采用了Encoder模块, Encoder只采用了padding mask, 可以同时看到context before上文信息, 以及context after下文信息.

🍔 BERT, GPT, ELMo各自的优点和缺点

ELMo: * 优点: * 从早期的Word2Vec预训练模型的最大缺点出发, 进行改进, 这一缺点就是无法解决多义词的问题. * ELMo根据上下文动态调整word embedding, 可以解决多义词的问题. * 缺点: * ELMo使用LSTM提取特征的能力弱于Transformer. * ELMo使用向量拼接的方式融合上下文特征的能力弱于Transformer.

GPT: * 优点: * GPT使用了Transformer提取特征, 使得模型能力大幅提升. * 缺点: * GPT只使用了单向Decoder, 无法融合未来的信息.

BERT: * 优点: * BERT使用了双向Transformer提取特征, 使得模型能力大幅提升. * 添加了两个预训练任务, MLM + NSP的多任务方式进行模型预训练. * 缺点: * 模型过于庞大, 参数量太多, 需要的数据和算力要求过高, 训练好的模型应用场景要求高. * 更适合用于语言嵌入表达, 语言理解方面的任务, 不适合用于生成式的任务.

🍔 小结

学习了BERT, GPT, ELMo之间的区别: * 三者所选取的特征提取器不同. * BERT采用的是Transformer架构中的Encoder模块. * GPT采用的是Transformer架构中的Decoder模块. * ELMo采用的双层双向LSTM模块.

  • 三者所采用的语言模型单/双向不同.
    • BERT采用的是最彻底的双向语言模型, 可以同时关注context before和context after.
    • GPT采用的是单向语言模型, 即Transformer中的Decoder, 由于采用了mask机制, 所以未来信息context after都不可见.
    • ELMo表面上被认为是双向语言模型, 但实际上是左右两个单向LSTM模型分别提取特征, 在进行简单的拼接融合.

相关文章:

【AI大模型】BERT GPT ELMo模型的对比

目录 🍔 BERT, GPT, ELMo之间的不同点 🍔 BERT, GPT, ELMo各自的优点和缺点 🍔 小结 学习目标 理解BERT, GPT, ELMo相互间的不同点理解BERT, GPT, ELMo相互比较下的各自优点和缺点 🍔 BERT, GPT, ELMo之间的不同点 关于特征提取…...

qt 快捷功能 快速生成 setter getter 构造函数 父类虚函数重写 成员函数实现 代码框架 查看父类及父类中的虚函数

qt 快速生成 setter getter 构造函数 父类虚函数重写 成员函数实现 代码框架 1、找到要实现的头文件 2、鼠标移动到在头文件中的类定义的类名上,右键进行选择。 这是插入父类虚函数(父类虚函数重写) 选项弹出来的结果。可以查看到所有父类及父类中的所有的虚函数...

【计算机网络】深入浅出计算机网络

第一章 计算机网络在信息时代的作用 计算机网络已由一种通信基础设施发展成一种重要的信息服务基础设施 CNNIC 中国互联网网络信息中心 因特网概述 网络、互联网和因特网 网络(Network)由若干结点(Node)和连接这些结点的链路…...

springMVC---resultful风格

目录 一、创建项目 pom.xml 二、配置文件 1.web.xml 2.spring-mvc.xml 三、图解 四、controller 一、创建项目 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi…...

汽车基础软件AutoSAR自学攻略(三)-AutoSAR CP分层架构(2)

汽车基础软件AutoSAR自学攻略(三)-AutoSAR CP分层架构(2) 下面我们继续来介绍AutoSAR CP分层架构&#xff0c;下面的文字和图来自AutoSAR官网目前最新的标准R24-11的分层架构手册。该手册详细讲解了AutoSAR分层架构的设计&#xff0c;下面让我们来一起学习一下。 Introductio…...

IntelliJ IDEA 主题插件

在 IntelliJ IDEA 中&#xff0c;有很多优秀的主题插件可以帮助你改变 IDE 的外观和配色方案&#xff0c;使得开发过程更加愉悦和高效。以下是一些非常受欢迎和实用的 主题插件&#xff0c;以及如何安装和使用它们的步骤&#xff1a; &#x1f31f; 流行主题插件推荐 1️⃣ Ma…...

2025最新JAVA面试八股文【基础篇】

1、面向对象和面向过程的区别 2、标识符的命名规则 3、Java自动装箱与拆箱 4、 方法重载和方法重写的区别 5、 equals与 的区别 6、 Hashcode的作用 7、 String、StringBuffer 和 StringBuilder 的区别是什么? 8、ArrayList和linkedList的区别 9、 HashMap和HashTabl…...

element plus 使用 el-tree 组件设置默认选中和获取所有选中节点id

1. 设置默认选中&#xff1a; 使用 default-checked-keys 属性&#xff0c;设置默认要选中的节点&#xff0c;以数组形式&#xff0c;如下&#xff1a; <el-treeref"treeRef":data"data"show-checkboxnode-key"id":props"defaultProps…...

高级java每日一道面试题-2025年01月09日-数据库篇-视图是什么?

如果有遗漏,评论区告诉我进行补充 面试官: 视图是什么? 我回答: 在Java高级面试中&#xff0c;当讨论到数据库中的视图&#xff08;View&#xff09;时&#xff0c;通常指的是一种虚拟表或逻辑表。视图并不存储实际数据&#xff0c;而是基于SQL查询定义的一种数据表示形式。…...

python学习整理

在cmd界面里 安装python notebook 1.pip install notebook -i https://pypi.tuna.tsinghua.edu.cn/simple 打开 notebook jupyter notebook 更改默认路径 找到配置文件路径&#xff1a; jupyter notebook --generate-config 搜索’notebook_dir 内容进行修改路径&#x…...

Qt 5.14.2 学习记录 —— 십이 QLineEdit、QTextEdit

文章目录 1、QLineEdit1、写程序2、正则表达式检查电话号码3、验证两次输入的密码是否一致4、切换显示密码状态 2、TextEdit1、多行编写2、信号 1、QLineEdit text在代码上改变或者界面上直接改动都会修改这个属性。 clearButtonEnabled&#xff0c;输入框为空&#xff0c;没有…...

【LC】2270. 分割数组的方案数

题目描述&#xff1a; 给你一个下标从 0 开始长度为 n 的整数数组 nums 。 如果以下描述为真&#xff0c;那么 nums 在下标 i 处有一个 合法的分割 &#xff1a; 前 i 1 个元素的和 大于等于 剩下的 n - i - 1 个元素的和。下标 i 的右边 至少有一个 元素&#xff0c;也就是…...

【办公类-99-01】20250103用“课题阶段资料模版“批量制作“7个课题档案袋“

背景需求 本学期的课题有4个大课题&#xff0c;3个小课题通过&#xff0c;需要做阶段资料。 一、初步设计 我很早以前就做好了Python代码&#xff08;只有上学期&#xff09;&#xff0c;批量制作每个课题的阶段资料模版。因为小课题的编号没有出来&#xff0c;就一直没有发给…...

Objective-C语言的面向对象编程

Objective-C语言的面向对象编程探讨 引言 随着计算机科学的发展&#xff0c;编程语言也在不断演变。面向对象编程&#xff08;OOP&#xff09;作为一种重要的编程范式&#xff0c;已被广泛应用于软件开发中。Objective-C是一种基于C语言的面向对象编程语言&#xff0c;主要用…...

有限元分析学习——Anasys Workbanch第一阶段笔记(11)横梁中点挠度仿真结果与计算结果对比

目录 0 序言 1 求解横梁中点挠度案例 2 仿真计算求解 2.1 模型简化 2.2 前处理 2.3 计算结果 2 数值计算 3 结果对比 0 序言 本章主要介绍求解横梁的中点挠度的1/4对称算法和数值计算结果对比 有限元分析基本操作流程 1 求解横梁中点挠度案例 分析方案&#xff1a;压…...

GO语言实现KMP算法

前言 本文结合朱战立教授编著的《数据结构—使用c语言&#xff08;第五版&#xff09;》&#xff08;以下简称为《数据结构&#xff08;第五版&#xff09;朱站立》&#xff09;中4.4.2章节内容编写&#xff0c;KMP的相关概念可参考此书4.4.2章节内容。原文中代码是C语言&…...

【2024年华为OD机试】(A卷,100分)- 打印机队列(Java JS PythonC/C++)

一、问题描述 题目描述 有5台打印机打印文件&#xff0c;每台打印机有自己的待打印队列。 因为打印的文件内容有轻重缓急之分&#xff0c;所以队列中的文件有1~10不同的代先级&#xff0c;其中数字越大优先级越高。 打印机会从自己的待打印队列中选择优先级最高的文件来打印…...

SQL语言的面向对象编程

SQL语言的面向对象编程 引言 随着数据库技术的发展&#xff0c;SQL&#xff08;结构化查询语言&#xff09;逐渐成为数据管理和处理的标准语言。从最初的查询语言演变为更复杂的系统&#xff0c;SQL 现在不仅帮助开发者执行基本的查询&#xff0c;还支持了许多高级功能&#…...

android分区和root

线刷包内容&#xff1a; 线刷包是一个完整的android镜像&#xff0c;不但包括android、linux和用户数据&#xff0c;还包括recovery等。当然此图中没有recovery,但是我们可以自己刷入一个。 主要分区 system.img 系统分区&#xff0c;包括linux下主要的二进制程序。 boot.img…...

WebScoket-服务器客户端双向通信

文章目录 1. 消息推送常用方式介绍2. WebSocket2.1 介绍2.2 客户端API2.3 服务端API 3. 总结 1. 消息推送常用方式介绍 轮询 浏览器以指定的时间间隔向服务器发出HTTP请求&#xff0c;服务器实时返回数据给浏览器。 长轮询 浏览器发出ajax请求&#xff0c;服务器端接收到请求…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...