只需一个小线性层,拿回你ALBERT丢掉的精度

您所在的位置:网站首页 speech模版 只需一个小线性层,拿回你ALBERT丢掉的精度

只需一个小线性层,拿回你ALBERT丢掉的精度

2024-07-17 07:48:30| 来源: 网络整理| 查看: 265

1. 从transformer到BERT的block reusing

[2303.13072] Beyond Universal Transformer: block reusing with adaptor in Transformer for automatic speech recognit (arxiv.org)

(注:本文引用图片来自非成稿, 可能略有差别)

嘿嘿嘿,不好意思,先吹了一波,来介绍一下我们前年之江杯 非确定场景语音识别比赛第二名的后续改进方案。

2021之江杯

首先是我们在之江杯上直接把ALBERT的block reuse(BR)实现在了ASR的transformer里面,得到的效果如下:

(block reuse, 将之前M个block改成1个block调用M次)

可以看到的是在, BR以后,模型的性能大约下降了~30%,但是对于的模型参数量下降了~66.7%, 同时加上grad clip和 8head以后,性能大约只下降了~10%,同时大小与BR相似。在这个比赛之后,我们赚了一笔钱(不是),这个方向就暂时停止了。

二。 BR重新出发

而后在2022年,我一次偶然读到了 @苏剑林 大佬的文章:P-tuning:自动构建模版,释放语言模型潜能 - 科学空间|Scientific Spaces 中提到了很小的一个点:

BERT出来后不久,Google在论文《Parameter-Efficient Transfer Learning for NLP》中提出了一种名为Adapter的微调方式,它并不是直接微调整个模型,而是固定住BERT原始权重,然后在BERT的基础上添加一些残差模块,只优化这些残差模块,由于残差模块的参数更少,因此微调成本更低。

于是我重新找到了方向,重新在BR上引入adptor来修正BR。

首先是基于BR, 我们给每一次的reusing后面加入了一个独立的adptor,用残差linear+relu实现,即 f(x) = x + ReLu(Linear(x)) 。 这样也会少量的引入参数量。同时我们在encoder和decoder都同时还是实验这个idea,得到的效果如下:

AISHELL

由于本人非常贫穷,就只能在AISHELL上做实验。表格里面BRA-E/D/ED分别代表encoder中插入adaptor, decoder中插入adaptor,以及两个都插入adaptor。

同时我们还尝试把encoder单一block的reusing次数 S_{1} 加到12->18次。

注:阿里达摩院也曾经在asr 类transformer上引入ALBERT的block reuse idea,为[17]: Extremely Low Footprint End-to-End ASR System for Smart Device,我们的模型要远好于[17],且WER类似。

首先比较确定的是,adpator在encoder/decoder里面能带来一定的效果修正,而且在encoder里面是远高于decoder的。 第二是说,S_{1}增加发现并没有实质上的效果,以及grad clip也失去了效果,很可能和数据信噪比相关。

三。 BR到底做错了什么?

现在到了全文的重点, BR到底做错了什么才让的WER上升。

我们首先一个假设我们有个M个block, 每一个block的函数可以被写成 f_{i} = \sum_{n=0}^{\infty}a_nx^n , 那么此时引入一个公共函数 f_{0} 去表征所有的 f_{i}并入优化,实际上失去寻找这个函数组的最大公共部分。一般来说, 在 f_{i} 中, a_{0} 和 a_{1} 为最大,也就是说,优化出来的公共函数很可能是个线性函数。那么基于这个假设,实际上BR退化的原因就是,公共函数失去了非线性, 那就通过一个小adptor补充回来,把公式重写为 f_{i} = f_{0} + f'_{i} ,即为函数i由公共函数和特优化 adptor组成。

那现在开始引入一个线性化变化指标linear centered kernel alignment (CKA)。

CKA表征的是,存在两个向量 x_{1}, x_{2} , CKA(x_{1}, x_{2}) 值越贴近1越说明这两个表征趋于一个线性变化,反之越贴近一个非线性变换。

CKA开始对模型进行横向和纵向两个维度的分析。

3.1 横向比对分析baseline 和其他模型对比

横向比较:首先是比对baseline和各个模型在各个层级上的比较,我们希望的是,各个改进模型都尽可能的和baseline相似,这样既可以减少参数量,又可以提升效果。

可以清楚的发现 首先是BR模型,在encoder/decoder上都表现出各个层都与baseline相差过大。相同的是BRA-E和BRA-D分别在没有adaptor的Decoder和encoder上都表现除了这个问题。同时其在存在adptor的encoder和decoder上,adaptor又表现出了一定的修正性,例如比对(a)中baseline-BRA-E | after adaptor和baseline-BRA-E或者(b)中baseline-BRA-D | after adaptor和baseline-BRA-D。但是值得注意的是BRA-ED这个模型应该同时在(a)(b)同时存在修正性,但是其却只表现出了encoder的修正性。这也是为什么在AISHELL中BRA-E -> BRA-ED, 并没有更好的改进的原因。3.2 纵向比对分析

接受我们对每一个层输入输出进行CKA的分析, 我们还是说希望在每一个层都能看到非线性度,也就是说我们希望CKA值对于每个层来说,都原理1.

纵向分析首先来看baseline的纵向分析, 首先是会发现baseline的encoder/decoder都只有前几层有很良好的非线性度,后几层几乎就是全线性变化, 而BR模型的非线性度几乎是贴着baseline走的,但是每一个点都更差。而BRA模型的公共函数几乎表现出来就是个纯纯线性函数。依然可以看到BRA-E, BRA-D在他们各自的encoder, decoder的前几层上, adapotr表现出了一定的非线性度修正。但是BRA-ED BRA-D也证明了adaptor存在decoder的时候,非线性度在层到层表现成一个震荡曲线,这可能也是decoder adaptor效果不如encoder的原因。四 后续

如果本人还有钱有闲的情况下,可能有如下改进:

REUSING本身不会引入多余的FLOPS,但是也不会减少,但是adaptor会。 后期会做层级融合 消弭掉这些多的FLOPSreusing会引入更低memory消耗,并可以调高batch-size,两者共同作用都可以提速, 测一下提速效果。已经在分析中证明了 其实不是每一个层都需要adaptor,可以做一个adaptor插入性策略。


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


    图片新闻

    实验室药品柜的特性有哪些
    实验室药品柜是实验室家具的重要组成部分之一,主要
    小学科学实验中有哪些教学
    计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
    实验室各种仪器原理动图讲
    1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
    高中化学常见仪器及实验装
    1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
    微生物操作主要设备和器具
    今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
    浅谈通风柜使用基本常识
     众所周知,通风柜功能中最主要的就是排气功能。在

    专题文章

      CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