4.大模型微调技术LoRA

大模型低秩适配(LoRA)技术

现有PEFT 方法的局限与挑战

  • Adapter方法,通过增加模型深度而额外增加了模型推理延时。
  • Prompt Tuning、Prefix Tuning、P-Tuning等方法中的提示较难训练,同时缩短了模型可用的序列长度。
  • 往往难以同时实现高效率和高质量,效果通常不及完全微调(full-finetuning)。
  • 简而言之,尽管大模型参数规模巨大,但关键作用通常是由其中的低秩本质维度(lowintrinsic dimension)发挥的。
  • 受此启发,微软提出了低秩适配(LoRA)方法,设计了特定结构,在涉及矩阵乘法的模块中引入两个低秩矩阵A和B以模拟完全微调过程。这相当于只对语言模型中起关键作用的低秩本质维度进行更新。

LoRA: 小模型有大智慧(2021)

请添加图片描述

为了使微调更加高效,LoRA的方法是通过低秩分解将权重更新表示为两个较小的矩阵(称为更新矩阵)。这些新矩阵可以在适应新数据的同时保持整体变化数量较少进行训练。
原始权重矩阵保持冻结状态,并且不再接受任何进一步的调整。最终结果是通过将原始权重和适应后的权重进行组合得到。

请添加图片描述

LoRA 核心技术揭秘

在LoRA方法中,实际上是在原始预训练语言模型(PLM)旁增加一个附加的网络通路,这可以视作一种“外挂”结构。这个外挂结构的目的是通过两个矩阵A和B的相乘来模拟本征秩(intrinsic rank)。

  • 整体设计:(两个小模型)输入和输出的维度均为d,这与预训练模型层的维度相同。
  • 低秩分解:A矩阵会将输入的d维数据降维至r维(增量矩阵的本征秩),r远小于d(r<< d)。矩阵计算从d x d变为d x r + r x d,减少了模型的参数量和计算量。
  • 回映射:B矩阵将这些r维数据再映射回d维,以便与预训练模型的其他部分保持兼

相关推荐

  1. 模型LoRA微调调参的实战技巧

    2024-06-12 00:24:01       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-12 00:24:01       171 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-12 00:24:01       189 阅读
  3. 在Django里面运行非项目文件

    2024-06-12 00:24:01       157 阅读
  4. Python语言-面向对象

    2024-06-12 00:24:01       170 阅读

热门阅读

  1. 华为云服务器CentOS 8解决yum不能更新源问题

    2024-06-12 00:24:01       35 阅读
  2. 大模型日报2024-06-11

    2024-06-12 00:24:01       53 阅读
  3. React@16.x(26)useContext

    2024-06-12 00:24:01       48 阅读
  4. 新视野大学英语2 词组 6.11

    2024-06-12 00:24:01       45 阅读
  5. 419.甲板上的战舰

    2024-06-12 00:24:01       38 阅读
  6. 比亚迪算法岗面试,问的贼细

    2024-06-12 00:24:01       48 阅读
  7. Python中的可变参数

    2024-06-12 00:24:01       34 阅读
  8. 问题 B: 2.左右(lr.cpp/pas)

    2024-06-12 00:24:01       50 阅读
  9. Vue小细节

    2024-06-12 00:24:01       45 阅读