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

【大模型基础_毛玉仁】2.4 基于 Encoder-Decoder 架构的大语言模型


更多内容:XiaoJ的知识星球


目录

    • 2.4 基于 Encoder-Decoder 架构的大语言模型
      • 2.4.1 Encoder-Decoder 架构
      • 2.4.2 T5 语言模型
        • 1)T5 模型结构
        • 2)T5 预训练方式
        • 3)T5 下游任务
      • 2.4.3 BART 语言模型
        • 1)BART 模型结构
        • 2)BART 预训练方式


2.4 基于 Encoder-Decoder 架构的大语言模型

Encoder-Decoder 架构在 Encoder-only 架构的基础上引入 Decoder 组件,以完成机器翻译等序列到序列(Sequence to Sequence, Seq2Seq)任务。

.


2.4.1 Encoder-Decoder 架构

Encoder-Decoder架构:编码器+解码器

编码器Encoder

  • 多个编码模块组成,每个编码模块包含:一个自注意力模块、一个全连接前馈模块

  • 模型的输入序列在通过编码器部分后,会被转变为固定大小的上下文向量,这个向量包含了输入序列的丰富语义信息。

解码器Decoder:

  • 多个解码模块堆组成,每个解码模块包含:一个带掩码的自注意力模块、一个交叉注意力模块和一个全连接前馈模块

  • 带掩码的自注意力模块:引入掩码机制防止未来信息的“泄露”,确保解码过程的自回归特性。

  • 交叉注意力模块:实现了解码器与编码器之间的信息交互,对生成与输入序列高度相关的输出至关重要。

图 2.10: Encoder-Decoder 架构
在这里插入图片描述

自注意模块在编码器和解码器中的注意力目标不同的。

  • 在编码器中,采用双向注意力机制以全面捕捉上下文信息。

  • 在解码器中,自注意力机制则是单向的,仅以上文为条件来解码得到下文。通过掩码操作避免解码器“窥视”未来的信息。

交叉注意力通过将解码器的查询(query) 与编码器的键(key)值(value) 相结合,实现了两个模块间的有效信息交流。

通过自注意力和交叉注意力机制的结合,Encoder-Decoder 架构能够高效地编码输入信息生成高质量的输出序列

  • 自注意力机制:确保了输入序列和生成序列内部的一致性和连贯性。

  • 交叉注意力机制:确保解码器在生成每个输出 Token 时都能参考输入序列的全局上下文信息,从而生成与输入内容高度相关的结果。

在这两个机制的共同作用下,Encoder-Decoder 架构不仅能够深入理解输入序列,还能够根据不同任务的需求灵活生成长度适宜的输出序列,在机器翻译、文本摘要、 问答系统等任务中得到了广泛应用。

本节将介绍两种典型的基于 Encoder-Decoder 架构的代表性大语言模型:T5 和 BART。

.


2.4.2 T5 语言模型

T5(Text-to-Text Transfer Transformer)

通常,每种自然语言处理任务都需要对训练数据、模型架构和训练策略进行定制化设计。这不仅耗时耗力,而且模型难复用。

为了解决这一问题,Google 提出基于 Encoder-Decoder 架构的大型预训练语言模型 T5(Text-to-Text Transfer Transformer), 其采用统一的文本到文本的转换范式来处理多种任务。

1)T5 模型结构

T5 模型的核心思想:将多种 NLP 任务统一到一个文本转文本的生成式框架中

在此统一框架下,T5 通过不同的输入前缀来指示模型执行不同任务,然后生成相应的任务输出,这种方法可以视为早期的提示Prompt)技术。

图 2.11: 传统语言模型和 T5 统一框架
在这里插入图片描述

在模型架构方面,T5 与原始的包括一个编码器和一个解码器的 Transformer 架构相同。每个编码器和解码器又分别由多个编码模块和解码模块堆叠而成。

T5 模型根据不同的参数,提供 T5-Small、T5-Base、T5- Large、T5-3B 以及 T5-11B 五个版本

2)T5 预训练方式

T5收集了C4 数据集(Colossal Clean Crawled Corpus)进行训练,其覆盖了各种网站和文本类型。

T5 提出了名为 Span Corruption 的预训练任务。从输入中选择 15% 的 Token 进行破坏,每次都选择连续三个 Token 作为一 个小段(span)整体被掩码成 [MASK]。

与 BERT 模型中采用的单个 Token 预测不同,T5 模型需要对整个被遮挡的连续文本片段进行预测。这一设计要 求模型不仅等理解局部词汇的表面形式,还要可以捕捉更深层次的句子结构和上 下文之间的复杂依赖关系。

3)T5 下游任务

