🔧 微调技术

简介: 微调是将预训练模型适配特定任务的核心技术,涵盖指令微调、对齐微调与高效参数微调。LoRA通过低秩分解减少参数量,提升训练效率;Prefix Tuning与Prompt Tuning则通过轻量改造输入实现高效微调。不同方法在参数量、速度与效果间权衡,满足多样需求。(237字)

微调是将预训练模型适配到特定任务的关键技术,包括指令微调、对齐微调和高效参数微调。
🏗️ 微调类型
1️⃣ 指令微调 (SFT)
原理:在指令-响应对上训练
数据格式:{"instruction": "...", "output": "..."}
效果:提升指令遵循能力
2️⃣ 对齐微调 (RLHF)
流程:
人类偏好数据收集
奖励模型训练
PPO强化学习优化
目标:使模型行为符合人类价值观
3️⃣ 高效参数微调
LoRA (Low-Rank Adaptation)
背景
矩阵中的最大的不相关的向量个数,就叫做秩。如果矩阵中数据比较相关,则为低秩矩阵。
例如,一个
m×n
的矩阵,如果它的秩 r 远小于 m 和 n,那么它就是一个低秩矩阵,冗余信息很多
反之,若矩阵的秩等于矩阵的行数 m,或者列数 n,则它是一个满秩矩阵
大模型的参数矩阵中的秩往往较小,具有很强的冗余
LoRA 原理
原理:如果一个矩阵P(假设维度为
d×d
)存在大量冗余信息,即低秩特性,可以不用完整的
d×d
尺寸来表示它,可利用因式分解这个想法,用两个较小的矩阵( A和B )的乘积 BA 来表示矩阵P,其中 A 维度
r×d
,B 维度
d×r
,则
P=AB
,其中
r
为秩,远小于
d
,A 和 B 为低秩矩阵
思想:将全参数微调理解为“冻住的预训练权重” + “微调过程中产生的权重更新量”,因此微调只学习“更新”的那部分参数量(与预训练权重维度相同)。同时借助矩阵分解的思想,将“更新”的大模型参数矩阵分解为两个低秩矩阵的乘积,从而减少参数量,提高训练速度
公式:
output=W
0

x+ΔWx=W
0

x+BAx
其中
W
0

为预训练权重,维度为
d×d

x
为输入,
B

A
为可训练参数,维度分别为
d×r

r×d
(
r
为秩,远小于
d
),
ΔW
为微调过程中产生的权重更新量,即
BA

效果:参数更新量由
d×d
降低为
2×d×r
,反向传播时,只有 A、B 获得梯度,
W
0

不变,因而大大减少计算量
LoRA的初始化
常见的初始化方法是:矩阵A 高斯初始化,矩阵 B 初始化为零矩阵,保证模型输出在第一步与预训练一致,避免任何初始扰动,保证不会在一开始就破坏预训练表示
为什么A 高斯初始化,B 初始化为零矩阵?为什么不能都高斯初始化?或者都为0,或者B 高斯初始化,A 初始化为零矩阵?
具体可参考: LoRA微调中的矩阵初始化策略:A随机与B零初始化
A 随机与 B 零初始化: B在第一轮即可获得梯度,更新参数,A在第一轮无法获得梯度,不更新参数,但随着B的更新,A会逐渐获得梯度,开始更新
A 和 B 都高斯初始化: 模型输出在第一步与预训练不一致,引入噪声,干扰训练
A 和 B 都初始化为零: A 和 B 均无法获得梯度,无法更新,训练无法启动
B 随机与 A 零初始化: 理论上可能,但会导致训练效率显著下降甚至失败。B在第一轮无法获得梯度,无法更新参数,A 在第一轮的梯度不为零(取决于随机初始化的 B),可以更新,但 A 的更新需要与 B 的更新协同才能有效调整权重。由于 B 在初始阶段无法更新,A 的更新方向会受限于初始随机的 B,导致优化过程不稳定。
LoRA作用的位置
理论上LoRA的思想可以应用到任何权值矩阵上,例如在自注意机制中有四个权值矩阵 wq,wk ,wv ,wo ,另外在Transformer的全连接中也有两个权值矩阵w_up 和 w_down。关于LoRA在Transformer的作用位置,LoRA论文在自注意力层做了一组对照实验,证明如果只将LoRA作用到某个单一矩阵上,效果不佳,如果将LoRA作用到两个矩阵上,放在 wq 和 wv 效果最好。建议在所有的权值矩阵都加上LoRA,有利于模型捕捉到所有矩阵的关键信息
LoRA中参数
r
:秩,表示低秩矩阵的维度,一般取1、2、4、8、16、32,比较常见的取值是8,值越高意味着矩阵越大
lora_alpha:缩放因子,用于调整低秩矩阵的影响力。可以理解为对BA的更新幅度进行放大或缩小
lora_target:指示需要应用低秩适应(LoRA)模块的特定网络层或模块
LoRA的变体
LoRA+(LoRA Plus): LoRA 的增强版本,主要通过为矩阵 A 和 B 引入不同的学习率改进Lora,其中矩阵 B 的学习率设置为矩阵 A 的 16 倍。这种策略可以显著提高训练效率,同时提升模型精度(约 2%),并将训练时间缩短 2 倍。前提:原始 LoRA 中,矩阵 A 和 B 使用相同的学习率进行更新。该方法认为当模型的宽度(即嵌入维度)较大时,这种单一学习率的设置会导致微调效果不佳。)
QLoRA(Quantized LoRA): QLoRA 是 LoRA 的量化版本,主要通过对低秩矩阵进行量化,从而显著降低存储和计算成本。这使得模型在显存受限的环境中运行更加高效。
AdaLoRA(Adaptive LoRA):AdaLoRA 是 LoRA 的自适应版本,它支持动态调整秩,可根据任务和数据的复杂度动态调整低秩矩阵的秩,避免了固定秩带来的限制。
Prefix Tuning
原理:在输入前添加可训练前缀
特点:仅训练前缀参数
Prompt Tuning
原理:学习软提示词嵌入
特点:简单高效
📊 微调方法对比
方法
参数量
训练速度
效果
部署
全参数
100%

