一篇新提交到 arXiv 的論文《Full-Weight VLA Fine-Tuning Without an fp32 Master Copy Silently Erases Most Updates》(作者 Shubham Singh)指出,視覺-語言-動作(VLA)模型在微調過程中存在一個容易被忽視、卻影響顯著的數值精度問題:當可訓練權重以 bfloat16(bf16)儲存、且不保留 fp32 主副本時,最佳化器 AdamW 會把每次更新直接寫入 bf16,凡小於權重值 1/512 的更新都會被靜默舍入掉,相當於沒有生效。
作者對開源生態做了系統排查。在 12 個公開 VLA 程式碼庫中,有 9 個的預設配置或文件給出的訓練配方採用了這種不含 fp32 主副本的訓練方式,其中 4 個把該方式用於完整的權重矩陣,包括 LeRobot 的 SmolVLA 預設設定以及其 π0 和 π0.5 使用指南。這說明問題並非個別專案的疏漏,而是廣泛存在於主流工具鏈之中。
實驗層面,作者在 LIBERO 基準上執行了不帶 fp32 副本的微調,並每 100 步對權重更新做一次探測,結果顯示至少 79% 寫入 bf16 權重的更新被抹除,絕大多數訓練訊號實際上沒有落到模型引數上。這一現象在訓練日誌和損失曲線上很難被察覺,因此屬於“靜默”失效。
論文還考察了模型分享平臺的現狀。在 Hugging Face Hub 上抽樣的全權重 SmolVLA 微調模型中,99% 把動作專家以 bf16 形式儲存;在近期設定了訓練配置的 π0.5 微調中,84% 開啟了 bf16 標誌。這意味著大量公開可用的微調成果可能都帶有同樣的精度損失。
為了量化影響,作者預先固定了評估規則,在 LIBERO-Object 任務上比較有無 fp32 主副本的差異。在兩者都尚未充分訓練、學習率低十倍的設定下,fp32 副本把 SmolVLA 的成功率從 LeRobot 儲存方式的 4.3% 提升到 49.3%,把 π0.5 的成功率從 5.1% 提升到 80.9%。在 π0.5 的預設學習率下,成功率也從 89.0% 提升到 97.7%。對於 SmolVLA 的預設學習率,若採用開環的 50 動作塊執行,提升約 10.2 個百分點;若每 10 個動作重新規劃一次,提升縮小到 4.2 個百分點。
統計上,在包括上述五次比較在內的七組對照(另兩組對比的是所有可訓練權重均為 bf16 的 SmolVLA)中,每一個保留 fp32 副本的執行都優於對應的無副本執行,顯著性水平 p < 0.05。除 8.7 點和 4.2 點兩處差距外,其餘差距都超過了作者設定的 10 個百分點閾值。
作者給出的修復方案非常簡單:訓練期間把可訓練權重保持在 fp32。對 LeRobot 中的 SmolVLA 而言,這隻需改動一行程式碼。考慮到這一設定對最終策略成功率的影響可達數十個百分點,論文建議 VLA 微調實踐者和模型釋出者重新審視預設的精度配置,並在釋出微調權重時明確說明訓練過程中是否保留了 fp32 主副本。