编码器与解码器LLM全解析:掌握NLP核心技术的关键!

让我们深入了解:基于编码器和基于解码器的模型有什么区别?

编码器与解码器风格的Transformer

从根本上说,编码器和解码器风格的架构都使用相同的自注意力层来编码词汇标记。然而,主要区别在于编码器旨在学习可以用于各种预测建模任务(如分类)的嵌入表示。相比之下,解码器则设计用于生成新文本,例如回答用户查询。

原始的Transformer

2017年开发的原始Transformer架构,旨在进行英译法和英译德的语言翻译,它同时利用了编码器和解码器,如下图所示。

在上图中,输入文本(即要翻译的文本中的句子)首先被分词成单独的词汇标记,然后通过嵌入层进行编码,再进入编码器部分。之后,在每个嵌入词汇添加位置编码向量后,这些嵌入通过多头自注意力层。多头注意力层之后是“添加 & 归一化”步骤,进行层归一化并通过跳跃连接(也称为残差或快捷连接)添加原始嵌入。最后,在进入“全连接层”后,该层是由两个全连接层组成的小型多层感知机,中间有非线性激活函数,输出再次被添加和归一化,然后传递给解码器部分的多头自注意力层。

上图中的解码器部分与编码器部分有类似的整体结构。关键区别在于输入和输出不同。编码器接收要翻译的输入文本,而解码器生成翻译文本。

编码器

如前图所示,原始Transformer中的编码器部分负责理解和提取输入文本中的相关信息。然后,它输出输入文本的连续表示(嵌入),传递给解码器。最终,解码器基于从编码器接收到的连续表示生成翻译文本(目标语言)。

多年来,基于上述原始Transformer模型的编码器模块,开发出了多种仅包含编码器的架构。著名的例子包括BERT和RoBERTa。

BERT(双向编码器表示Transformer)是一种仅基于Transformer编码器模块的架构。BERT模型使用掩码语言建模(如下图所示)和下一句话预测任务在大型文本语料库上进行预训练。

掩码语言建模背后的主要思想是在输入序列中掩盖(或替换)随机的词汇标记,然后训练模型根据周围的上下文预测原始掩盖的标记。

除了上图中所示的掩码语言建模预训练任务外,下一句话预测任务要求模型预测两个随机打乱顺序的句子是否保持了原始文档的句子顺序。例如,两个以随机顺序排列的句子,由[SEP]标记分隔:

  • [CLS] 吐司是一种简单但美味的食物 [SEP] 它通常与黄油、果酱或蜂蜜一起食用。
  • [CLS] 它通常与黄油、果酱或蜂蜜一起食用。 [SEP] 吐司是一种简单但美味的食物。

[CLS]标记是模型的占位符标记,提示模型返回一个True或False标签,表示句子是否按正确顺序排列。

掩码语言和下一句话预训练目标(这是自监督学习的一种形式,如第2章所讨论)允许BERT学习输入文本的丰富上下文表示,然后可以针对各种下游任务(如情感分析、问答和命名实体识别)进行微调。

RoBERTa(鲁棒优化的BERT方法)是BERT的优化版本。它保持了与BERT相同的整体架构,但采用了几项训练和优化改进,例如更大的批量大小、更多的训练数据,以及消除了下一句话预测任务。这些改变使RoBERTa在各种自然语言理解任务上的性能超越了BERT。

解码器

回到本节开头所述的原始Transformer架构,解码器中的多头自注意力机制与编码器中的类似,但它被掩盖以防止模型关注未来位置,确保位置i的预测只能依赖于i位置之前的已知输出。如下图所示,解码器逐字生成输出。

这种掩码(如上图所示,尽管它在解码器的多头自注意力机制中内部发生)对于维持变换器模型在训练和推理期间的自回归性质至关重要。自回归性质确保了模型一次生成一个输出标记,并使用先前生成的标记作为生成下一个词标记的上下文。

多年来,研究人员在原始的编码器-解码器变换器架构的基础上进行了改进,开发了多个仅包含解码器的模型,在各种自然语言处理任务中被证明非常有效。其中最著名的模型包括GPT系列。

GPT(生成式预训练变换器)系列是仅包含解码器的模型,它们在大规模无监督文本数据上进行预训练,然后针对特定任务(如文本分类、情感分析、问答和概括)进行微调。GPT模型,包括GPT-2、GPT-3(《GPT-3语言模型是少样本学习者》,2020)以及最近的GPT-4,在各种基准测试中表现出色,目前是自然语言处理领域最受欢迎的架构之一。

