VLA模型微调参数以及对训练的影响
VLA微调(Vision-Language-Action,视觉-语言-动作模型,Fine-tuning):简单来说,就是在已经预训练好的机器人基础模型上,使用特定机器人、任务或环境的数据进行训练,让模型学会新的操作技能,或者适应新的机器人硬件。
微调的方式:主要有Full Fine-tuning全量微调,更新模型的所有参数。LoRA低秩矩阵适配,以及部分层的微调,冻结一部分模块,训练指定层。
Batch Size:指每次用于计算梯度的一批样本数量,通常可以指一步。越大在模型进行训练时对显卡的显存占用越大。
1、小批次(1-8):优点显存需求小,可以增加梯度更新的随机性;缺点梯度噪声更大、GPU利用率可能较低。
2、中(16-64):通常比较均衡。
3、大(128+):梯度比较稳定,批量计算效率高,但是占用显存较高。
Step:通常指的是模型梯度的一次计算,然后进行的优化器参数更新。step太少可能导致模型没有学习到知识,训练不充分,模型没有适应新任务。step过多,可能导致模型过拟合、遗忘预训练能力,泛化性低。
Epoch:表示模型完整遍历训练数据集的次数。一般对于大的数据集来说只需要训练1-3个Epoch,训练过多可能会导致模型的灾难性遗忘,以及过拟合。
三者之间的关系:每个epoch的step = 训练样本数/batch size。
梯度累积Gradient Accumulation:累积小批次的梯度计算,然后合并梯度进行梯度更新。可以在有限显存的情况下实现更大的Batch size。
学习率learning rate:代表根据梯度,模型每个step的参数更新的相对大小。学习率偏大会导致损失loss曲线剧烈振荡,无法收敛。学习率过小会导致loss下降缓慢,模型学习时间长,模型学习新任务慢,一般有专用的优化器,例如AdamW。不同VLA的架构和微调模型的方式不同,会有不同的学习率。
Warmup Step学习率预热步数:Warmup 是指训练初期,学习率从较小值逐渐增加到目标值。它主要解决的是训练刚开始阶段的参数更新不稳定问题,特别是在较大学习率、较大 Batch 或某些全量微调设置下。
梯度裁减Gradient Clipping:当训练时出现偶发梯度尖峰时有用,降低梯度爆炸的风险。
Random Seed:随机训练种子。
Batch size对训练速度的影响:对于相同的总样本数来说,增大batch size 会增大显存的吞吐量,一次性把更多的数据加载进显存,同时更多的数据可能会提升并行计算的效率(取决于显卡计算率),但是显存增大到一定程度之后,计算效率会达到瓶颈,继续增大batch size训练速度增加不明显。但是增大Batch size会减少优化器的更新次数,需要注意。在3090ti、24G显存上测试不同batch size对训练速度的影响,可以看到随着batch size的增大会让训练速度加快,但是越大越不明显,而且存在显存溢出的风险。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)