【AI知识点】三种不同架构的大语言模型(LLMs)的区别

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】


在自然语言处理(NLP)中,预训练语言模型(LLMs, Large Language Models)通常基于不同的架构,如仅编码器的模型(Encoder-only)、编码器-解码器的模型(Encoder-Decoder),以及仅解码器的模型(Decoder-only)。这三种架构有着显著的区别,主要体现在功能、适用任务和性能上。下面从架构、功能、任务适用性、训练数据和推理能力等多个角度详细分析。

1. 架构(Architecture)

  • 仅编码器的模型(Encoder-only LLMs)

    • 该架构仅包含一个编码器网络,类似于BERT等模型。编码器主要负责将输入序列(如句子或文本片段)转换为一个高维的语义向量表示。
    • 编码器通过自注意力机制学习输入文本的上下文关系,输出与输入长度一致的向量表示。
  • 编码器-解码器的模型(Encoder-Decoder LLMs)

    • 该架构包括两个部分:编码器和解码器。编码器将输入序列编码为隐向量(latent representations),然后解码器将这些隐向量解码为目标序列(如翻译生成的文本)。
    • 编码器负责处理输入文本,解码器通过注意力机制从编码器的输出中提取信息,并生成输出文本。
  • 仅解码器的模型(Decoder-only LLMs)

    • 该架构只有一个解码器,没有独立的编码器模块。GPT系列模型就是典型的解码器架构。
    • 解码器通过自回归生成(autoregressive generation) 的方式,基于已生成的部分预测下一步的输出,直到生成完整的文本序列。

2. 功能特点(Functional Differences)

  • 仅编码器的模型

    • 编码器的主要功能是进行文本的表示学习,它能够很好地捕捉句子或文本片段的语义信息。
    • 通常用于文本分类、句子对比(如自然语言推理)以及实体识别等任务。
    • 其主要优势在于,整个输入在模型推理过程中同时被处理,能有效建模长距离依赖关系。
  • 编码器-解码器的模型

    • 这种架构同时具备编码和解码功能,因此非常适合序列到序列任务(sequence-to-sequence tasks),如机器翻译、文本摘要生成等。
    • 编码器-解码器模型在处理长文本时表现优秀,因为编码器可以将长文本转换为紧凑的语义表示,解码器根据这个语义表示生成目标输出。
  • 仅解码器的模型

    • 这种模型主要用于生成式任务,适合文本生成、问答生成、对话生成等任务。
    • 它通过自回归的方式逐步生成文本,生成下一个词时只考虑之前的词,因此更适合需要逐步生成文本的任务。
    • 与编码器不同,解码器具有更强的生成能力,尤其是在大规模语言模型(如GPT-3)中。

3. 任务适用性(Task Suitability)

  • 仅编码器的模型

    • 适合用于理解任务,如文本分类、情感分析、命名实体识别(NER)、文本匹配等。由于没有解码器,无法直接用于生成类任务。
    • 例如:BERT 在文本分类、QA任务中表现出色,但不擅长生成。
  • 编码器-解码器的模型

    • 适合处理需要将输入映射为另一种输出的任务,如机器翻译、摘要生成、问答生成等。
    • 例如:T5、BART这类模型在翻译和文本生成类任务中具有较好表现。
  • 仅解码器的模型

    • 主要用于文本生成任务,如文本生成、对话系统、代码生成等。由于缺乏编码器部分,通常不用于复杂的理解类任务。
    • 例如:GPT-3在开放式文本生成任务中非常强大,但在需要精细理解的任务中略显不足。

4. 训练与推理(Training and Inference)

  • 仅编码器的模型

    • 训练时通常使用双向注意力(bidirectional attention),即模型在预测每个词时会考虑上下文的所有词。
    • 推理时,输入通常是一个固定长度的序列,输出是该序列的语义表示。
    • 适合一次性处理整个输入,但不擅长逐步生成。
  • 编码器-解码器的模型

    • 训练时编码器负责处理完整输入,而解码器逐步生成输出,解码器在生成每个词时可以回溯到编码器输出的所有隐向量。
    • 推理时,编码器可以处理较长的输入,解码器则通过自回归生成来产生输出序列。
  • 仅解码器的模型

    • 使用自回归训练和推理,即模型通过学习每一步生成当前词,直到达到序列的终点。注意力机制只允许查看之前生成的词。
    • 在推理时逐词生成,非常适合开放式生成任务。

