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

LoRA 微调

LoRA 微调

LoRA(Low-Rank Adaptation)是一种高效微调大型模型的技术,通过低秩分解减少参数量,显著降低计算成本。其核心思想是为原始权重矩阵WWW添加一个低秩增量ΔW\Delta WΔW

ΔW=BA \Delta W = BA ΔW=BA
其中:

  • B∈Rd×rB \in \mathbb{R}^{d \times r}BRd×rA∈Rr×kA \in \mathbb{R}^{r \times k}ARr×k为可训练的低秩矩阵
  • r≪min⁡(d,k)r \ll \min(d,k)rmin(d,k),通常r∈{1,2,4,8}r \in \{1,2,4,8\}r{1,2,4,8}
  • 更新后权重为Wnew=W+ΔWW_{\text{new}} = W + \Delta WWnew=W+ΔW
实现步骤
  1. 冻结原始模型:保持预训练权重WWW不变
  2. 注入适配层:在Transformer的注意力模块(如Q/K/V投影层)旁添加BABABA矩阵
  3. 仅训练增量参数:优化BBBAAA,梯度仅作用于低秩矩阵
伪代码示例
class LoRALayer(nn.Module):def __init__(self, base_layer, rank=8):super().__init__()self.base = base_layer  # 原始冻结层 (e.g., nn.Linear)self.lora_A = nn.Parameter(torch.randn(base_layer.in_features, rank))self.lora_B = nn.Parameter(torch.zeros(rank, base_layer.out_features))def forward(self, x):base_output = self.base(x)  # 原始输出lora_output = x @ self.lora_A @ self.lora_B  # 低秩适配return base_output + lora_output
核心优势
  1. 参数效率:可训练参数量减少100×100 \times100×以上(例如:175B模型仅需0.1%参数)
  2. 无推理延迟:增量矩阵可合并回原权重:Wmerged=W+BAW_{\text{merged}} = W + BAWmerged=W+BA
  3. 模块化适配:不同任务对应独立BABABA矩阵,支持动态切换
典型应用场景
  • 大语言模型(LLaMA, GPT)的领域适配
  • 多任务学习(不同任务使用不同LoRA模块)
  • 资源受限设备上的轻量微调

注意:秩rrr需平衡表达能力和效率;建议在注意力层应用,全连接层效果次之。

http://www.dtcms.com/a/347272.html

相关文章:

  • 探索 JUC:Java 并发编程的神奇世界
  • 单调栈详解
  • Vue环境组件node.js安装
  • C语言---数据类型
  • Qt中使用MySQL数据库
  • git实战(8)git高阶命令分析【结合使用场景】
  • ADC系统中的信噪比(SNR)
  • 容器安全实践(二):实践篇 - 从 `Dockerfile` 到 Pod 的权限深耕
  • 多模态医学图像融合:解锁顶会顶刊中的医学影像新视界
  • 【GaussDB】使用MySQL客户端连接到GaussDB的M-Compatibility数据库
  • 智慧零售漏扫率↓79%!陌讯多模态融合算法在智能收银与货架管理的实战解析
  • 【Linux】深度学习Linux下的包管理器yum/apt
  • Day22: Python涡轮增压计划:用C扩展榨干最后一丝性能!
  • 微前端架构常见框架
  • 深度学习之PyTorch框架(安装,手写数字识别)
  • pid自适应调节实战设计-基于输出电流的PI参数切换方案
  • deepseek应用技巧-MCP服务操作网页和文档
  • ESP32应用——UDP组播/广播(ESP-IDF框架)
  • AI 辅助编程完全新手指南 - 从零基础到高效协作
  • Java试题-选择题(15)
  • flink常见问题之超出文件描述符限制
  • frp v0.64.0 更新:开源内网穿透工具,最简洁教程
  • 生成一个256 点 Q15 正弦表,deepseek载了
  • TK 直播网络串流 通过VLC本地播放
  • 合合信息acge模型获C-MTEB第一,文本向量化迎来新突破
  • 数据库服务语句应用
  • Vmware虚拟机 处理器配置选项配置介绍
  • 香橙派板子Orange Pi 5 Max开启 WiFi 热点
  • Java 线程相关的三个常见接口、类
  • pytorch与torchvision版本对应情况