LoRA(Low-Rank Adaption,低秩适配)就是冻结大模型原有参数,只训练少量新增的低秩参数,比较低成本实现模型微调的技术、

优势:

  1. 显存占用更低:不需要为原始权重保存训练用梯度和优化器状态
  2. 训练成本更低:需要更新的参数数量大幅减少
  3. 易于切换任务:可以针对不同的任务训练不同的LoRA适配器
  4. 方便部署:训练完成后,可以讲LoRA权重合并到原始模型中。

容易混淆的概念:

概念回答的问题
后训练模型预训练完成后,继续怎样改善它?
监督微调 SFT用“输入+标准答案”的示范教它做任务
LoRA训练时,具体更新哪些参数?

LoRA的核心超参数:

参数名称含义常见配置
r矩阵的秩(Rank)8、16、32、64
lora_alphaLoRA更新量的缩放系数16、32、64
lora_dropoutLoRA分支的Dropout概率0、0.05、0.1
target_modules指定应用LoRA的网络层q_proj、v_proj等
scaleLoRA更新原始权重的缩放比例scale =lora_alpha/rank

q_proj:Attention的Query投影 k_proj:Attention的Key投影 v_proj:Attention的Value投影 o_proj:Attention的输出投影

参数控制对象曲线上的表现
Batch Size每批参与计算的样本量影响梯度噪声和曲线波动
Iterations训练迭代的总次数决定横轴上训练到哪里结束
Learning Rate优化参数更新的步长尺度影响收敛速度和稳定性

简单解释:1000条样本数据,Batch Size = 4,Iteration = 250, 才能训练完所有数据,250次迭代完成才能遍历完所有数据,称为一个Epoch(训练轮次),一个Epoch指训练集被完整遍历一次。

Optimizer核心算法优化器状态内存主要特点
SGD直接沿梯度方向更新低结构简单,但对学习率较敏感
Adam一阶、二阶矩估计较高自适应调整各参数的更新幅度
AdamWAdam + 解耦权重衰减较高增加独立的权重正则化机制
Muon动量 + 矩阵正交化通常低于 Adam利用矩阵结构计算更新方向
Adafactor分解式二阶矩估计较低减少优化器状态的内存开销

Loss Function决定优化什么,Gradient提供了损失函数对参数变化的局部敏感信息和方向信息,Optimizer决定如何利用提供更新参数。