High Rank Adaption系列文章
High Rank Adaption
0. 符号
| 符号 | 说明 | 
|---|---|
| A,BA, BA,B | 低秩因子矩阵(HiRA、LoRA等方法中) | 
| A(i)(ri,ii)A^{(i)}(r_i,i_i)A(i)(ri,ii) | TERA中因子矩阵,第iii个因子矩阵的第(ri,ii)(r_i,i_i)(ri,ii)个元素 | 
| A∈Rn×nA \in \mathbb{R}^{n \times n}A∈Rn×n | HyperAdapt中的行缩放对角矩阵 | 
| Aij∈R(r/b)×(n/b)A_{ij} \in \mathbb{R}^{(r/b) \times (n/b)}Aij∈R(r/b)×(n/b) | BHRA中第(i,j)(i,j)(i,j)个子块的低秩因子矩阵 | 
| B∈Rm×mB \in \mathbb{R}^{m \times m}B∈Rm×m | HyperAdapt中的列缩放对角矩阵 | 
| Bij∈R(m/b)×(r/b)B_{ij} \in \mathbb{R}^{(m/b) \times (r/b)}Bij∈R(m/b)×(r/b) | BHRA中第(i,j)(i,j)(i,j)个子块的低秩因子矩阵 | 
| B1,A1,B2,A2B_1, A_1, B_2, A_2B1,A1,B2,A2 | ABBA中的低秩因子矩阵 | 
| bbb | BHRA中的分块数(b×bb \times bb×b个块) | 
| Cij=BijAijC_{ij} = B_{ij} A_{ij}Cij=BijAij | BHRA中的块内低秩乘积(局部容量因子) | 
| CBHRAC_{\text{BHRA}}CBHRA | BHRA中的容量张量(块矩阵) | 
| ddd | DiaBlo中每个子块的维度(假设m=n=N⋅dm = n = N \cdot dm=n=N⋅d);MORA中大模型的维度参数 | 
| d(i)(ri)d^{(i)}(r_i)d(i)(ri) | TERA中的对角线缩放向量,第iii个缩放向量的第rir_iri个元素 | 
| d1=m1N,d2=m2Nd_1 = \frac{m_1}{N}, d_2 = \frac{m_2}{N}d1=Nm1,d2=Nm2 | DiaBlo中子块的维度参数 | 
| dind_{\text{in}}din | 输入维度(与mmm一致) | 
| doutd_{\text{out}}dout | 输出维度 | 
| DDD | DiaBlo中的块对角适配矩阵 | 
| Di∈Rd×dD_i \in \mathbb{R}^{d \times d}Di∈Rd×d | DiaBlo中第iii个对角块的更新矩阵 | 
| FFF | QWHA中可训练的稀疏系数矩阵 | 
| fcompf_{\text{comp}}fcomp | MORA中的压缩算子 | 
| fdecompf_{\text{decomp}}fdecomp | MORA中的解压算子 | 
| hhh | 前向传播的输出(KRAdapter、MORA等) | 
| HHH | QWHA中的Walsh–Hadamard变换矩阵(WHT),仅含±1,满足HTH=IH^T H = IHTH=I | 
| H−1H^{-1}H−1 | HHH的逆矩阵(QWHA中) | 
| HTH^THT | HHH的转置矩阵(QWHA中) | 
| III | 单位矩阵 | 
| KKK | HD-PiSSA中的设备数量 | 
| k,k1,k2k, k_1, k_2k,k1,k2 | KRAdapter中矩阵U、VU、VU、V的行维度;MORA中大模型的维度参数 | 
| mmm | 矩阵的行维度(与dind_{\text{in}}din一致,如W0∈Rm×nW_0 \in \mathbb{R}^{m \times n}W0∈Rm×n) | 
| MMM | MORA中替代LoRA的A、BA、BA、B的正方形矩阵 | 
| NNN | DiaBlo中块矩阵的划分数量(N×NN \times NN×N个块);RELoRA中的更新轮数;TERA中张量的维度数 | 
| nnn | 矩阵的列维度(如W0∈Rm×nW_0 \in \mathbb{R}^{m \times n}W0∈Rm×n) | 
| np=⌊np⌋n_p = \lfloor n p \rfloornp=⌊np⌋ | LoSiA中输出神经元子集大小 | 
| p∈(0,1]p \in (0,1]p∈(0,1] | LoSiA中子集大小比例参数 | 
| rrr | 低秩因子的秩(HiRA中A⋅BA \cdot BA⋅B的秩);总秩预算(BHRA中);LoRA的秩(MORA中);PiSSA中选取的最大奇异值数量 | 
| r0=rank(W0)r_0 = \text{rank}(W_0)r0=rank(W0) | W0W_0W0的秩 | 
| r1=rank(B1A1)r_1 = \text{rank}(B_1 A_1)r1=rank(B1A1) | ABBA中B1A1B_1 A_1B1A1的秩 | 
| r2=rank(B2A2)r_2 = \text{rank}(B_2 A_2)r2=rank(B2A2) | ABBA中B2A2B_2 A_2B2A2的秩 | 
| rir_iri | DiaBlo中第iii个块DiD_iDi的秩 | 
| rblock=r/br_{\text{block}} = r / brblock=r/b | BHRA中的块内秩预算 | 
| RiR_iRi | TERA中核心张量第iii维的维度 | 
| r^=⌊(d+k)r⌋\hat{r} = \lfloor \sqrt{(d + k)r} \rfloorr^=⌊(d+k)r⌋ | MORA中压缩后的维度 | 
| SSS | LoSiA中神经元子集(SinS_{\text{in}}Sin为输入子集,SoutS_{\text{out}}Sout为输出子集) | 
| SrS_rSr | PiSSA中前rrr个奇异值组成的对角矩阵 | 
| sss | RELoRA中的缩放因子 | 
| sABBAs_{\text{ABBA}}sABBA | ABBA中的缩放因子 | 
| U,V⊤U, V^\topU,V⊤ | 奇异值分解(SVD)的左、右奇异向量矩阵(W=U⋅S⋅V⊤W = U \cdot S \cdot V^\topW=U⋅S⋅V⊤) | 
| UrU_rUr | PiSSA中对应前rrr个奇异值的左奇异向量矩阵 | 
| U∈Rk1×din,V∈Rk2×dinU \in \mathbb{R}^{k_1 \times d_{\text{in}}}, V \in \mathbb{R}^{k_2 \times d_{\text{in}}}U∈Rk1×din,V∈Rk2×din | KRAdapter中的矩阵 | 
| uiju_{ij}uij | KRAdapter中矩阵UUU的第iii行第jjj列元素 | 
| vj∈Rk2v_j \in \mathbb{R}^{k_2}vj∈Rk2 | KRAdapter中矩阵VVV的第jjj列向量 | 
| Vr⊤V_r^\topVr⊤ | PiSSA中对应前rrr个奇异值的右奇异向量矩阵 | 
| WWW | 预训练权重矩阵(DiaBlo、PiSSA等) | 
| W0W_0W0 | 预训练权重矩阵(冻结权重,HiRA、BHRA等) | 
| W′W'W′ | 微调后的最终参数矩阵(HiRA、HyperAdapt等) | 
| W0,ijW_{0,ij}W0,ij | BHRA中W0W_0W0的第(i,j)(i,j)(i,j)个子块 | 
| WijW_{ij}Wij | DiaBlo中WWW的第(i,j)(i,j)(i,j)个子块,Wij∈Rd×dW_{ij} \in \mathbb{R}^{d \times d}Wij∈Rd×d | 
| Wfinetuned=W+DW_{\text{finetuned}} = W + DWfinetuned=W+D | DiaBlo中微调后的权重矩阵 | 
| WAk,WBkW_A^k, W_B^kWAk,WBk | RELoRA中第kkk轮的低秩因子矩阵 | 
| Wi(0),Wi(TN)W_i^{(0)}, W_i^{(T_N)}Wi(0),Wi(TN) | RELoRA中第iii层初始权重和第NNN轮后权重 | 
| WS=W[Sout,Sin]∈Rnp×mpW_S = W[S_{\text{out}}, S_{\text{in}}] \in \mathbb{R}^{n_p \times m_p}WS=W[Sout,Sin]∈Rnp×mp | LoSiA中更新的子矩阵 | 
| xxx | 输入向量(KRAdapter、MORA等) | 
| α\alphaα | KRAdapter中的缩放因子 | 
| ΔW\Delta WΔW | 权重更新矩阵(HyperAdapt、QWHA、RELoRA等) | 
| ΔWABBA\Delta W_{\text{ABBA}}ΔWABBA | ABBA的权重更新量 | 
| ΔWBHRA\Delta W_{\text{BHRA}}ΔWBHRA | BHRA的权重更新矩阵 | 
| ΔWBHRA,ij\Delta W_{\text{BHRA},ij}ΔWBHRA,ij | ΔWBHRA\Delta W_{\text{BHRA}}ΔWBHRA的第(i,j)(i,j)(i,j)个子块 | 
| ΔWHiRA\Delta W_{\text{HiRA}}ΔWHiRA | HiRA的权重更新矩阵 | 
| ΔWMoRA\Delta W_{\text{MoRA}}ΔWMoRA | MoRA的权重更新矩阵 | 
| ΔW\Delta \mathcal{W}ΔW | TERA中张量化的权重更新矩阵 | 
| δWt\delta W^tδWt(t=1,2,...,Nt=1,2,...,Nt=1,2,...,N) | RELoRA中第ttt轮的低秩更新 | 
| ⌊⋅⌋\lfloor \cdot \rfloor⌊⋅⌋ | 向下取整符号 | 
| ∘\circ∘ | Hadamard积(元素级乘积,HiRA中) | 
| ⊙\odot⊙ | Hadamard积(元素级乘积,ABBA中);Khatri-Rao乘积(列向克罗内克乘积,KRAdapter中) | 
| □\square□ | BHRA中的块wise Hadamard积(逐块执行Hadamard积) | 
| ∑\sum∑ | 求和符号 | 
| rank(⋅)\text{rank}(\cdot)rank(⋅) | 矩阵的秩 | 
| Ra×b\mathbb{R}^{a \times b}Ra×b | 维度为a×ba \times ba×b的实数矩阵空间 | 
| min(a,b)\min(a,b)min(a,b) | aaa和bbb中的最小值 | 
| G(r1,r2,…,rN)\mathcal{G}(r_1,r_2,\dots,r_N)G(r1,r2,…,rN) | TERA中的核心张量 | 
| Unfold[N;k](ΔW)\text{Unfold}_{[N;k]}(\Delta \mathcal{W})Unfold[N;k](ΔW) | TERA中将张量化的权重更新矩阵转化为矩阵的操作 | 
1. HiRA
原理
HiRA 的更新矩阵:
ΔWHiRA=W0∘(A⋅B) \Delta W_{\text{HiRA}} = W_0 \circ (A \cdot B) ΔWHiRA=W0∘(A⋅B)
此时,微调后最终参数矩阵为:
W′=W0+ΔWHiRA=W0+W0∘(A⋅B) W' = W_0 + \Delta W_{\text{HiRA}} = W_0 + W_0 \circ (A \cdot B) W′=W0+ΔWHiRA=W0+W0∘(A⋅B)
秩分析
根据 Hadamard 积的秩上界,对ΔWHiRA\Delta W_{\text{HiRA}}ΔWHiRA做秩分析:
Rank(ΔWHiRA)=Rank(W0∘(A⋅B))≤Rank(W0)×Rank(A⋅B)≤r0×r \text{Rank}(\Delta W_{\text{HiRA}}) = \text{Rank}(W_0 \circ (A \cdot B)) \leq \text{Rank}(W_0) \times \text{Rank}(A \cdot B) \leq r_0 \times r Rank(ΔWHiRA)=Rank(W0∘(A⋅B))≤Rank(W0)×Rank(A⋅B)≤r0×r
劣势
HiRA的更新量依赖W0W_0W0的元素值:若目标更新ΔWtarget=diag(W0)\Delta W_{\text{target}} = \text{diag}(W_0)ΔWtarget=diag(W0)(W0W_0W0的对角矩阵),则需BA≈IB A \approx IBA≈I(单位矩阵),但低秩矩阵难以准确表示正交结构的单位矩阵。此外,若rank(ΔWtarget/W0)≥rank(ΔWtarget)\text{rank}(\Delta W_{\text{target}} / W_0) \geq \text{rank}(\Delta W_{\text{target}})rank(ΔWtarget/W0)≥rank(ΔWtarget),HiRA的重构误差与LoRA一致,无实际优势。
2. ABBA
原理
ABBA的权重更新量为:
ΔWABBA=sABBA⋅(B1A1)⊙(B2A2)
\Delta W_{\text{ABBA}} = s_{\text{ABBA}} \cdot (B_1 A_1) \odot (B_2 A_2)
ΔWABBA=sABBA⋅(B1A1)⊙(B2A2)
初始化:
B1A1B_1 A_1B1A1初始化使用奇异值分解得到的矩阵
B2A2B_2 A_2B2A2初始化使用LoRA初始化方法
秩分析
ABBA的有效秩由哈达玛积的秩性质决定:
- 设rank(B1A1)=r1\text{rank}(B_1 A_1) = r_1rank(B1A1)=r1、rank(B2A2)=r2\text{rank}(B_2 A_2) = r_2rank(B2A2)=r2,则rank((B1A1)⊙(B2A2))≤r1⋅r2\text{rank}((B_1 A_1) \odot (B_2 A_2)) \leq r_1 \cdot r_2rank((B1A1)⊙(B2A2))≤r1⋅r2(同HiRA的秩性质)。
当r1=r2=r/2r_1 = r_2 = r/2r1=r2=r/2时,ABBA的有效秩上限为(r/2)⋅(r/2)=r2/4(r/2) \cdot (r/2) = r^2/4(r/2)⋅(r/2)=r2/4,远高于LoRA的rrr
3. BHRA
原理
BHRA首先对冻结权重矩阵W0W_0W0进行均匀分块(文档假设m/bm/bm/b、n/bn/bn/b为整数,非均匀分块可推广):
将W0∈Rm×nW_0 \in \mathbb{R}^{m \times n}W0∈Rm×n划分为b×bb \times bb×b个不重叠子块,每个子块的维度为(m/b)×(n/b)(m/b) \times (n/b)(m/b)×(n/b),第(i,j)(i,j)(i,j)个子块记为W0,ijW_{0,ij}W0,ij。
分块后满足块矩阵重构关系:
W0=[W0,11W0,12⋯W0,1bW0,21W0,22⋯W0,2b⋮⋮⋱⋮W0,b1W0,b2⋯W0,bb]
W_0 = \begin{bmatrix}
W_{0,11} & W_{0,12} & \cdots & W_{0,1b} \\
W_{0,21} & W_{0,22} & \cdots & W_{0,2b} \\
\vdots & \vdots & \ddots & \vdots \\
W_{0,b1} & W_{0,b2} & \cdots & W_{0,bb}
\end{bmatrix}
W0=W0,11W0,21⋮W0,b1W0,12W0,22⋮W0,b2⋯⋯⋱⋯W0,1bW0,2b⋮W0,bb
对每个子块W0,ijW_{0,ij}W0,ij,BHRA独立分配一对低秩因子BijB_{ij}Bij和AijA_{ij}Aij,其维度由“总秩预算rrr均匀分配”决定:
- 
块内秩预算:rblock=r/br_{\text{block}} = r / brblock=r/b(总秩rrr按行分块数bbb平均分配,确保总秩不变); 
- 
低秩因子维度(公式5): 
 Bij∈R(m/b)×(r/b),Aij∈R(r/b)×(n/b)(5) B_{ij} \in \mathbb{R}^{(m/b) \times (r/b)}, \quad A_{ij} \in \mathbb{R}^{(r/b) \times (n/b)} \tag{5} Bij∈R(m/b)×(r/b),Aij∈R(r/b)×(n/b)(5)
