论文地址:
https://arxiv.org/pdf/2306.00477.pdfarrow-up-right
在介绍论文之前,首先回顾一下可逆神经网络,其思路很简单:
我们知道在前向传播中,第iii层的结果可以由第i−1i-1i−1层(前一层)计算得到;但是在反向传播时,计算第iii层的结果ablaiLabla^{i} \mathcal LablaiL需要第i+1i+1i+1层(前一层)的梯度ablai+1Labla^{i+1} \mathcal Lablai+1L,和前向计算的中间结果fif^{i}fi。在一般情况下,fif^{i}fi无法通过fi+1f^{i+1}fi+1计算得到,所以fif^{i}fi是必须要缓存的,可能神经网络就是通过巧妙的设计,使得fif^{i}fi可以通过fi+1f^{i+1}fi+1计算得到,从而减少了内存开销。其思路如下,首先输入部分变成两个部分:
其中Fn,Gn\mathcal F_n, \mathcal G_nFn,Gn是两个任意函数,根据上式可得:
本文主要就是基于可逆神经网络进行adapter设计,作者指出当前的PEFT并不一定能省内存,然后利用可逆神经网络缓解了这点。
https://github.com/BaohaoLiao/meftsarrow-up-right
作者提出的方法在inference的时候会降低速度,也许是一个可改进的点。
Last updated 2 years ago