T5 模型可以在完全零样本Zero-Shot)的情况下,利用 Prompt 工程技术直接适配到多种下游任务。

同时,T5 模型也可以通过微调(Fine-Tuning)来适配到特定的任务。

如今,T5 模型已 经衍生了许多变体,例如,mT5[43] 模型扩展了对 100 多种语言的支持,T0[31] 模型通过多任务训练增强了零样本学习(Zero-Shot Learning) 能力,Flan-T5[8] 模型专注于通过指令微调,以实现进一步提升模型的灵活性和效率等等。

.


2.4.3 BART 语言模型

BART(Bidirectional and Auto-Regressive Transformers)

  • 中文解释:双向自回归Transformers

  • 通过多样化的预训练任务,来提升模型在文本生成任务和文本理解任务上的表现。

1)BART 模型结构

BART 的模型结构同 Transformer 架构,包括一个编码器和一个解码器。每个编码器和解码器分别由多个编码模块和解码模块堆叠而成。

BART 模型有两个版本,分别是 BART-Base 以及 BART-Large。

2)BART 预训练方式

在预训练数据上,BART 使用了与 RoBERTa 相同的语料库。

在预训练任务上,BART 以重建被破坏的文本为目标。

通过以下五个任务来破坏文本,然后训练模型对原始文本进行恢复。

  • Token 遮挡任务(Token Masking):在原文中随机将一部分 Token 替换为 [MASK],从而训练模型推断被删除的 Token 内容的能力。

  • Token 删除任务(Token Deletion):在原文中随机删除一部分 Token,从而训练模型推断被删除的 Token 位置以及内容的能力。

  • 连续文本填空任务(Text Infilling):在原文中选择几段连续的 Token(每段作为一个 span),整体替换为 [MASK]。span 长度服从 λ = 3 的泊松分布,如长度为 0 则直接插入一个 [MASK]。 这一任务旨在训练模型推断一段 span 及其长度的能力。

  • 句子打乱任务(Sentence Permutation):将给定文本拆分为多个句子,并随机打乱句子的顺序。旨在训练模型推理前后句关系的能力。

  • 文档旋转任务(Document Rotation):从给定文本中随机选取一个 Token,作为文本新的开头进行旋转。旨在训练模型找到文本合理起始点的能力。

BART 不仅在文本生成任务上表现出色,也能适应文本理解类任务的挑战。

.


小结:

综上所述,基于 Encoder-Decoder 架构的大语言模型,在生成任务中展示了良好的性能表现。表2.2从模型参数量和预训练语料规模的角度对本章提到的基于 Encoder-Decoder 架构的模型进行了总结。可以看出此时模型参数数量的上限已达 110 亿。

表 2.2: Encoder-Decoder 架构代表模型参数和语料大小表。

模型发布时间参数量(亿)语料规模
T52019.100.6-110 亿750GB
mT52020.103-130 亿9.7TB
T02021.1030-110 亿约 400GB
BART2019.101.4-4 亿约 20GB
mBART2020.060.4-6.1 亿约 1TB

在模型结构和参数规模的双重优势下,相较于基于 Encoder-only 架构的模型,这些模型在翻译、摘要、问答等任务中取得了更优的效果。

.


声明:资源可能存在第三方来源,若有侵权请联系删除!


http://www.kler.cn/a/586701.html

相关文章:

  • AtCoder Beginner Contest 003(A - 社の給料、B -トランプ、C -プログラミング講座、D - 社の冬 )题目讲解
  • 【PHP】新版本特性记录(持续更新)
  • java 的标记接口RandomAccess使用方法
  • vulnhub靶场之stapler靶机
  • MIDI,AI 3D场景生成技术
  • Audacity 技术浅析(一)
  • [CISSP] [3] 人员安全与社会工程
  • 原生微信小程序实现导航漫游(Tour)
  • 农作物病害数据集
  • 性能优化:javascript 如何检测并处理页面卡顿
  • A SURVEY ON POST-TRAINING OF LARGE LANGUAGE MODELS——大型语言模型的训练后优化综述——第2部分
  • 模型评估指标详解:分类与回归场景
  • 基于SpringBoot+Vue的毕业论文管理系统+LW示例参考
  • 【NLP】 5. Word Analogy Task(词类比任务)与 Intrinsic Metric(内在度量)
  • 微信小程序面试内容整理-JSON
  • 【c++】【线程】【信号量】三个线程顺序打印1--100
  • docker pull 镜像问题
  • 【Rust交叉编译】在x86_64架构下交叉编译aarch64-linux-musl版的rust-opencv
  • 面向工业与汽车领域的高安全可靠MCU——AS32X601系列芯片解析
  • 斯坦福:通过认知行为改进LLM推理