GPT模型最显著的特点之一是它们的出现性质。出现性质指的是模型由于其下一个词预测预训练而发展出的能力和技能。尽管这些模型只被教导预测下一个词,但预训练的模型能够进行文本概括、翻译、问答、分类等。此外,这些模型可以通过上下文学习执行新任务,而无需更新模型参数,这在第18章中有更详细的讨论。

编码器-解码器混合体

除了传统的编码器和解码器架构外,还有新的编码器-解码器模型的开发,利用了这两个组件的优势。这些模型通常结合了新技术、预训练目标或架构修改,以提高它们在各种自然语言处理任务中的性能。这些新编码器-解码器模型的一些著名例子包括:

  • BART
  • T5

编码器-解码器模型通常用于涉及理解输入序列和生成输出序列的自然语言处理任务,这些任务的长度和结构往往不同。它们特别适用于输入和输出序列之间存在复杂映射的任务,以及捕捉两个序列中元素之间关系至关重要的任务。编码器-解码器模型的一些常见用例包括文本翻译和概括。

术语和行话

所有这些方法,无论是仅编码器、仅解码器还是编码器-解码器模型,都是序列到序列模型(通常缩写为seq2seq)。注意,虽然我们将BERT风格的方法称为仅编码器,但描述为仅编码器可能会产生误导,因为这些方法在预训练期间也将嵌入解码为输出标记或文本。

换句话说,无论是仅编码器还是仅解码器架构都在“解码”。然而,与仅解码器和编码器-解码器架构相比,仅编码器架构并不是以自回归方式解码。自回归解码指的是一次生成一个输出序列标记,每个标记都基于之前生成的标记。仅编码器模型并不以这种方式生成连贯的输出序列。相反,它们专注于理解输入文本并生成特定任务的输出,例如标签或标记预测。

结论

简而言之,编码器风格的模型在学习用于分类任务的嵌入方面很受欢迎,编码器-解码器风格的模型用于依赖输入的生成任务(例如,翻译和概括),而仅解码器模型用于包括问答在内的其他类型的生成任务。自从第一个变换器架构出现以来,已经开发了数以百计的仅编码器、仅解码器和编码器-解码器混合体,如下图所概述。

尽管仅编码器模型的受欢迎程度逐渐下降,但像GPT这样的仅解码器模型由于GPT-3、ChatGPT和GPT-4在文本生成方面的突破而迅速走红。然而,仅编码器模型在基于文本嵌入的预测模型训练方面仍然非常有用,相对于生成文本而言。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【AI视野·今日NLP 自然语言处理论文速览 第七十四期】Wed, 10 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 10 Jan 2024 Totally 38 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Model Editing Can Hurt General Abilities of Large Language Models Authors Jia Chen Gu, Hao Xiang Xu, J…

全网首发!Yolov8_obb旋转框检测(DOTA1.0数据集)

一、YOLOv8环境搭建 (1)Pytorch的安装 如果你的环境没有部署请参考本人文章:NLP笔记(2)——PyTorch的详细安装_安装torchnlp-CSDN博客 (2)下载最新的Yolov8-obb代码: https://git…

如何使用PR制作抖音视频?抖音短视频创作素材剪辑模板PR项目工程文件

如何使用PR软件制作抖音视频作品?Premiere Pro 抖音短视频创作素材剪辑模板PR项目工程文件。 3种分辨率:10801920、10801350、10801080。 来自PR模板网:https://prmuban.com/37058.html

5分钟了解股票交易!上海股票开户交易佣金最低是多少?怎么开户费用最低?

股票交易是指通过证券市场买卖股票的活动。以下是股票交易的基本步骤: 开立证券账户:首先需要选择一家证券公司,向其提交相关材料开立证券账户,并完成账户开立手续。 研究和选择股票:在决定购买股票之前,建…

【hyperledger-fabric】部署Java应用远程访问智能合约

简介 首先是根据b站的视频 hyperledger-fabric【3】在 java 应用中访问合约 以及hyperledger-fabric【5】Java应用和私有数据,本文章主要讲述的是视频中我遇到的问题,以及相关知识点的总结。 遇到的问题 问题1:git clone下载下来的代码发现…

Halcon实例:提取图像的纹理特征

