作者:华为昇腾技术专家 靖深进 项羽铭

前言

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

图片 1.png

核心技术亮点

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 内置四种最具代表性的动作解码范式,只需简单修改配置文件就能轻松切换:

1.png

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

图片 2.png

适配昇腾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%

图片 3.png

快慢卡问题优化

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

图片 4.png

多节点线性度优化

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

图片 5.png

端到端性能收益

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

f2cf8ab8-f60e-45ea-83cb-d29f9cb2a16a.png

结语

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


「免责声明」:以上页面展示信息由第三方发布,目的在于传播更多信息,与本网站立场无关。我们不保证该信息(包括但不限于文字、数据及图表)全部或者部分内容的准确性、真实性、完整性、有效性、及时性、原创性等。相关信息并未经过本网站证实,不对您构成任何投资建议,据此操作,风险自担,以上网页呈现的图片均为自发上传,如发生图片侵权行为与我们无关,如有请直接微信联系g1002718958。 

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