# OpenVLA LoRA微调Libero Spatial成功率0%及模式崩溃修复

> 原文链接：https://robotics.hellobike.com/pitfalls/2026-04-28-openvla-299
> 频道：pitfalls | 更新日期：2026-04-28 | 标签：auto, github-issue, openvla
> 核心摘要：OpenVLA微调脚本缺失梯度裁剪导致LoRA权重损坏，添加clip_grad_norm_后评估成功率从0%恢复至72%。

# OpenVLA LoRA微调Libero Spatial成功率0%及模式崩溃修复

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[LoRA finetune on Libero Spatial yields 0% success rate](https://github.com/openvla/openvla/issues/299)（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渲染环境。

## 解决办法

1. 定位根因为`vla-scripts/finetune.py`在`optimizer.step()`前缺失梯度裁剪，导致异常batch产生未钳制梯度永久损坏LoRA权重。
2. 在优化器步进前添加代码`torch.nn.utils.clip_grad_norm_(trainable_params, max_norm=1.0)`。
3. 应用该修复（参考PR #334）后重新训练，训练Loss收敛正常，Action准确率提升至0.82，Libero Spatial评估成功率从0%恢复至72%。

讨论原作者：@Lastsource 等，版权归原作者所有。
:::

## 原始参考来源 (Sources)

- [GitHub openvla/openvla #299：LoRA finetune on Libero Spatial yields 0% success rate](https://github.com/openvla/openvla/issues/299)