Transformer and Pretrain Language Models3-5

Transformer结构(优化Tricks)

Transformer在训练和生成过程中,采用了很多小技巧:

首先是训练过程,训练过程中采用了一种叫checkpoint average技术,以及ADAM的一个优化器来进行参数更新,另外的话,为例提高模型的训练效果,防止过拟合,会在残差连接之前加上dropout。

在输出层,也加入了label smoothing的方式来提高训练效率,然后最后在生产过程中给的时候,也采用了更加复杂的一个生成策略


Transformer Performance

Transformer在机器翻译上的一个效果:

我们可以发现,Transformer也就是最后两行,它相比之前的模型,在评测指标上,也就是BLUE上有一定的提升,而且计算资源的消耗,其实相比之前有一个明显的降低,可以说Transformer之后的几年,几乎在所有的自然语言处理任务上,都取得一个更优的结果,而且这个情况目前正在有的,像计算机视觉等其他领域蔓延的一个趋势。

在Transformer结构中,之前讲到的attention其实是一个非常重要的一个部分,了解attention是否可以很好地建模这个token之间的关系,进行一些可视化的分析,以下展示的是第五层的一个attention的一个结果,然后下面这些不同行的色块表示的是不同的注意力,我们可以发现对于making这样一个单词,他的注意力基本上都在关注loss,making ,more difficult这些存在语义或者句法上关系联系的词,这其实也说明了Transformer的注意力机制确实捕捉到了输入句子中不同单词之间的一个关系

这里还有另外的一个可视化的结果,这里是两个注意力头的一个情况,我们可以清楚的发现,这两个注意力头其实捕捉到的是一个句子中的一个指代关系,然后在这个句子中its其实指代的就是前面提到的law,这样的对应关系,其实都是Transformer模型根据自己的数据自己训练得到的,我们并没有添加任何的外部的限制和帮助,这也充分的说明了Transformer的attention其实具有强大的文本建模和表示能力

左下方是一个可视化网站,可以输入句子尝试,去看一下Transformer中attention的情况


Transformer summary总结

优点:

1、Transformer是一个具有很强表示能力的模型,而且在很多这个任务中都得到了一个验证,目前也有将这些工作迁移到视觉,然后存储到网络等其他领域的一些工作。

2、这个模型结构本身非常适合并行计算,因为它的attention的计算过程,包括后面前馈网络计算过程,其实都是可以进行,这个对目前GPU等加速设备非常友好。

3、我们通过对attention的一个可视化也可以发现,这个注意力模块其实很好地建模了句子中token和token之间的关系。

4、另外我们从发展到现在的角度来回看当时提出的这样一个Transformer的模型,我们可以发现,它其实给后续的预训练语言模型带来了很多启发,并且成为目前预训练模型的最主要的一个框架,极大地推动了NLP领域的发展。

当然,他其实有一些不可避免的一些缺点:

1、模型本身对于参数很敏感,优化过程非常困难,可能对于优化器的选择,一些超参数的设置,都可能对训练产生一个很大的影响。

2、这样的话,它处理文本的一个复杂度其实是和文本长度n是一个平方的关系,就导致它可能对于长度特别长的文本束手无策。当前很多模型可能都会设置一个最大的输入长度,比如说512

以上为Transformer的相关知识

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

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

相关文章

【QML-Qt Design Studio】

QML编程指南 ■ Qt Design Studio (Qt Quick UI设计工具)■ 安装Qt Design Studio■ ■ Qt Design Studio (Qt Quick UI设计工具) Qt Design Studio是一个用于创建酷炫、优美UI的工具。 简单概括其功能就是让UI设计转换为qml&…

《WebKit 技术内幕》学习之十二(2):安全机制

2 沙箱模型 2.1 原理 一般而言,对于网络上的网页中的JavaScript代码和插件是不受信的(除非是经过认证的网站),特别是一些故意设计侵入浏览器运行的主机代码更是非常危险,通过一些手段或者浏览器中的漏洞&#xff0c…

每日一道算法题 16(2023-12-29)