5. 复杂度与计算效率(Complexity and Efficiency)

  • 仅编码器的模型

    • 由于仅包含编码器部分,计算复杂度相对较低,但它不能处理生成类任务,因此在文本生成等任务中需要结合其他模型或机制。
    • 比如,BERT在大多数理解类任务中计算效率较高,但它不能直接进行生成。
  • 编码器-解码器的模型

    • 包含两个模块,计算复杂度较高,但更具灵活性。适合那些需要同时处理输入和输出的任务。
    • 如T5等模型的架构使其能处理更复杂的序列转换任务,但推理速度相对较慢。
  • 仅解码器的模型

    • 在处理生成任务时表现出色,但由于是逐步生成,每一步都需要依赖前一步的输出,因此推理时间较长。
    • 大规模的解码器模型如GPT-3在生成文本时效率不高,尤其是处理较长文本时。

6. 训练数据需求(Training Data Requirements)

  • 仅编码器的模型

    • 通常在双向上下文数据上进行训练,适合从大量未标注数据中学习语言的语义表示。
  • 编码器-解码器的模型

    • 需要同时有输入和输出对的数据,尤其是在翻译或摘要任务中,需要大量的并行语料。
  • 仅解码器的模型

    • 主要依赖大规模的文本生成数据,可以通过海量的未标注文本进行训练,学习语言生成的规律。

总结

  • 仅编码器的模型(如BERT):适合理解类任务,具备强大的语义表示能力,但不擅长生成。
  • 编码器-解码器的模型(如T5, BART):适合处理序列到序列的任务,能够同时理解和生成文本。
  • 仅解码器的模型(如GPT):适合生成类任务,尤其擅长在开放式生成任务中表现出色,但对复杂的文本理解任务不如编码器或编码器-解码器架构。

代表模型

下图是近年来具有代表性的大语言模型(LLMs)。从下到上依次为:仅编码器的模型(Encoder-only)、编码器-解码器的模型(Encoder-Decoder),以及仅解码器的模型(Decoder-only)。实心方块表示开源模型,空心方块表示闭源模型。
在这里插入图片描述
图片来源:https://arxiv.org/abs/2306.08302

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

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

相关文章

量子计算机的原理与物理实现

量子计算机的原理与物理实现很复杂 指导性原则 首先思考制备一台量子计算机需要些什么? 需要量子比特——二能级量子系统。除了量子计算机需要满足一些物理特性,它还必须要把量子比特绘制到某种初态上,以及测量系统的输出态。 而实验上的挑战…

基于SSM+微信小程序的实验室设备故障报修管理系统2

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM微信小程序的实验室设备故障报修管理系统2实现了管理员,用户,维修员三个角色。 管理员功能有 个人中心,用户管理,维修员管理&#…

[网络基础]——ICMP(互联网控制消息协议)协议介绍

🏡作者主页:点击! 🤖网络通信基础TCP/IP专栏:点击! ⏰️创作时间:2024年10月15日8点23分 在现代网络通信中,互联网控制消息协议(ICMP)扮演着至关重要的角色…

使用Go语言的gorm框架查询数据库并分页导出到Excel实例

文章目录 基本配置配置文件管理命令行工具: Cobra快速入门基本用法 生成mock数据SQL准备gorm自动生成结构体代码生成mock数据 查询数据导出Excel使用 excelize实现思路完整代码参考 入口文件效果演示分页导出多个Excel文件合并为一个完整的Excel文件 完整代码 基本配置 配置文…

