【极速版 -- 大模型入门到进阶】LORA:大模型轻量级微调

文章目录

    • [🌊 有没有低成本的方法微调大模型?](#🌊 有没有低成本的方法微调大模型?)
    • [🌊 LoRA 的核心思想](#🌊 LoRA 的核心思想)
    • [🌊 LoRA 的初始化和 r r r 的值设定](#🌊 LoRA 的初始化和 r r r 的值设定)
    • [🌊 LoRA 实战:LoraConfig参数详解](#🌊 LoRA 实战:LoraConfig参数详解)

论文指路:LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

🌊 有没有低成本的方法微调大模型?

  • 2021年微软提出 LORA :LOW-RANK ADAPTATION 低秩适配
    • 什么是秩?】一个矩阵的秩是指矩阵中线性独立的行或列的最大数目;也就是说 一个矩阵的秩越大,它包含的有效信息就越多

🌊 LoRA 的核心思想

  • LoRA通过优化在适应过程中 FC 层权重变化 ( Δ w ∈ R m × n \Delta w \in \mathbb{R}^{m\times n} Δw∈Rm×n) 的秩分解矩阵 ( A ∈ R m × r × B ∈ R r × n A \in \mathbb{R}^{m\times r} \times B\in \mathbb{R}^{r\times n} A∈Rm×r×B∈Rr×n),来间接调整神经网络中部分层的权重 ( w w w) 。不修改预先训练好的权重,而是通过引入一个低秩的矩阵来实现对这些层的适应调整
    • r < < min ⁡ ( m , n ) r << \min(m,n) r<<min(m,n)
  • 用更小的参数空间存储 模型参数变化量 Δ w \Delta w Δw

    • Δ w \Delta w Δw: 模型参数变化量,也就是对原参数 w w w 变化 Δ w \Delta w Δw 可以适配新任务。LoRA 用 A 和 B 计算获得模型参数变化量 Δ w \Delta w Δw,叠加到原参数 w w w 上

🌊 LoRA 的初始化和 r r r 的值设定

  • 用随机高斯分布初始化 A A A ,用 0 矩阵初始化 B B B, 保证训练的开始此旁路矩阵依然是 0 矩阵
  • 对于一般的任务, r = 1 , 2 , 4 , . . . r = 1,2,4, ... r=1,2,4,... 就足够了。而一些领域差距比较大的任务可能需要更大的 r r r

🌊 LoRA 实战:LoraConfig参数详解

目前 LORA 已经被 HuggingFace 集成在了 PEFT(Parameter-Efficient Fine-Tuning) 代码库里

所以,使用也非常简单

python3 复制代码
from peft import get_peft_config, get_peft_model, LoraConfig, TaskType

# preModel = ....from_pretrained(".. bert-base-uncased ..")  # 加载你的预训练模型

peft_config = LoraConfig(
    r=4,  # LoRA 维数
    lora_alpha=8,  # ΔW 按 α / r 缩放
	target_modules=["", "", ...],  # 对哪些模块进行微调
    lora_dropout=0.1  # 默认值为 0
)
model = get_peft_model(preModel, peft_config)  # 预训练模型 -> 加好了 LoRA 之后的模型

参考资料: 【LoRA&CN全解析】, 【知乎高赞-大模型轻量级微调】

相关推荐
剑客的茶馆1 小时前
GPT,Genini, Claude Llama, DeepSeek,Qwen,Grok,选对LLM大模型真的可以事半功倍!
gpt·llm·llama·选择大模型
艾醒(AiXing-w)4 小时前
探索大语言模型(LLM):Transformer 与 BERT从原理到实践
语言模型·bert·transformer
赵钰老师7 小时前
【大语言模型DeepSeek+ChatGPT+python】最新AI-Python机器学习与深度学习技术在植被参数反演中的核心技术应用
人工智能·arcgis·语言模型·chatgpt·数据分析
凌鲨9 小时前
Eteam 0.3版本开发规划
ai·语言模型
Jamence10 小时前
多模态大语言模型arxiv论文略读(二十七)
人工智能·语言模型·自然语言处理
Panesle10 小时前
用一个大型语言模型(LLM)实现视觉与语言的融合: Liquid_V1_7B
人工智能·语言模型·自然语言处理·多模态
青稞社区.10 小时前
从 TinyZero 到 APR:语言模型推理能力的探索与自适应并行化
人工智能·语言模型·自然语言处理
何双新13 小时前
Prompt 攻击与防范:大语言模型安全的新挑战
安全·语言模型·prompt
明明跟你说过14 小时前
LangChain + 文档处理:构建智能文档问答系统 RAG 的实战指南
人工智能·python·语言模型·自然语言处理·chatgpt·langchain·gpt-3
web守墓人1 天前
【gpt生成-其一】以go语言为例,详细描述一下 :语法规范BNF/EBNF形式化描述
前端·gpt·golang