【自动文摘】BART实现finetune及evaluate

news2024/11/24 3:15:01

文章目录

    • BART介绍
    • 下游任务 fine tune

BART介绍

我最近在看自动文摘相关的预训练模型,BART模型是2019-2020左右提出来的,首先介绍下它的基本情况。
论文:https://arxiv.org/abs/1910.13461
github

  • fairseq例子:https://github.com/pytorch/fairseq/tree/master/examples/bart
  • 模型文件:https://github.com/pytorch/fairseq/blob/master/fairseq/models/bart/model.py

BART 采用了一个标准的 Seq2Seq Transformer 结构,类似 GPT 将 ReLU 激活函数替换为 GeLUs。对于基线模型,采用了一个 6 层的编码和解码器,更大的模型采用了 12 层的结构。相比于 BERT 的架构主要有以下两点不同:

  1. 解码器的每一层叠加了对编码器最后一个隐含层的注意力。
  2. BERT 在预测之前采用了一个前馈的网络,而 BART 没有。
    BART 采用了最小化破坏后的文档和原始文档之间的重构误差的方式进行预训练。不同于其他的一些去噪自编码器,BART 可以使用任意类型的文档破坏方式。极端情况下,当源文档的所有信息均丢失时,BART 就等价与一个语言模型。BART 中采用的文本破坏方式有:字符遮罩,字符删除,文本填充,句子重排,文档旋转。

主要是在encoder训练部分引入了噪声(5种):
5种噪声

  • Token Masking 和BERT (Devlin et al., 2019)一样, 随机把token变为 [MASK].
  • Token Deletion 随机删除token,为了让模型学习哪些位置缺少输入信息。
  • Text Infilling 文本填充,随机挑选一个文本片段用一个[MASK]替换。当片段长度为0时,相当于在原始位置插入一个[MASK]标记。与SpanBERT模型不同的是,SpanBERT模型是使用片段长度个数的[MASK]标记进行替换。
  • Sentence Permutation 句子排序,将句子之间的顺序随机打乱。
  • Document Rotation 文档旋转,随机选择一个token,然后将文本进行旋转,即以选择token作为文本的开头。该策略让模型学习文本的开头。

下游任务 fine tune

请添加图片描述
在下游任务上,论文分别针对文本分类(序列到标签)问题和机器翻译(序列到序列)问题进行了介绍。

【未完待续】

  • cnndm的finetune:https://github.com/pytorch/fairseq/blob/master/examples/bart/README.summarization.md

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Efficient Global 2D-3D Matching for Camera Localization in a Large-Scale 3D Map

文章目录 Efficient Global 2D-3D Matching for Camera Localization in a Large-Scale 3D Map1. 相似源码choose_solution.pyeight_point.pyepipolar_match.py Efficient Global 2D-3D Matching for Camera Localization in a Large-Scale 3D Map 1. 相似源码 由于paper并没…

ChatGPT带火的提示工程师,构造自己的提示语

ChatGPT是一个大语言模型,学过全球几乎公开的大部分有效知识库,它什么都懂。 ChatGPT的风靡,爆火了一个年薪百万的提示工程师这个新就业岗位。 提示工程师,也就是AI训练师,即通过与AI交互写出相关提示,以帮…

Spring Boot进阶(48):SpringBoot之集成WebSocket及使用说明 | 超级详细,建议收藏

1. 前言🔥 对于很多小伙伴来说,项目现在都普遍前后端分离,各干各的事儿,在前后端进行服务调用才会有大面积的碰头,后端接口数据格式发生变更要通知前端,相反,前端有变化要告诉后端,这…

【这小文章绝了!】一文看穿,MATLAB | 数组与矩阵超详细入门进阶必须看

目录 介绍 一、数组的创建和操作 通过 : 创建一维数组 通过logspace函数创建一维数组 通过linspace函数创建一维数组 二、数组的运算 数组的关系运算 数组的逻辑运算 三、矩阵 矩阵的构造 矩阵的下标引用 矩阵大小 四、矩阵元素的运算 矩阵的差分 矩阵运算 矩阵…

Spring Boot进阶(50):Spring Boot如何全局统一处理异常?| 超级详细,建议收藏

1. 前言🔥 今天和大家讨论的是Spring Boot如何统一处理异常。这里先说一下我们为什么需要全局统一处理异常?其实理由很简单,因为程序在运行的过程中,不可避免会产生各种各样的错误。比如说用户传过来的参数不正确,无法…

4端到端协议-4.2【实验】【计算机网络】

4端到端协议-4.2【实验】【计算机网络】 前言推荐4端到端协议4.2 TCP协议流捕获与TCP协议分析实验目的实验内容及实验环境实验原理实验过程实验过程演示 4.2.1实验章节测验一.单选题(共5题,25.0分)二.阅读理解(共1题,70.0分)三.填…

xxl-job核心源码解析

