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

LLM:BERT or BART 之BART

文章目录

  • 前言
  • 一、Model Architechture
  • 二、PreTrained
  • 三、Fine-tuning BART
    • 1、Sequence Classification Tasks
    • 2、Token Classification Tasks
    • 3、Sequence Generation Tasks
    • 4、Machine Translation
  • 四、Result
  • 总结


前言

这次轮到BART了(在了解这两个之前还真分不太清)
BERT解读可以参考我之前的文章 LLM:BERT or BART 之BERT

BART(Bidirectional and Auto-Regressive Transformers)是一种用于文本生成、序列到序列转换和文本填充的深度学习模型,由 Facebook AI 在 2019 年提出。它结合了 双向编码(Bidirectional Encoding) 和 自回归解码(Auto-Regressive Decoding) 的特点,使其在文本恢复、摘要生成、翻译和对话系统等任务上表现出色

BART相比于BERT有两大区别

1)BART沿用了标准的Encoder-Decoder的Transformer结构(激活函数改为GeLU),区别于encoder-only的BERT
2)BERT采用了MLM和NSP两阶段预训练,BART的预训练在BERT的MLM进行了改进,不过核心idea依然是对破坏的句子进行重构

paper:https://arxiv.org/pdf/1910.13461


一、Model Architechture

请添加图片描述

这张图基本说明BART的功能以及和BERT的区别——

BERT输入一个mask序列,输出被掩码的位置的单词
GPT输入一个序列,输出这个序列的下一个单词
BART则是输入一个mask序列,输出则是填补后的完整序列(既能补词又能预测下一个词)

二、PreTrained

BART相比BERT采用了更丰富的噪声预训练方法,如下:
请添加图片描述

Token Masking:与BERT一样,将个别词随机替换成[MASK],训练模型推断单个词的能力
Token Deletion随机删除个别词,训练模型推断单个词及位置的能力
Text Infilling:将一段连续的词随机替换成[MASK],甚至可以凭空添加[MASK],训练模型根据语义判断[MASK]包含的词及其长度。
Sentence Permutation随机打乱文本序列的顺序,加强模型对词的关联性的提取能力。
Document Rotation:将文本序列连成圈,随机选择序列的起始词(保留序列的有序性,随机选择文本起始点),以此训练模型识别句首的能力

文档转换(Document Rotation)或句序打乱(Sentence Permutation)的方式在单独使用时表现不佳。而使用删除(Token Deletion)或掩码(Token MASK)效果比较好。其中,在生成任务上,删除的方式大体上要优于掩码的方式。

在有Text-filling方式参与的情况下,BART的表现都很好。侧面反映了Text-filling的有效性。

三、Fine-tuning BART

1、Sequence Classification Tasks

序列分类任务和BERT中的分类任务很接近,不过方式有些不同。

BERT是在输入序列的第一个位置添加了[CLS]Token,在输出时也是取这个CLS

BART是在decoder输出的最后一个Token的hidden state接一个分类层进行微调,获得最终的分类。作者认为这样能使最后一个Token的表示参考了前面所有Token的语义信息
请添加图片描述

2、Token Classification Tasks

Token级别的分类任务有实体识别、阅读理解、问答等,均为抽取式。该任务和句子分类类似,只不过这里用到了Decoder输出的每一个Token的hidden state,即对每个Token进行分类。

3、Sequence Generation Tasks

BART因为其decoder结构支持序列生成任务,例如抽象问答任务和摘要任务(注意是生成式的非抽取式的),其微调方式也很直接简单,给模型一个原始文本和一个目标文本,编码器接收原始文本,解码器解码出预测文本,并和目标文本求损失。

4、Machine Translation

作者将原来BART的Encoder和Decoder看成了一个整体,作为新的Decoder,然后将原来Encoder的词嵌入层(embedding layer)替换成一个新的Encoder,通过新的Encoder将原始外文编码先编码,再送进原始BART的Encoder-Decoder的结构中。作者可能认为以此能弥补单纯用一个Decoder造成的Decoder能力不足的缺陷。

微调采取了两步走的策略:第一步先只更新随机初始化的源编码器(即新Encoder)、BART的位置嵌入向量和编码器第一层的自注意输入投影矩阵(原Encoder)。其余参数固定住。第二步少量迭代全部参数。
请添加图片描述

四、Result

请添加图片描述

这张图主要看一下不同预处理下的实验效果
更多实验可以看看原文,还是很详细的


总结

BART整体来讲创新点不算太多,不过做了大量的详细实验分析还是很nice的,还是很强烈推荐去看看BART原文,作者对不同预处理下的各种任务进行了分析,很有启发性。

相关文章:

  • 机器学习之AAE(Adversarial Autoencoder,对抗自编码器)生成数据样本
  • Jenkins项目CICD流程
  • Git GUI设置中文的方法及使用
  • 解决DeepSeek服务器繁忙问题
  • c++TinML转html
  • 深度学习框架探秘|PyTorch:AI 开发的灵动画笔
  • 国产化替代大势所趋,ARM工控机的未来之路
  • 疯狂前端面试题(二)
  • MongoDB进阶篇-索引
  • 基于YoloV11+PaddleOCR的车牌检测系统
  • STM32硬件SPI函数解析与示例
  • 蓝桥杯之KMP算法
  • 【Linux】环境变量
  • 【Python】从爬虫小白到大佬(一)
  • 玩转适配器模式
  • VMware Workstate 的 Ubuntu18 安装 vmware tools(不安装没法共享)
  • 【DeepSeek】DeepSeek R1 本地windows部署(Ollama+Docker+OpenWebUI)
  • 【数据结构-红黑树】
  • UE5.2后 Bake Out Materials失效
  • ong API Key 认证插件详解
  • 中国建设银行网站密码/小说网站排名前十
  • 织梦网站建设网页/百度网盘搜索
  • 邓州网站建设/公司推广
  • 网站做百度权重排名论坛/磁力搜索器在线
  • 义乌做网站多少钱/2345王牌浏览器
  • 做门户网站价格/免费入驻的电商平台