当前位置: 首页 > article >正文

【文献阅读】AdaLora: Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning

目录

  • 1. 前言
  • 2. 矩阵分解
    • 2.1 SVD分解
    • 2.2 特征值分解
    • 2.3 LU分解
    • 2.4 QR分解
  • 3. AdaLora
    • 3.1 motivation
    • 3.2 改进

1. 前言

矩阵分解为什么可以加速推理

假设原始权重矩阵 W ∈ R ( m ∗ n ) {W∈R^{(m*n)}} WR(mn),矩阵乘法中时间复杂度为mn,变形为 W = B A , B ∈ R ( m ∗ r ) , A ∈ R ( r ∗ n ) {W=BA, B∈R^{(m*r)}, A∈R{(r*n)}} W=BA,BR(mr),AR(rn),则时间复杂度变为mr+r*n

2. 矩阵分解

常见的矩阵分解方法有:奇异值分解(SVD),特征值分解(EVD),LU分解,QR分解

2.1 SVD分解

在这里插入图片描述
奇异矩阵是指不可逆矩阵,即行列式为0的矩阵。奇异矩阵的行或列向量之间是线性相关的,换句话说,它的行或列不能形成满秩(rank)矩阵。因此,奇异矩阵的秩小于它的维度。
奇异值描述了矩阵对向量的变换效果。奇异值总是非负的,矩阵的非零奇异值的数量等于矩阵的秩。即,奇异值为 0 的个数表示矩阵的线性依赖程度。

2.2 特征值分解

在这里插入图片描述
特征值分解只适用于方阵。

2.3 LU分解

在这里插入图片描述

2.4 QR分解

在这里插入图片描述

3. AdaLora

3.1 motivation

lora存在一些问题:

  • LoRA中所有适配器具有相同的秩(线性无关组的数量),忽略了在微调预训练模型时,权重矩阵的重要性在不同模块和层之间存在显著差异
  • 只训练了Attention,没有训练FFN,事实上FFN更重要。

Adalora通过lora矩阵的奇异值去衡量重要性

3.2 改进

  • 调整增量矩分配
    AdaLoRA将关键的增量矩阵分配高秩以捕捉更精细和任务特定的信息,而将较不重要的矩阵的秩降低,以防止过拟合并节省计算预算。
  • 以奇异值分解的形式对增量更新进行参数化,并根据重要性指标裁剪掉不重要的奇异值,同时保留奇异向量。
    由于对一个大矩阵进行精确SVD分解的计算消耗非常大,这种方法通过减少它们的参数预算来加速计算,同时,保留未来恢复的可能性并稳定训练。

http://www.kler.cn/a/291597.html

相关文章:

  • 使用 OpenAI 进行数据探索性分析(EDA)
  • Android Activity Manager Service (AMS) 深入详解及源码分析
  • 2、计算机网络七层封包和解包的过程
  • 支付域——新零售支付
  • 父组件提交时让各自的子组件验证表格是否填写完整
  • 深入理解 JavaScript 中的 Array.find() 方法:原理、性能优势与实用案例详解
  • 鸿蒙ndk
  • List 集合指定值升序降序排列Comparator实现
  • JVM系列(八) -运行期的几种优化技术
  • TikTok养号一般养几天?账号起步方法
  • 0.3 学习Stm32经历过的磨难
  • 深度学习系列69:tts技术原理
  • 使用matplotlab绘制多条形图
  • 四、材料与制造工艺 笔记
  • 微深节能 环冷机卸灰小车定位远程控制系统 格雷母线
  • 2024国赛数学建模评价类算法解析,2024国赛数学建模C题思路模型代码解析
  • UE4_后期处理_后期处理材质及后期处理体积二
  • Unity(2022.3.41LTS) - UI详细介绍- Button(按钮)TMP
  • 中间件解析漏洞
  • 【STM32+HAL库】---- 驱动MAX30102心率血氧传感器
  • “论面向服务架构设计及其应用”写作框架,软考高级论文写作,系统架构设计师
  • JVM类的加载和类的加载器
  • ssm“最多跑一次”微信小程序论文源码调试讲解
  • Springboot logback.xml配置 JdbcTemplate 打印日志
  • vue3实现打飞机(雷电)
  • 机床采集网关在汽车智能工厂中的应用及成效-天拓四方