xxl-job源码解析 如何自研一个xxljob 注册服务调度服务RPC组件(基建,底层严重依赖)日志服务告警服务 系统架构 执行流程 各大调度中心对比 1)服务端启动流程 首先找到配置类 XxlJobAdminConfig 可以发现该类实现 InitializingBean接口,…

openpose保姆级教程代码详细解析——训练部分

一:前言 OpenPose是一个基于深度学习的人体姿势估计库,它可以从图像或视频中准确地检测和估计人体的关键点和姿势信息。OpenPose的目标是将人体姿势估计变成一个实时、多人、准确的任务。它的原理部分已经在上一篇非常详细的讲解了——本节介绍训…

Dynamic .NET TWAIN 8.3.3 for NetCore Crack

用于 WinForms 和 WPF 应用程序的扫描仪和网络摄像头捕获 SDK 适用于 .NET 应用程序的简单高效的扫描和网络摄像头 SDK Dynamsoft 的 Dynamic .NET TWAIN 是一个基于 TWAIN 和 DirectShow 标准的 .NET 文档成像 SDK。它为扫描仪和网络摄像头软件开发提供了丰富、高效且…

修改依赖包下的子依赖版本,前端项目安全扫描出来的漏洞——解决过程

为什么要升级,如图云桌面(相当于堡垒机-远程桌面)的项目审查是大概基于node16版本进行扫描的,本来我方是通过降版本从14到12绕过大范围更新,但现在躲得过初一躲不过十五,如何更新 package-lock.json 中的一…

DAY24:二叉树(十四)二叉搜索树中的插入操作+删除二叉搜索树中的节点(二叉树结构修改难点)

文章目录 701.二叉搜索树中的插入操作思路递归法如何保证连接的节点就是空节点的父节点? 迭代法迭代法注意debug测试 450.删除二叉搜索树中的节点(坑较多,注意复盘)思路最开始的写法debug测试1.使用了释放后的空间ERROR: AddressS…

通知!2023年湖北住建厅七大员新考和继续教育要求有变化了?启程别

通知!2023年湖北住建厅七大员新考和继续教育要求有变化了?启程别 湖北住建厅七大员新考以及继续教育的相关要求都即将有一些变化了目前在征集意见的阶段,具体实施等后续具体通知 对于新考的变化主要是: 1.由原先报名之后只需要完成…

Vue中如何进行颜色选择与调色板

Vue中如何进行颜色选择与调色板 颜色选择和调色板是Web开发中常用的功能,它们可以帮助用户选择或调整颜色。Vue作为一个流行的JavaScript框架,提供了一些工具和库,可以方便地实现颜色选择和调色板功能。本文将介绍如何在Vue中进行颜色选择和…

【aspose-words】Aspose.Words for Java模板语法详细剖析

文章目录 前言🍊缘由aspose-words模板语法再了解 🎯主要目标实现3大重点 🎁快速链接🍈猜你想问如何与狗哥联系进行探讨1.关注公众号【JavaDog程序狗】2.踩踩狗哥博客 🍯猜你喜欢文章推荐 正文🍋aspose-word…

mfc140.dll丢失的解决方法,解析mfc140.dll这个文件

其实大部分人在使用计算机过程中,您可能会遇到mfc140.dll丢失的错误提示。这个错误会导致一些应用程序无法正常运行,那么要如何解决这个问题呢?今天小编就来给大家详细的解析mfc140.dll这个文件以及教大家 mfc140.dll丢失的解决方法。 目录 …

【算法与数据结构】349、LeetCode两个数组的交集

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:使用了一个哈希数组记录nums1出现的数字,然后遍历nums2,找到hash数组为1的值就…

Vue-Element-Admin项目学习笔记(6)Vuex状态管理

前情回顾: vue-element-admin项目学习笔记(1)安装、配置、启动项目 vue-element-admin项目学习笔记(2)main.js 文件分析 vue-element-admin项目学习笔记(3)路由分析一:静态路由 vue-element-adm…

yoloV5目标识别以及跟踪,功能识别动物(大象,犀牛,水牛,斑马)

yolo目标识别以及跟踪还是很强的嘞! 一. YOLO V5我来啦 1. 前期准备 yolo V5项目下载 项目的github地址项目的gitee地址 使用git 克隆下来到项目目录下面就好 环境配置 在yolov5的文件下面有一个 requirements.txt文件,这里就是环境依赖的说明。 这里我以 vs…

DP学习之解码方法

DP学习第二篇之解码方法 91. 解码方法 - 力扣(LeetCode) 一. 题目解析 二. 题解 算法原理及代码 状态表示 tips: 经验题目要求。以i位置为结尾,。。。 dp[i]: 以i位置为结尾时,解码方法的总数 状态转移方程 tips: 用之前或…

5.3.2 因特网的路由协议(二)基于距离向量算法的RIP协议

5.3.2 因特网的路由协议(二)基于距离向量算法的RIP协议 一、RIP协议概念 RIP是Routing Information Protocol缩写,又称为路由信息协议,是最先得到应用的内部网关协议,RIP作为一个常在小型互联网中使用的路由信息协议…