Java项目实战II基于Spring Boot的问卷调查系统的设计与实现(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 基于Spring…

第十三章 RabbitMQ之消息幂等性

目录 一、引言 二、消息幂等解决方案 2.1. 方案一 2.2. 方案二 一、引言 幂等是一个数学概念,用函数表达式来描述是这样的:f(x) f(f(x)) 。在程序开发中,则是指同一个业务,执行一次或多次对业务状态的影响是一致的。有些业务…

【Web——HTML 初阶】网页设计标题

♥HTML(HyperText Markup Language,超文本标记语言)是构建网页和Web应用的基础语言之一。它不是一种编程语言,而是一种标记语言,用于描述网页的结构和内容。HTML使用标签(tags)来标记不同类型的…

Jetpack-Room

Room是Android Jetpack中的一个组件,它提供了一个抽象层,帮助开发者在本地数据库(如SQLite)上进行持久化数据存储。Room通过简化数据库操作,使得数据管理变得更加容易和高效。 Room重要的概念 实体(Entit…

[实时计算flink]CREATE DATABASE AS(CDAS)语句

CDAS支持整库级别的表结构和数据的实时同步,还支持表结构变更的同步。本文为您介绍CREATE DATABASE AS(CDAS)的使用方法,并提供了多种使用场景下的示例。 背景信息 CDAS是CTAS语法的一个语法糖,用于实现整库同步、多…

CesiumLab介绍

软考鸭小程序 学软考,来软考鸭! 提供软考免费软考讲解视频、题库、软考试题、软考模考、软考查分、软考咨询等服务 CesiumLab是一个围绕Cesium平台设计的完整易用的数据预处理工具集,它旨在最大化提升三维数据可视化效率。本文将详细介绍CesiumLab的安装、主要功能…

【stm32】DMA的介绍与使用

DMA的介绍与使用 1、DMA简介2、存储器映像3、DMA框图4、DMA基本结构5、DMA请求6、数据宽度与对齐7、数据转运DMA(存储器到存储器的数据转运)程序编写: 8、ADC连续扫描模式DMA循环转运DMA配置:程序编写: 1、DMA简介 DM…

C++笔记之类三种的继承方式

C++笔记之类三种的继承方式 code review! 文章目录 C++笔记之类三种的继承方式1.《C++ Primer Plus》(第6版)中文版Page 5502.C++类继承方式与能否隐式向上转换的关系1.《C++ Primer Plus》(第6版)中文版Page 550 除基类私有成员变量外(基类公有成员变量和保护成员变量):…

Element-ui官方示例(Popover 弹出框)

Element-ui官方示例(Popover 弹出框),好用的弹出框。 使用 vue-cli3 我们为新版的 vue-cli 准备了相应的​Element 插件​,你可以用它们快速地搭建一个基于 Element 的项目。 使用 Starter Kit 我们提供了通用的项目模版&#…

gitLab配置ssh

1打开git命令行,创建秘钥 ssh-keygen -t rsa -b 4096 -C "用户名xxx.com" 2执行下面的命令查看公钥 cat ~/.ssh/id_rsa.pub 3#复制公钥到gitlab网址上ssh页面添加ssh的key(公钥) 4本地的git命令行中添加账户邮箱 git config -…

Windows7 X64 成功安装 .NET Framework 4.8 的两种方法

Windows7 X64 成功安装 .NET Framework 4.8 的两种方法 windows7系统SP1安装完成后,在安装某软件时,提示需要先安装4.6以上的版本net-framework包,正好电脑里有个net-framework4.8软件包,于是打算用上,可是在安装时&a…

JDK17下,使用SHA1算法报Certificates do not conform to algorithm constraints错误

JDK17从17.0.5开始,默认不再允许使用SHA1算法,如果引用的jar包或代码里使用了SHA1算法,会报以下错误。 Caused by: javax.net.ssl.SSLHandshakeException: Certificates do not conform to algorithm constraintsat java.base/sun.security.…

JS开发es8266板子,搞着玩-MAX7219模块 远程显示led字符串

JS开发es8266板子,搞着玩-MAX7219模块 板子为 esp8266 这里接了两个8x8 Led.Matrix espjs https://www.espruino.com/ 我是看了,这个文章 发现js可以开发esp板子的就尝试了下远程点灯,挺有意思就买了很多模块慢慢尝试 代码 这里我把wifi模块又包了一…

AI 视频工具合集

🐣个人主页 可惜已不在 🐤这篇在这个专栏AI_可惜已不在的博客-CSDN博客 🐥有用的话就留下一个三连吧😼 目录 前言: 正文: ​ 前言: AI 视频,科技与艺术的精彩融合。它借助先进的人工智能技术,为影像创…

力扣刷题-算法基础

hello各位小伙伴们,为了进行算法的学习,小编特意新开一个专题来讲解一些算法题 1.移除元素. - 力扣(LeetCode) 本题大概意思是给定一个数组和一个数val删除与val相同的元素,不要改变剩余元素的顺序,最后返回剩余元素的个数。 我们在这里使用双指针,这里的双指针并不是…

【OSCP Proving Grounds 靶场系列】Slort

作者:Eason_LYC 悲观者预言失败,十言九中。 乐观者创造奇迹,一次即可。 一个人的价值,在于他所拥有的。可以不学无术,但不能一无所有! 技术领域:WEB安全、网络攻防 关注WEB安全、网络攻防。我的…