- 
块内低秩乘积(局部容量因子):Cij=BijAijC_{ij} = B_{ij} A_{ij}Cij=BijAij,由LoRA低秩约束可知rank(Cij)≤r/b\text{rank}(C_{ij}) \leq r/brank(Cij)≤r/b。 
将所有块内低秩乘积CijC_{ij}Cij按W0W_0W0的分块结构排列,构成容量张量(定义为块矩阵,公式6):
CBHRA=[C11C12⋯C1bC21C22⋯C2b⋮⋮⋱⋮Cb1Cb2⋯Cbb]∈Rm×n(6)
C_{\text{BHRA}} = \begin{bmatrix}
C_{11} & C_{12} & \cdots & C_{1b} \\
C_{21} & C_{22} & \cdots & C_{2b} \\
\vdots & \vdots & \ddots & \vdots \\
C_{b1} & C_{b2} & \cdots & C_{bb}
\end{bmatrix} \in \mathbb{R}^{m \times n} \tag{6}
CBHRA=C11C21⋮Cb1C12C22⋮Cb2⋯⋯⋱⋯C1bC2b⋮Cbb∈Rm×n(6)
BHRA的权重更新通过块wise Hadamard积(□\square□)实现:将容量张量CBHRAC_{\text{BHRA}}CBHRA与冻结权重矩阵W0W_0W0在对应子块内执行元素级Hadamard积,公式(公式7):
ΔWBHRA=CBHRA□W0(7)
\Delta W_{\text{BHRA}} = C_{\text{BHRA}} \square W_0 \tag{7}
ΔWBHRA=CBHRA□W0(7)
需特别注意块wise Hadamard积的严格定义:对任意i,ji,ji,j,ΔWBHRA\Delta W_{\text{BHRA}}ΔWBHRA的第(i,j)(i,j)(i,j)子块满足:
ΔWBHRA,ij=Cij⊙W0,ij
\Delta W_{\text{BHRA},ij} = C_{ij} \odot W_{0,ij}
ΔWBHRA,ij=Cij⊙W0,ij
即“逐块执行Hadamard积,块间无交互”——这是BHRA与HiRA“全局Hadamard积”的核心区别(HiRA的ΔWHiRA=W0⊙(BA)\Delta W_{\text{HiRA}} = W_0 \odot (BA)ΔWHiRA=W0⊙(BA)是全局元素积,所有元素依赖W0W_0W0的全局模式)。
秩分析
对b×bb \times bb×b分块的BHRA,其权重更新ΔWBHRA=CBHRA□W0\Delta W_{\text{BHRA}} = C_{\text{BHRA}} \square W_0ΔWBHRA=CBHRA□W0的秩满足:
rank(ΔWBHRA)≤br0r(8)
\text{rank}(\Delta W_{\text{BHRA}}) \leq b r_0 r \tag{8}
rank(ΔWBHRA)≤br0r(8)
其中r0=rank(W0)r_0 = \text{rank}(W_0)r0=rank(W0),bbb为分块数,rrr为总秩预算。
4. HyperAdapt
原理
预训练权重矩阵通常为满秩,且在预训练阶段已编码了许多有用的方向。若我们能高效地对这些现有方向进行重新加权,而非引入新方向,就能以极少的参数开销实现高秩更新。
于是对预权重通过行 / 列缩放得到新权重矩阵
ΔW=AW0B−W0\Delta W = AW_0B-W_0ΔW=AW0B−W0
其中,A∈Rn×nA \in \mathbb{R}^{n \times n}A∈Rn×n和B∈Rm×mB \in \mathbb{R}^{m \times m}B∈Rm×m为对角矩阵。
W′=W0+ΔW,=W0+AW0B−W0,=AW0B.
\begin{aligned}  
W' &= W_0 + \Delta W, \\  
&= W_0 + A W_0 B - W_0, \\  
&= A W_0 B.  
\end{aligned}
W′=W0+ΔW,=W0+AW0B−W0,=AW0B.
秩分析
理论HyperAdapt 权重更新矩阵的秩上界:
rank(ΔW)≤min (2⋅rank(W0),  n,  m)
\mathrm{rank}(\Delta W) \leq \min\!\bigl(2\cdot\mathrm{rank}(W_0),\;n,\;m\bigr)
rank(ΔW)≤min(2⋅rank(W0),n,m)
实际秩上界:
实际实验发现,HyperAdapt 动用的有效正交方向越接近W0W_0W0的秩上限,即实现了 “高秩更新”。
优势
HyperAdapt 通过对角矩阵行 / 列缩放实现权重更新,对维度为n×mn×mn×m的预训练权重矩阵W0W0W0,仅需训练n+mn+mn+m个可训练参数.
HyperAdapt 突破了 LoRA 等低秩方法的 “低秩约束”,实现了受约束的高秩更新,且同时兼顾参数效率。
缺点
适用范围受限,仅针对 Transformer 语言模型,未扩展至其他领域
权重更新形式固定,依赖对角缩放,灵活性弱于 LoRA
5. DiaBlo
原理
DiaBlo 通过直接更新模型权重矩阵的对角块实现适配
设预训练模型中的某一权重矩阵为W∈Rm×nW \in \mathbb{R}^{m \times n}W∈Rm×n(例如Transformer中的注意力权重或前馈网络权重)。DiaBlo将WWW划分为N×NN \times NN×N的块矩阵:
W=(W11W12…W1NW21W22…W2N⋮⋮⋱⋮WN1WN2…WNN)
W = \begin{pmatrix}
W_{11} & W_{12} & \dots & W_{1N} \\
W_{21} & W_{22} & \dots & W_{2N} \\
\vdots & \vdots & \ddots & \vdots \\
W_{N1} & W_{N2} & \dots & W_{NN}
\end{pmatrix}
W=W11W21⋮WN1W12W22⋮WN2……⋱…W1NW2N⋮WNN
其中,每个子块Wij∈Rd×dW_{ij} \in \mathbb{R}^{d \times d}Wij∈Rd×d(假设m=n=N⋅dm = n = N \cdot dm=n=N⋅d,即方阵且均匀分块;非方阵时可类似分块)。
DiaBlo的核心策略是:仅更新对角块WiiW_{ii}Wii(i=1,2,...,Ni=1,2,...,Ni=1,2,...,N),冻结所有非对角块WijW_{ij}Wij(i≠ji \neq ji=j)。
DiaBlo引入一个块对角适配矩阵DDD 来表示对角块的更新量,其结构为:
D=(D10…00D2…0⋮⋮⋱⋮00…DN)
D = \begin{pmatrix}
D_1 & 0 & \dots & 0 \\
0 & D_2 & \dots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \dots & D_N
\end{pmatrix}
D=D10⋮00D2⋮0……⋱…00⋮DN
其中,Di∈Rd×dD_i \in \mathbb{R}^{d \times d}Di∈Rd×d是可训练的对角块更新矩阵(初始化为0矩阵),非对角位置为0(即不更新非对角块)。
微调过程中,模型实际使用的权重矩阵为预训练权重与适配矩阵的和:
Wfinetuned=W+D
W_{\text{finetuned}} = W + D
Wfinetuned=W+D
即仅对角块WiiW_{ii}Wii被更新为Wii+DiW_{ii} + D_iWii+Di,非对角块保持预训练状态WijW_{ij}Wij(i≠ji \neq ji=j)。
秩分析
原文无秩推导,现理论推导如下:
DiaBlo 的适配矩阵DDD是块对角矩阵,其秩等于各对角块秩之和。
设第iii个块为DiD_iDi,秩为rir_iri,则有:
rank(D)=∑i=1Nri≤N⋅min(d1,d2)\operatorname{rank}(D) = \sum_{i=1}^{N} r_i \le N \cdot \min(d_1, d_2) rank(D)=i=1∑Nri≤N⋅min(d1,d2)
其中
- NNN:对角块数量
- d1=m1Nd_1 = \frac{m_1}{N}d1=Nm1,d2=m2Nd_2 = \frac{m_2}{N}d2=Nm2
优势
训练更稳定,无需依赖定制化初始化 / 优化策略
劣势
适用模态有限,暂未验证非语言模型
理论基础薄弱,对角块更新的有效性缺乏深层解释
参数效率的 “上限” 可能低于LoRA
6. HD-PISSA
原理
PiSSA(Principal Singular Values and Singular Vectors Adaptation)改进了 LoRA 的初始化策略,利用预训练权重的 主奇异成分 初始化适配器,提升收敛速度和性能。
首先对原始权重WWW做奇异值分解(SVD):
W=U⋅S⋅V⊤
W = U \cdot S \cdot V^\top 
W=U⋅S⋅V⊤
PiSSA 选择SSS中 前rrr个最大奇异值 及其对应奇异向量,初始化适配器 ( A, B ):
A=Ur⋅Sr1/2,B=Sr1/2⋅Vr⊤ A = U_r \cdot S_r^{1/2}, \quad B = S_r^{1/2} \cdot V_r^\top A=Ur⋅Sr1/2,B=Sr1/2⋅Vr⊤
HD-PiSSA(High-Rank Distributed PiSSA)核心逻辑是:在KKK个设备上分配 正交的主成分适配器,聚合各设备的更新量直接作用于原始权重WWW,无需维护多设备残差矩阵。
秩分析
| 方法 | 适配器初始化范围 | 设备间适配器关系 | 有效更新秩上限 | 
|---|---|---|---|
| PiSSA | 前rrr个主成分 | 完全相同(同构) | rrr | 
| HD-PiSSA | 前K⋅rK \cdot rK⋅r个主成分 | 正交(异构) | 2K⋅r2K \cdot r2K⋅r | 
优势
分布式训练的内存高效性
劣势
依赖分布式硬件环境;由于要计算权重的奇异值分解,预处理成本增加
7. LOSIA
原理
LoSiA(Low-cost Sparse Incremental Adaptation) 是一种稀疏高秩参数高效微调方法,目标是在保持计算与存储低成本的前提下,获得接近全量微调(full fine-tune)的表现,不去约束更新矩阵为低秩,而是从原权重矩阵中选取一部分神经元子集进行激活与训练,通过子网激活的方式隐式实现高秩更新。
- 
对每层权重矩阵W∈Rn×mW \in \mathbb{R}^{n\times m}W∈Rn×m: 
 LoSiA 选取输入神经元子集Sin⊆[m]S_{\text{in}} \subseteq [m]Sin⊆[m]和输出神经元子集Sout⊆[n]S_{\text{out}} \subseteq [n]Sout⊆[n]。
