外观
踩坑GitHub openvla/openvla6 个月前
OpenVLA LoRA微调Libero Spatial成功率0%及模式崩溃修复
本文由 AI 根据公开内容整理,可能有误,请以原文为准:LoRA finetune on Libero Spatial yields 0% success rate(GitHub openvla/openvla #299)
状态:已解决
问题
使用OpenVLA对Libero Spatial数据集进行LoRA微调后,模型评估成功率为0%。表现为机械臂末端执行器动作异常、掉落或输出恒定token导致模式崩溃,训练Loss曲线出现尖峰。即使验证了数据集转换正确且官方预训练权重在同一环境可达75%成功率,自训模型仍完全失效。
环境
OpenVLA框架,Libero Spatial / libero_spatial_no_noops数据集,LoRA微调脚本vla-scripts/finetune.py,ARM64/GH200硬件,osmesa渲染环境。
解决办法
- 定位根因为
vla-scripts/finetune.py在optimizer.step()前缺失梯度裁剪,导致异常batch产生未钳制梯度永久损坏LoRA权重。 - 在优化器步进前添加代码
torch.nn.utils.clip_grad_norm_(trainable_params, max_norm=1.0)。 - 应用该修复(参考PR #334)后重新训练,训练Loss收敛正常,Action准确率提升至0.82,Libero Spatial评估成功率从0%恢复至72%。
讨论原作者:@Lastsource 等,版权归原作者所有。
来源
本页事实对应的公开页面,以原文为准。