最好
困难
LoRA
1%


容易
Prefix
0.1%
最快

容易

相关文章
|
2月前
|
运维 监控 数据可视化
2025年数据库性能压测工具对比与重点测试方案选型指南
文章围绕2025年数据库性能压测展开,介绍主流方案有SaaS化平台、自建集群及开源工具链,各有适用场景。阐述核心指标、行业趋势、面临挑战,对比各方案优劣,给出选型建议及最佳实践,还解答常见问题,助力企业做好数据库压测。
|
4月前
|
存储 机器学习/深度学习 人工智能
大模型微调技术:LoRA原理与实践
本文深入解析大语言模型微调中的关键技术——低秩自适应(LoRA)。通过分析全参数微调的计算瓶颈,详细阐述LoRA的数学原理、实现机制和优势特点。文章包含完整的PyTorch实现代码、性能对比实验以及实际应用场景,为开发者提供高效微调大模型的实践指南。
2606 2
|
存储 人工智能 自然语言处理
ACE++:输入想法就能完成图像创作和编辑!阿里通义推出新版自然语言驱动的图像生成与编辑工具
ACE++ 是阿里巴巴通义实验室推出的升级版图像生成与编辑工具,支持多种任务,如高质量人物肖像生成、主题一致性保持和局部图像编辑。
881 8
|
算法 计算机视觉
非极大值抑制详细原理(NMS含代码及详细注释)
非极大值抑制(Non-Maximum Suppression,NMS)详细原理(含代码及详细注释)
2788 1
非极大值抑制详细原理(NMS含代码及详细注释)
|
JavaScript 持续交付 开发者
package.json 和 package-lock.json
`package.json`和`package-lock.json`文件共同协作,为Node.js项目提供了可靠的依赖管理机制,确保项目在不同环境下能够稳定运行和顺利构建。在项目开发和维护过程中,正确理解和合理使用这两个文件对于管理项目依赖、保证项目的稳定性和可维护性至关重要。
573 1
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
前言 最近开始接触到基于DDS的这个系统,是在稚晖君的机器人项目中了解和认识到。于是便开始自己买书学习起来,感觉挺有意思的,但是只是单纯的看书籍,总会显得枯燥无味,于是自己又开始在网上找了一些视频教程结合书籍一起来看,便让我对ROS系统有了更深的认识和理解。 ROS的发展历程 ROS诞生于2007年的斯坦福大学,这是早期PR2机器人的原型,这个项目很快被一家商业公司Willow Garage看中,类似现在的风险投资一样,他们投了一大笔钱给这群年轻人,PR2机器人在资本的助推下成功诞生。 2010年,随着PR2机器人的发布,其中的软件正式确定了名称,就叫做机器人操作系统,Robot Op
666 14
|
图形学
【制作100个unity游戏之23】实现类似七日杀、森林一样的生存游戏3(附项目源码)
【制作100个unity游戏之23】实现类似七日杀、森林一样的生存游戏3(附项目源码)
191 0
什么是 QAM?它是如何工作的?
【4月更文挑战第15天】
3713 5
什么是 QAM?它是如何工作的?
|
存储 弹性计算 监控
Elasticsearch 日志监控方案
Elasticsearch 日志监控方案 -- ElastAlert,Watcher
1382 0
Elasticsearch 日志监控方案
|
图形学 缓存 算法
掌握这五大绝招,让您的Unity游戏瞬间加载完毕,从此告别漫长等待,大幅提升玩家首次体验的满意度与留存率!
【8月更文挑战第31天】游戏的加载时间是影响玩家初次体验的关键因素,特别是在移动设备上。本文介绍了几种常见的Unity游戏加载优化方法,包括资源的预加载与异步加载、使用AssetBundles管理动态资源、纹理和模型优化、合理利用缓存系统以及脚本优化。通过具体示例代码展示了如何实现异步加载场景,并提出了针对不同资源的优化策略。综合运用这些技术可以显著缩短加载时间,提升玩家满意度。
1774 6