package com.tarena.test.B20; import java.util.Arrays; import java.util.Scanner; /** * * 题目描述: 输入一个由n个大小写字母组成的字符串,按照Ascii码从小到大的排序规则,查找字符串中第k个最小ascii码值的字母(k>…

计算机设计大赛 交通目标检测-行人车辆检测流量计数 - 计算机设计大赛

文章目录 0 前言1\. 目标检测概况1.1 什么是目标检测?1.2 发展阶段 2\. 行人检测2.1 行人检测简介2.2 行人检测技术难点2.3 行人检测实现效果2.4 关键代码-训练过程 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 毕业设计…

Vue 的 事件修饰符and按键修饰符

1、事件修饰符概览 修饰符说明 .prevent阻止默认事件 .stop阻止冒泡.once事件只触发一次 .capture 添加事件侦听器时使用事件捕获模式.self只有点击当前元素本身时才会触发回调.passive事件的默认行为立即执行,无需等待事件回调执行完毕(不常用).native 将vue组件…

uniapp开发过程一些小坑

问题1、uniapp使用scroll-view的:scroll-into-view“lastChatData“跳到某个元素id时候,在app上不生效,小程序没问题 使用this.$nextTick或者 setTimeout(()>{that.lastChatData 元素id },500) 进行延后处理就可以了。 问题2:uniapp开…

c#算法(10)——求点到直线的距离

前言 在上位机软件开发领域,特别是机器视觉领域,经常会遇到尺寸测量的场景,比如让我们求一个点到一条直线的距离,我们已知了直线上的两个点的坐标,然后又已知了直线外的一个点的坐标,那么如何求出该直线外的一点到直线的距离呢?本文就是来讲解如何求点到直线的距离的,…

ssh登录失败:connection closed by foreign host

问题1: ssh登录不上,连接上就断掉 inetd.conf显示2277已打开,ip也没有冲突。 但是这两个文件是空的(size 0k): dropbear_dss_host_key dropbear_rsa_host_key 把/etc/dropbear里面的东西删掉,重新生成秘钥文件: …

2024年制造业展望

制造业是国民经济的主体,其重要性不言而喻。就2023年而言,制造业在技术创新、数字化转型和可持续发展方面都取得了重要的进展。以下是对于2024年制造业的发展进行的分析与预测。 1 保持业务平衡仍将是一项挑战 在过去的四年里,制造业高管人…

【STM32CubeMX串口通信详解】USART2 -- DMA发送 + DMA空闲中断 接收不定长数据

( 本篇正在编写、更新状态中.....) 文章目录: 前言 前言 本篇,详细地用截图解释 CubeMX 对 USART2 的配置,HAL函数使用,和收发程序的编写。 收、发机制:DMA发送 DAM空闲中断接收。 DMA空…

142基于matlab的移动力过简支梁程序

基于matlab的移动力过简支梁程序,算法采用newmark-belta法,输出简支梁,求解静力位移,自振特性,动力特性。可调节简支梁参数。程序已调通,可直接运行。 142 matlab简支梁自振特性 (xiaohongshu.com)

企业IT基础资源管理的“帮帮团”上线啦——源启云原生基础设施管理平台

为助力企业提升基础资源一体化管理和交付效率,以更先进的基础设施管理方式来满足现代企业业务持续扩展和复杂化的需要,中电金信运用基础设施即代码(Infrastructure as Code,简称IaC)技术,研发推出源启云原生…

【Python】01快速上手爬虫案例一

文章目录 前言一、VSCodePython环境搭建二、爬虫案例一1、爬取第一页数据2、爬取所有页数据3、格式化html数据4、导出excel文件 前言 实战是最好的老师,直接案例操作,快速上手。 案例一,爬取数据,最终效果图: 一、VS…

光流估计概念和算法

什么是光流? 光流就是物体和观测者之间的互相运动,亮度变化的速度矢量,下图两张图片表示了光流的原理。 光流的算法有几个基本不变的假设: 1,光强不变假设; 一元的n阶泰勒公式: 在这里插入图…

HTTP与HTTPS的工作流程

HTTP与HTTPS的工作流程 http知识点回顾1、HTTP访问的过程2、HTTP常见状态码3、HTTP 协议一共五大特点 https的工作流程1、对称加密2、非对称加密3、https工作流程 http知识点回顾 1、HTTP访问的过程 (1)解析url,获取 url 中包含的域名&…

C语言第七弹---循环语句

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 循环语句 1、while循环1.1、if和while的对比1.2、while语句的执行流程1.3、while循环的实践1.4、练习 2、for循环2.1、语法形式2.2、for循环的执行流程2.3、for循…

沃通服务器密码机(WTHSM)

概述 沃通服务器密码机(WTHSM)由沃通CA自主设计开发,严格遵照国密局颁布技术规范,获得国密局颁发《商用密码产品认证证书》,是一款多安全功能、高稳定性、可扩展和快速部署的软硬件集成化安全设备,为应用提…

【手撕C语言 第八集】函数栈帧的创建与销毁

文章目录 一、什么是函数栈帧?二、函数栈帧能解决什么问题呢?(1)局部变量是如何创建的?(2)为什么局部变量不初始化内容是随机的?(3)函数调用时参数是如何传递…

电磁兼容设计要点

电磁兼容的问题往往发生于高频状态下,个别情况除外(Dips电压暂降与中断)除外。高频思维,总而言之,就是器件的特性、电路的特性,在高频情况下和常规中低频状态下是不一样的,如果仍然按照普通的控…

Go 定时器:如何避免潜在的内存泄漏陷阱

这篇文章将探讨的是 Go 中如何高效使用 timer,特别是与select 一起使用时,如何防止潜在的内存泄漏问题。 引出问题 先看一个例子,我们在 Go 中的 select 使用定时器,实现为消息监听加上超时能力。 核心代码,如下所示…