大数跨境

匠心时刻丨StarVLA x 昇腾,共筑具身智能训练开发生态

匠心时刻丨StarVLA x 昇腾,共筑具身智能训练开发生态 昇腾AI开发者
2026-07-23
1


刚刚落幕的WAIC 2026标志具身智能迈入产业落地关键期,VLA模型的端到端架构已从演示Demo比拼转向真实工况量产验证,但VLA模型研发仍面临工程碎片化、难复现、难对比等共性瓶颈,主打「乐高式插拔架构」的StarVLA具身智能训练框架应运而生。StarVLA训练框架集成多种VLM、动作解码范式、训练策略和评测基准,允许开发者通过修改配置文件灵活组合不同组件,提高开发效率。昇腾团队已完成一系列对StarVLA框架的昇腾适配、精度对齐与性能优化工作,原生合入StarVLA开源社区,为基于NPU高效训练与部署具身智能提供完整的参考。


StarVLA介绍


StarVLA是由香港科技大学联合开源社区团队在2025年10月推出的开源项目(网址链接:https://github.com/starVLA/starVLA),开源以来已获得GitHub Star超3000次,Fork 400余次。


StarVLA抽象出了一个统一的、乐高式的VLA实验框架,把市面上最主流的动作解码范式、训练策略、评测基准全部集成到同一个模块化系统中,让研究者可以像拼积木一样更换组件,在完全公平的条件下进行消融和对比,如各类基模和动作解码范式的不同组合带来的性能差异等。



核心技术亮点


StarVLA框架下可自由拼接不同动作头、VLM/WM的backbone、对接不同的评测平台等,极大提高易用性,仅修改yaml配置就可以进行不同的组合。


StarVLA 框架将计算图分为两层:



Backbone:负责多模态编码。可以是Qwen3-VL等指令微调VLM,也可以是Cosmos-Predict2等世界模型,只需一个轻量适配层,就能把任意backbone接入统一的表示。VLM backbone架构相对简单,能利用其语义优势,将多模态输入转为隐向量,让模型理解当前状态进而决策;世界模型backbone则可以在分析当前状态的同时进行未来状态的预测,引入物理因果性来为下游决策提供更多信息,但其架构相对更加复杂,对训练数据的要求也更高。


Action Head:接收backbone输出的特征,负责生成动作。框架内置了四种代表性动作头,支持连续、离散以及Flow Matching的动作生成。


这种“双向模块化”意味着:想对比“Qwen vs. Cosmos作为 backbone”时,只需换几行配置;想对比“连续回归 vs. 流匹配”时,也只需换配置。这种设计从根本上消除了跨方法对比时的隐性变量干扰,对从业者来说极其友好。


StarVLA内置四种最具代表性的动作解码范式,只需简单修改配置文件就能轻松切换:



四种动作解码范式总览图如下:



适配昇腾NPU和性能优化
训练性能提升59%


StarVLA已于六月合入了第一个昇腾NPU适配改动PR#336(链接:https://github.com/starVLA/starVLA/pull/336),成功在昇腾上支持了Qwen系列backbone的VLA模型训练。


在经过host bound、计算耗时(融合算子、索引等)、快慢卡及多节点线性度优化后,Atlas 800T A3上基于QwenOFT +RoboTwin数据集训练吞吐是业界设备的2.4倍多。为提高易用性,当前除环境变量外相关优化的使能已集成至DrivingSDK仓库的Patcher功能内,仅需两行代码即可全部生效。昇腾上的环境搭建及性能优化后的使用样例指导链接为:

https://gitcode.com/Ascend/DrivingSDK/tree/master/model_examples/StarVLA


通用环境变量优化


模型开箱性能不及预期,free time和未掩盖通信占比约34%,存在较严重的host bound现象。通过应用部分通用环境变量,将free time和未掩盖通信的耗时从434ms降至300ms,模型训练单步吞吐提升约26.2%。具体操作如下:


使能二级流水,优化算子下发效率与掩盖效果:

export TASK_QUEUE_ENABLE=2


开启粗粒度绑核,避免不同卡任务之间的线程抢占:

export CPU_AFFINITY_CONF=1


启用内存池的扩展段功能,减少内存碎片,提升内存利用率:

export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True


计算耗时优化


基于模型负载分析,识别到RMSNorm、RoPE、Attention、AdamW、Index模块和算子存在性能瓶颈,使用昇腾亲和算子进行优化,减少小算子拼接。成功将Vector耗时从458ms降至246ms,整体计算从844ms降至583ms,模型训练单步吞吐提升26%。



快慢卡问题优化


不同卡间通信等待耗时不均比较严重,存在快慢卡问题,识别到用于插值处理的_upsample_bicubic2d_aa算子均在CPU上计算,可能存在资源抢占问题,优化后模型训练单步吞吐提升12.1%。



多节点线性度优化


在实验过程中双节点线性度仅93%,定位后发现每张卡都多出来了60ms左右的未掩盖通信,且均为反向后同步所使用的all gather算子引入,因此尝试使能HCCL零拷贝,让HCCL的数据读取从访问中转的Buffer转为直接访问内存,以减少内存拷贝开销。使能后该算子耗时从约133ms缩减至约45ms,双节点线性度提升至98.2%,四机约96%,且单节点模型训练单步吞吐也进一步提升了约2.4%。



端到端性能收益


优化前后单节点Atlas 800T A3上训练性能对比如下表,同配置下端到端性能提升约59%:



结语


StarVLA架构设计较为轻便简洁,对底层硬件松耦合,能很好地兼容NPU:在模型架构上,StarVLA内模型构建所依赖三方库主要为transformers,其大多数模块如flash attention等均已原生支持NPU,Qwen系列模型均无算子断点,也可以使能很多NPU通用优化;在训练后端上,StarVLA基于DeepSpeed框架,对AI设备依赖程度不高。


总的来看,StarVLA是一个非常适合开展科研项目工作的平台。当前也有很多工作基于StarVLA框架开展,且其已经与RLinf开展合作,通过RLinf来为其提供RL能力,我们期待与社区一起,未来持续观望并跟进领域内最前沿的技术。


StarVLA GitHub官方仓库:

https://github.com/starVLA/starVLA


基于昇腾的使用样例:

https://gitcode.com/Ascend/DrivingSDK/tree/master/model_examples/StarVLA


【声明】内容源于网络
0
0
昇腾AI开发者
昇腾社区
内容 983
粉丝 0
昇腾AI开发者 昇腾社区
总阅读5.6k
粉丝0
内容983