- 
子集大小由比例参数p∈(0,1]p \in (0,1]p∈(0,1]决定: 
 np=⌊np⌋,mp=⌊mp⌋ n_p = \lfloor n p \rfloor, \quad m_p = \lfloor m p \rfloor np=⌊np⌋,mp=⌊mp⌋
- 
仅更新子矩阵 
 WS=W[Sout,Sin]∈Rnp×mp W_S = W[S_{\text{out}}, S_{\text{in}}] \in \mathbb{R}^{n_p \times m_p} WS=W[Sout,Sin]∈Rnp×mp
 而其余参数保持冻结。
- 
训练过程中周期性重选子网(subnet resampling),形成时间上的多子空间覆盖,使得长期累积效果接近全量训练。 
秩分析
LoSiA 的最大秩
子矩阵WS∈Rnp×mpW_S \in \mathbb{R}^{n_p\times m_p}WS∈Rnp×mp的秩上界为其行列最小值:
rank(WS)≤min(np,mp)
\operatorname{rank}(W_S) \le \min(n_p, m_p)
rank(WS)≤min(np,mp)
由于np=npn_p = n pnp=np、mp=mpm_p = m pmp=mp(取整略去),
rankLoSiAmax≈pmin(n,m)
\operatorname{rank}_{\text{LoSiA}}^{\max} \approx p \min(n,m)
rankLoSiAmax≈pmin(n,m)
8. KRAdapter
原理
借助Khatri-Rao 乘积(列向克罗内克乘积) 构建权重更新矩阵。
设两个矩阵U∈Rk1×dinU \in \mathbb{R}^{k_1 \times d_{in}}U∈Rk1×din和V∈Rk2×dinV \in \mathbb{R}^{k_2 \times d_{in}}V∈Rk2×din,二者的 Khatri-Rao 乘积记为U⊙VU \odot VU⊙V,定义为按列进行 Kronecker 乘积组合的矩阵。
更形式化地,若U=[u11 u12 … u1,din; ⋮ ; uk1,1 uk1,2 … uk1,din]U = [u_{11} \ u_{12} \ \dots \ u_{1,d_{in}}; \ \vdots \ ; \ u_{k_1,1} \ u_{k_1,2} \ \dots \ u_{k_1,d_{in}}]U=[u11 u12 … u1,din; ⋮ ; uk1,1 uk1,2 … uk1,din](第iii行第jjj列为uiju_{ij}uij),V=[v1 v2 … vdin]V = [v_1 \ v_2 \ \dots \ v_{d_{in}}]V=[v1 v2 … vdin](第jjj列为vj∈Rk2v_j \in \mathbb{R}^{k_2}vj∈Rk2),则:
U⊙V=[u11v1u12v2…u1,dinvdin⋮⋮⋱⋮uk1,1v1uk1,2v2…uk1,dinvdin]∈R(k1k2)×din
U \odot V = \begin{bmatrix} u_{11}v_1 & u_{12}v_2 & \dots & u_{1,d_{in}}v_{d_{in}} \\ \vdots & \vdots & \ddots & \vdots \\ u_{k_1,1}v_1 & u_{k_1,2}v_2 & \dots & u_{k_1,d_{in}}v_{d_{in}} \end{bmatrix} \in \mathbb{R}^{(k_1 k_2) \times d_{in}}  \quad \text{}
U⊙V=u11v1⋮uk1,1v1u12v2⋮uk1,2v2…⋱…u1,dinvdin⋮uk1,dinvdin∈R(k1k2)×din
KRAdapter 的权重更新定义为ΔW=α(U⊙V)\Delta W = \alpha (U \odot V)ΔW=α(U⊙V),其中α\alphaα仍为缩放因子
结合预训练权重W0W_0W0,KRAdapter 适配后的线性层前向传播公式为:
h=(W0+αU⊙V)x
h = \left( W_0 + \alpha U \odot V \right) x \quad \text{}
h=(W0+αU⊙V)x
秩分析
文章中证明了Khatri-Rao 乘积的满列秩性质
定理陈述:设U∈Rk×dinU \in \mathbb{R}^{k \times d_{in}}U∈Rk×din和V∈Rk×dinV \in \mathbb{R}^{k \times d_{in}}V∈Rk×din(简化为k1=k2=kk_1 = k_2 = kk1=k2=k),满足k≤din≤k2k \leq d_{in} \leq k^2k≤din≤k2,且UUU、VVV的元素独立同分布(i.i.d.)于标准高斯分布N(0,1)\mathcal{N}(0,1)N(0,1)或区间[−δ,δ][-\delta, \delta][−δ,δ](δ>0\delta > 0δ>0)的均匀分布,则 Khatri-Rao 乘积U⊙VAU \odot VAU⊙VA几乎必然almostsurelyalmost surelyalmostsurely满列秩,即
rank(U⊙V)=din
\text{rank}(U \odot V) = d_{in}
rank(U⊙V)=din
9. TERA
原理
TeRA的核心创新是:用类塔克分解的张量网络参数化ΔW\Delta \mathcal{W}ΔW,通过“冻结大部分参数+训练小向量”实现“高秩更新+参数高效”。
先把权重更新矩阵张量化,之后把该张量进行塔克类结构表示:
TeRA对ΔW\Delta \mathcal{W}ΔW的参数化遵循“核心张量→对角线缩放→因子矩阵映射”的逻辑,其元素值定义为:
ΔW(i1,i2,…,iN)=∑r1=1R1∑r2=1R2⋯∑rN=1RNG(r1,r2,…,rN)×d(1)(r1)d(2)(r2)…d(N)(rN)×A(1)(r1,i1)A(2)(r2,i2)…A(N)(rN,iN)
\begin{aligned}
\Delta \mathcal{W}(i_1,i_2,\dots,i_N) &= \sum_{r_1=1}^{R_1} \sum_{r_2=1}^{R_2} \dots \sum_{r_N=1}^{R_N} \mathcal{G}(r_1,r_2,\dots,r_N) \\
&\quad \times d^{(1)}(r_1) d^{(2)}(r_2) \dots d^{(N)}(r_N) \\
&\quad \times A^{(1)}(r_1,i_1) A^{(2)}(r_2,i_2) \dots A^{(N)}(r_N,i_N)
\end{aligned}
ΔW(i1,i2,…,iN)=r1=1∑R1r2=1∑R2⋯rN=1∑RNG(r1,r2,…,rN)×d(1)(r1)d(2)(r2)…d(N)(rN)×A(1)(r1,i1)A(2)(r2,i2)…A(N)(rN,iN)
仅训练对角线缩放向量d(i)d^{(i)}d(i),之后把张量化的权重更新矩阵再次转化为矩阵ΔW\Delta WΔW。
秩分析
论文中证明了如下结论:
设ΔW=Unfold[N;k](ΔW)\Delta W = \text{Unfold}_{[N;k]}(\Delta \mathcal{W})ΔW=Unfold[N;k](ΔW)(ΔW\Delta \mathcal{W}ΔW矩阵化后的权重更新矩阵),则:
rank(ΔW)≤min(∏i=1kRi,∏i=k+1NRi)
\text{rank}(\Delta W) \leq \min\left( \prod_{i=1}^k R_i, \prod_{i=k+1}^N R_i \right)
rank(ΔW)≤min(i=1∏kRi,i=k+1∏NRi)
当Ri=IiR_i = I_iRi=Ii(核心张量维度等于原张量维度)时,rank(ΔW)≤min(m,n)\text{rank}(\Delta W) \leq \min(m,n)rank(ΔW)≤min(m,n),即ΔW\Delta WΔW可实现满秩更新。
10. QWHA
原理
同时解决两类效率问题:
- 量化(Quantization)带来的精度下降;
- PEFT(Parameter-Efficient Fine-Tuning)带来的低秩限制。
适配器的权重更新定义为:
ΔW=FH−1 \Delta W = F H^{-1} ΔW=FH−1
- HHH:固定的 Walsh–Hadamard 变换矩阵(WHT),仅含 ±1,满足 ( H^T H = I )。
- FFF:可训练的稀疏系数矩阵,由少量非零值组成。
- H−1H^{-1}H−1对应快速加减操作
这与传统 LoRA 相对比,是高秩稀疏表示。
秩分析
理论上限
由ΔW=FH−1\Delta W = F H^{-1}ΔW=FH−1,H−1H^{-1}H−1为满秩正交矩阵,
所以秩仅取决于FFF:
rank(ΔW)=rank(F)
\operatorname{rank}(\Delta W) = \operatorname{rank}(F)
rank(ΔW)=rank(F)
若FFF为随机稀疏矩阵,且每行/列平均非零数 ≥ 2(即k,l≥2k,l ≥ 2k,l≥2),则根据稀疏矩阵理论(Coja-Oghlan et al., 2020):
当n,m→∞n,m \to \inftyn,m→∞时,FFF以高概率为满秩。
因此:
rankQWHA≈min(din,dout)
\operatorname{rank}_{\mathrm{QWHA}} \approx \min(d_{\text{in}}, d_{\text{out}})
rankQWHA≈min(din,dout)
即 几乎满秩(full-rank)。
11. MORA
原理
用“正方形矩阵MMM”替代LoRA的两个低秩矩阵A,BA,BA,B,在参数数量与LoRA相等的前提下,最大化rank(ΔWMoRA)\text{rank}(\Delta W_{\text{MoRA}})rank(ΔWMoRA)
MoRA需通过压缩/解压算子适配MMM与W0W_0W0的维度,前向传播公式为:
h=W0x+fdecomp(M⋅fcomp(x))
h = W_0 x + f_{\text{decomp}} \left( M \cdot f_{\text{comp}} (x) \right)
h=W0x+fdecomp(M⋅fcomp(x))
(先压缩xxx至r^\hat{r}r^维,输入MMM计算,再解压至ddd维,与W0xW_0 xW0x叠加)。
秩分析
文章中证明了MoRA的ΔWMoRA\Delta W_{\text{MoRA}}ΔWMoRA由MMM通过压缩/解压算子转换得到,其秩满足rank(ΔWMoRA)≤r^\text{rank}(\Delta W_{\text{MoRA}}) \leq \hat{r}rank(ΔWMoRA)≤r^(因MMM的秩≤r^\hat{r}r^)。
其中r^=⌊(d+k)r⌋\hat{r} = \lfloor \sqrt{(d + k)r} \rfloorr^=⌊(d+k)r⌋,且大模型中d,kd,kd,k通常极大(如d=k=4096d=k=4096d=k=4096),因此r^≫r\hat{r} \gg rr^≫r(rrr为LoRA的秩)。
12. RELoRA
原理
通过多轮独立的低秩更新(δW1,δW2,...,δWN\delta W^1, \delta W^2, ..., \delta W^NδW1,δW2,...,δWN),其总和(ΔW=∑t=1NδWt\Delta W = \sum_{t=1}^N \delta W^tΔW=∑t=1NδWt)可实现远高于单轮低秩的总秩,最终逼近全秩矩阵的表达能力。
主权重的总更新量为各周期低秩更新之和:
ΔW=Wi(TN)−Wi(0)=s⋅∑k=1NWAk⋅WBk
\Delta W = W_i^{(T_N)} - W_i^{(0)} = s \cdot \sum_{k=1}^N W_A^k \cdot W_B^k 
ΔW=Wi(TN)−Wi(0)=s⋅k=1∑NWAk⋅WBk
ReLoRA的核心公式:总更新量是多轮低秩更新的聚合
秩分析
由秩的次可加性,总更新量的秩满足:
rank(ΔW)=rank(s∑k=1NWAkWBk)≤∑k=1Nrank(WAkWBk)≤N⋅r
\text{rank}(\Delta W) = \text{rank}\left(s \sum_{k=1}^N W_A^k W_B^k\right) \leq \sum_{k=1}^N \text{rank}(W_A^k W_B^k) \leq N \cdot r 
rank(ΔW)=rank(sk=1∑NWAkWBk)≤k=1∑Nrank(WAkWBk)≤N⋅r
若各周期的WAkWBkW_A^k W_B^kWAkWBk子空间独立(由Kaiming初始化保证),则等号成立:
rank(ΔW)=N⋅r
\text{rank}(\Delta W) = N \cdot r
rank(ΔW)=N⋅r
