大语言模型---LoRA简介;LoRA的优势;LoRA训练步骤;总结

文章目录

  • [1. 介绍](#1. 介绍)
  • [2. LoRA的优势](#2. LoRA的优势)
  • [3. LoRA训练步骤:](#3. LoRA训练步骤:)
  • 4.总结

1. 介绍

LoRA(Low-Rank Adaptation)是一种用于高效微调大模型的技术,它通过在已有模型的基础上引入低秩矩阵来减少训练模型时所需的参数量和计算量。具体来说,LoRA在训练模型时将模型中的某些权重矩阵分解为两个低秩矩阵A和B,并对这些矩阵进行微调(finetune),而模型的其他部分保持冻结不变。

2. LoRA的优势

  1. 它冻结了预训练的模型权重,并将可训练的秩分解矩阵注入到 Transformer 架构的每一层中,大大减少了下游任务的可训练参数的数量。
  2. 与使用 Adam 微调的 GPT3-175B 相比,LoRA 可以将可训练参数数量减少10,000,GPU内存需求减少3倍。

3. LoRA训练步骤:

  1. 选择目标层:首先,在预训练神经网络模型中选择要应用LoRA的目标层。这些层通常是与特定任务相关的,如自注意力机制中的查询Q和键K矩阵。

  2. 初始化映射矩阵A和逆映射矩阵B:映射矩阵A一般用随机高斯分布初始化,当然实际代码实现时,比如微软的deepspeedchat在用到LoRA时,一开始通过0矩阵占位,然后调用搭配ReLU激活函数的kaiming均匀分布初始化;逆映射矩阵B用0矩阵初始化。

  3. 微调模型:用新的参数矩阵替换目标层的原始参数矩阵,然后在特定任务的训练数据上对模型进行微调。

  4. 参数更新:在微调过程中,计算损失函数关于映射矩阵A和逆映射矩阵B的梯度,并使用优化算法(如Adam、SGD等)对矩阵A和B进行更新。(注意,在更新过程中,原始参数矩阵W保持不变,只训练降维矩阵A与升维矩阵B)

  5. 重复更新:在训练的每个批次中,重复步骤3-5,直到达到预定的训练轮次(epoch)或满足收敛条件 。

  6. 合并权重参数 :将训练好的映射矩阵A和逆映射矩阵B,跟模型预先训练的权重矩阵进行合并。

4.总结

相关推荐
88号技师32 分钟前
2024年12月一区SCI-加权平均优化算法Weighted average algorithm-附Matlab免费代码
人工智能·算法·matlab·优化算法
IT猿手33 分钟前
多目标应用(一):多目标麋鹿优化算法(MOEHO)求解10个工程应用,提供完整MATLAB代码
开发语言·人工智能·算法·机器学习·matlab
88号技师34 分钟前
几款性能优秀的差分进化算法DE(SaDE、JADE,SHADE,LSHADE、LSHADE_SPACMA、LSHADE_EpSin)-附Matlab免费代码
开发语言·人工智能·算法·matlab·优化算法
2301_7644413338 分钟前
基于python语音启动电脑应用程序
人工智能·语音识别
HyperAI超神经1 小时前
未来具身智能的触觉革命!TactEdge传感器让机器人具备精细触觉感知,实现织物缺陷检测、灵巧操作控制
人工智能·深度学习·机器人·触觉传感器·中国地质大学·机器人智能感知·具身触觉
galileo20161 小时前
转化为MarkDown
人工智能
说私域2 小时前
私域电商逆袭密码:AI 智能名片小程序与商城系统如何梦幻联动
人工智能·小程序
请站在我身后2 小时前
复现Qwen-Audio 千问
人工智能·深度学习·语言模型·语音识别
love you joyfully2 小时前
目标检测与R-CNN——paddle部分
人工智能·目标检测·cnn·paddle
AI视觉网奇3 小时前
Detected at node ‘truediv‘ defined at (most recent call last): Node: ‘truediv‘
人工智能·python·tensorflow