Halcon实例:提取图像的纹理特征 举例说明,输入的是一幅灰度图像,分别选取其中两个矩形区域的灰度图像,分析其灰度变化。首先选取灰度变化较为明显的矩形1,然后选取灰度变化比较平滑的矩形2,生成灰度共生矩…

SCA面面观 | 如何生成一份软件物料清单SBOM?

由于网络安全挑战和不断变化的威胁环境,使得软件供应链安全成为了一个重要议题。特别是近年来,软件供应链的复杂性和全球化程度的提升,第三方软件的安全性和可追溯性变得越来越重要。 为了应对这一挑战,从美国政府开始&#xff0c…

【算法Hot100系列】外观数列

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

2023年北邮渣硕的暑期秋招总结

背景 实验室一般是在研究生二年级的时候会放实习,在以后的日子就是自己完成毕业工作要求,基本上不再涉及实验室的活了,目前是一月份也是开始准备暑期实习的好时间。实验室每年这个时候都会有学长学姐组织暑期实习经验分享,本着不…

【抓包教程】BurpSuite联动雷电模拟器——安卓高版本抓包移动应用教程

前言 近期找到了最适合自己的高版本安卓版本移动应用抓HTTP协议数据包教程,解决了安卓低版本的问题,同时用最简单的办法抓到https的数据包,特此进行文字记录和视频记录。 前期准备 抓包工具:BurpSuite安卓模拟器:雷…

构建基于RHEL9系列(CentOS9,AlmaLinux9,RockyLinux9等)的MySQL8.0.32的RPM包

本文适用:rhel9系列,或同类系统(CentOS9,AlmaLinux9,RockyLinux9等) 文档形成时期:2023年 因系统版本不同,构建部署应略有差异,但本文未做细分,对稍有经验者应不存在明显障碍。 因软件世界之复杂和个人能力…

WPF XAML(一)

一、XAML的含义 问:XAML的含义是什么?为什么WPF中会使用XAML?而不是别的? 答:在XAML是基于XML的格式,XML的优点在于设计目标是具有逻辑性易读而且简单内容也没有被压缩。 其中需要提一下XAML文件在 Visu…

k8s动态PV

当发布PVC之后可以生成PV,还可以再共享服务器上直接绑定和使用PV 动态PV需要两个组件: 存储卷插件,k8s本身支持的动态PV创建不包括NFS,需要声明和安装一个外插件 Provisioner:存储分配器。动态创建PV,然后…

基于JAVA+SSM框架开发的志愿者服务管理系统设计与实现【附源码】

🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系统 📝 🚀🚀&#x1f6…

生活自来水厂污水处理设备需要哪些

生活自来水厂是确保我们日常用水质量安全的重要设施。在自来水的生产过程中,污水处理设备是不可或缺的环节。那么,生活自来水厂的污水处理设备都有哪些呢?本文将为您详细介绍。 首先,生活自来水厂的污水处理设备主要包括预处理设备…

编译器和解释器:V8是如何执行一段JS代码的

编译器和解释器:V8是如何执行一段JS代码的 背景编译器和解释器V8 执行 JavaScript 代码1. 生成抽象语法树(AST)和执行上下文2. 生成字节码3. 执行代码 JavaScript 的性能优化 背景 前端工具和框架迭出不穷,而且还不断有新的出现&…

ChatGLM基于LangChain应用开发实践(二)

一、使用notion样例数据构建知识库 这里使用LangChain开发框架支持的Faiss构建知识向量库,通过以下命令来安装Faiss的GPU版本: pip install faiss-gpu 简单起见,向量库会以文件的形式存储到磁盘,具体步骤如下: 引入…

项目经理周报,月报编写模板

一、项目基本情况 二、本周工作总结 三、下周工作计划 软件开发管理全文档获取:软件开发全套资料-CSDN博客

linux高级篇基础理论十一(GlusterFS)

♥️作者:小刘在C站 ♥️个人主页: 小刘主页 ♥️不能因为人生的道路坎坷,就使自己的身躯变得弯曲;不能因为生活的历程漫长,就使求索的 脚步迟缓。 ♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏:云计算技…

格密码:如何找最近的格点(CVP问题)

目录 一. 摘要 二. 介绍 2.1 简单的CVP问题 2.2 Gram-Schmidt向量 2.3 KZ基 三. 格密码的基本符号 四. CVP问题的发展 五. 如何解决CVP问题 5.1 随机取整算法 5.2 Babai算法随机取整 5.3 小结 六. 推荐论文 一. 摘要 本文章将解释如何利用随机取整算法&#xff08…