【文献阅读】LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

目录

  • [1. motivation](#1. motivation)
  • [2. overall](#2. overall)
  • [3. model](#3. model)
    • [3.1 low rank parametrized update matrices](#3.1 low rank parametrized update matrices)
    • [3.2 applying lora to transformer](#3.2 applying lora to transformer)
  • [4. limitation](#4. limitation)
  • [5. experiment](#5. experiment)
  • [6. 代码](#6. 代码)
  • [7. 补充](#7. 补充)
  • 参考文献

1. motivation

  • 常规的adaptation需要的微调成本过大
  • 现有方法的不足:
    • Adapter Layers Introduce Inference Latency
    • Directly Optimizing the Prompt is Hard

2. overall

  • inspiration
    Aghajanyan[1] 证明了预训练语言模型有一个低的"intrinsic rank",并且将其映射到一个子空间后仍然可以有效率的学习
  • hypothesis
    假设模型自适应过程中,权重的改变也具有一个低的"intrinsic rank"
  • core idea
    通过优化全连接层改变量的秩分解矩阵去微调全连接层

3. model

3.1 low rank parametrized update matrices

采用秩分解矩阵代表权重的改变量:

则对于任意的输出:

A ∈ R d × r , B ∈ R r × d , r < < d {A\in R^{d \times r}}, {B \in R^{r \times d}}, r<<d A∈Rd×r,B∈Rr×d,r<<d

对于A采用一个随机的高斯初始化,对于B采用0初始化。

采用 α / r {\alpha/r} α/r缩放 δ W x {\delta Wx} δWx,r是矩阵的秩, α {\alpha} α是一个常数。这个缩放可以减小当r改变时,我们重新微调参数的需要
A generalization of full fine-tune

adapter-based的方法通常是利用一个MLP或者一个prefix-based方法,导致模型不允许长序列的输入。不同于adapter-based的方法,LORA是针对原始模型训练的。LORA微调时,我们可以通过设置r来达到恢复全量微调的效果。因为LORA在适应过程中不要求对权重矩阵的累积梯度更新具有完整的秩。

no additional inference latency

部署到实际生产时,可以先计算存储 W = W 0 + B A {W = W_0 + BA} W=W0+BA。对于不同的下游任务,只用计算BA和其变化量的差值就可以了。

3.2 applying lora to transformer

  • transformer的框架中,有四个权重矩阵在自注意力层( W q , W k , W v , W o {W_q,W_k, W_v, W_o} Wq,Wk,Wv,Wo),两个在MLP。
  • lora微调时只针对四个自注意力层的矩阵,冻结MLP的两个矩阵(即下游任务不训练)。

4. limitation

For example, it is not straightforward to batch inputs to different tasks with different A and B in a single forward pass, if one chooses to absorb A and B into W to eliminate additional inference latency. Though it is possible to not merge the weights and dynamically choose the LoRA modules to use for samples in a batch for scenarios where latency is not critical.

5. experiment



6. 代码

  • lora层
  • 普通的前馈网络
  • 加入lora后

7. 补充

OLoRA是lora的一个变种,是在lora的基础上引入了量化,减小了对资源量的需求。
创新点:4 位量化、4 位 NormalFloat 数据类型、双量化和分页优化器

参考文献

1\] Armen Aghajanyan, Luke Zettlemoyer, and Sonal Gupta. Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning. arXiv:2012.13255 \[cs\], December 2020. URL http://arxiv.org/abs/2012.13255. \[2\][大模型微调原理与代码实战案例(四):LoRA](https://blog.csdn.net/2301_78285120/article/details/132701965)

相关推荐
zhangfeng11334 分钟前
氨基酸序列表示法,蛋白质序列表达 计算机中机器学习 大语言模型中的表达,为什么没有糖蛋白或者其他基团磷酸化甲基化乙酰化泛素化
人工智能·机器学习·语言模型
陈天伟教授14 分钟前
人工智能应用- 语言理解:06.大语言模型
人工智能·语言模型·自然语言处理
海心焱22 分钟前
安全之盾:深度解析 MCP 如何缝合企业级 SSO 身份验证体系,构建可信 AI 数据通道
人工智能·安全
2501_9453184925 分钟前
AI证书能否作为招聘/培训标准?2026最新
人工智能
2601_9491465326 分钟前
Python语音通知接口接入教程:开发者快速集成AI语音API的脚本实现
人工智能·python·语音识别
韦东东26 分钟前
RAGFlow v0.20的Agent重大更新:text2sql的Agent案例测试
人工智能·大模型·agent·text2sql·ragflow
人工智能AI技术30 分钟前
DeepSeek-OCR 2实战:让AI像人一样“看懂”复杂文档
人工智能
OpenBayes1 小时前
教程上新|DeepSeek-OCR 2公式/表格解析同步改善,以低视觉token成本实现近4%的性能跃迁
人工智能·深度学习·目标检测·机器学习·大模型·ocr·gpu算力
冰糖猕猴桃1 小时前
【AI】把“大杂烩抽取”拆成多步推理:一个从单提示到多阶段管线的实践案例
大数据·人工智能·ai·提示词·多步推理
PPIO派欧云1 小时前
PPIO上线GLM-OCR:0.9B参数SOTA性能,支持一键部署
人工智能·ai·大模型·ocr·智谱