引言
全量参数微调在LLM背景下由“不方便”演变为“不可行|高昂成本”,基于“收敛的模型参数可以压缩到低维空间”的假设:
the learned over-parametrized models in fact reside on a low intrinsic dimension.
作者提出LORA(Low Rank Adaptation)方法,其本质如下图所示:
 
  
     
      
       
       
         h 
        
       
         = 
        
       
         W 
        
       
         x 
        
       
      
        h = Wx 
       
      
    h=Wx,其中 
     
      
       
       
         x 
        
       
      
        x 
       
      
    x是输入变量, 
     
      
       
       
         h 
        
       
      
        h 
       
      
    h是输出变量, 
     
      
       
       
         W 
        
       
      
        W 
       
      
    W是预训练模型参数,如何在保持 
     
      
       
       
         W 
        
       
      
        W 
       
      
    W不变的条件下,改变输出变量 
     
      
       
       
         h 
        
       
      
        h 
       
      
    h的值呢?可以引入一个新的模型权重变量 
     
      
       
       
         Z 
        
       
      
        Z 
       
      
    Z, 得到 
     
      
       
       
         h 
        
       
         = 
        
       
         ( 
        
       
         W 
        
       
         + 
        
       
         Z 
        
       
         ) 
        
       
         x 
        
       
      
        h = (W + Z)x 
       
      
    h=(W+Z)x ,注意这里的变量 
     
      
       
       
         Z 
        
       
      
        Z 
       
      
    Z必须与变量 
     
      
       
       
         W 
        
       
      
        W 
       
      
    W是同维度的。但如果直接使用 
     
      
       
       
         Z 
        
       
      
        Z 
       
      
    Z,将毫无意义,因为在LLM中,变量 
     
      
       
       
         Z 
        
       
      
        Z 
       
      
    Z将使得模型规模翻一倍。因此基于假设,作者提出将变量 
     
      
       
       
         Z 
        
       
      
        Z 
       
      
    Z分解为两个低维度的变量 
     
      
       
       
         A 
        
       
      
        A 
       
      
    A与 
     
      
       
       
         B 
        
       
      
        B 
       
      
    B,并满足 
     
      
       
       
         Z 
        
       
         = 
        
       
         A 
        
       
         B 
        
       
      
        Z=AB 
       
      
    Z=AB、变量 
     
      
       
       
         A 
        
       
      
        A 
       
      
    A与 
     
      
       
       
         B 
        
       
      
        B 
       
      
    B的秩(RANK)远小于变量 
     
      
       
       
         Z 
        
       
      
        Z 
       
      
    Z。在初始化时,变量 
     
      
       
       
         A 
        
       
      
        A 
       
      
    A满足正太分布、变量 
     
      
       
       
         B 
        
       
      
        B 
       
      
    B为零矩阵。这个思想与ALBERT中分解Embedding层的思想非常相似,只是LORA的作用范围主要应用在LLM中的注意力层。
LORA方法使得其具有以下优点:
- 共享预训练模型参数,降低下游任务开发部署成本。
- 由于仅需微调一部分参数,因此降低了训练LLM的门槛与成本。
- 线性结构设计 W + Z W + Z W+Z使得模型并没有引入额外的计算开销——部署模型时,可以合并冻结的预训练参数与新引入的模型参数。
- 不同于Prompt tuning类方法,不占用模型有效输入的长度。
- 可以与Prompt tuning类方法结合使用。
注意在LORA中有两个重要的超参数,第一个是秩超参数 r r r,如果 r r r的取值与变量 W W W的秩值相同,则相当于Fine-tuning同等规模的模型参数,因此参数 r r r的值应该远小于变量 W W W的秩值。另一个超参数为 α \alpha α,超参数 α \alpha α会对新引入的权重进行 α r \frac{\alpha}{r} rα缩放,控制新引入权重对预训练权重的影响程度。



















