当前位置: 首页 > news >正文

Galaxea G0.5 模型解析:从VLA-0到统一自回归序列的实践与思考

Galaxea G0.5 模型解析:从VLA-0到统一自回归序列的实践与思考

先说结论

  • VLA-0以纯文本形式输出动作(如“550 380 500”),证明不经架构修改即可达到强基线,掩码增强是防止模型盲目续写的关键。

  • G0.5通过残差向量量化将异构机器人动作映射到共享词表,并只预测活跃部件,显著降低解码负担。

  • 原生思维链将子任务、目标框、轨迹与动作交错生成,在复杂操作中提升指令遵循,但测试时需固定模板以避免不稳定。

从从业者视角看,自回归VLA的价值不在技术新奇,而在于用最简单的方式保留VLM预训练能力,本文分析其设计取舍与实际部署的边界。

如果你关注过机器人VLA的进展,一定对“VLM作为编码器 + 扩散动作头”组合不陌生——π0、π0.5、GR00T N1都走这条路。但它有个隐忧:VLM只输出压缩后的条件,推理能力藏在瓶颈里;动作专家梯度反向传播还容易污染语言能力,逼出“知识隔离”这类补救。

那如果反过来呢?让VLM直接输出动作,用同一套权重搞定推理和控制?

Galaxea G0.5 就是这种思路的集大成者。而它最有趣的起点,是NVIDIA一个叫VLA-0的小实验——没改任何模型结构,只用文本数字串当动作,就在LIBERO上超过了带复杂动作头的方案。这给了业界一个信号:自回归路线不是瓶颈,关键是怎么让token生成更高效。

从VLA-0说起:自回归路线被低估了吗

VLA-0的配方简单到让人怀疑:把连续动作(比如7维关节角度)映射到[0,1000]的整数,以空格分隔的文本字符串输出。没有新token,没有新层,就用预训练VLM的文本生成能力。

它能work的核心有三点:掩码动作增强(随机遮住部分数字,强迫模型看图说话)、时序集成预测(每一步预测未来N步,取平均消抖)、以及直接用文本天然的高精度(1000个格子足够覆盖大部分场景)。

但VLA-0有个硬伤:每个时间步都要生成一大段数字,控制频率一高,token数暴涨。拿7维动作、预测步长H=10来说,一次生成70个数字token,在高频控制场景(比如揉面团)根本跑不动。

这就是G0.5要解决的核心问题:不放弃自回归的简洁,但要解决效率问题。

G0.5的设计核心:动作分词与稀疏预测

G0.5的做法是“结构化分词”。它不把动作压平成一堆数字,而是按照机器人本体拆成部件:左臂、右臂、下半身。每个部件先映射到共享维度(比如左臂9维+夹爪1维),再用残差向量量化(RVQ)压缩成紧凑的离散编码。

关键是“只预测活跃部件”。比如只动左臂时,右臂的token组直接从序列中移除,不产生无效tokens。这在双臂任务中能省将近一半的token量,同时保留对每个部件的精确控制。

对比π0的做法:把所有机器人填充到18维联合状态,动作空间固定但浪费了不少维度。G0.5的稀疏设计更贴近实际——大部分时间只有少数关节在动。

分词器是跨载体共享的。新加一种机器人形态,不需要重新训练tokenizer,只需要按<left_control>(9) | <left_gripper>(1) …的布局填充即可。这对多形态数据混合训练非常友好。

原生思维链:让推理成为动作的一部分

G0.5最吸引人的设计是“CoT和动作共用一个解码器”。训练时随机从8种CoT格式中采样:子任务文本、目标框、2D轨迹、动作提示等。这些推理token和动作token在同一个序列中交错生成。

好处很明显:底边推理结果可以直接喂给后续动作生成,没有模块间的瓶颈。比如模型先输出“子任务: 抓住毛巾角”,再输出BBox框定位毛巾,然后直接生成动作数字。整个过程端到端,且推理阶段的错误可以被自回归的上下文接力修正。

但代价是测试时的稳定性。如果CoT格式不固定,模型可能会啰嗦或跳步骤。所以评估时统一用无CoT格式,推理能力只是隐式增强。如果要部署,通常需要在系统提示里明确指定CoT开关。

视觉记忆与训练细节

复杂操作任务是非马尔可夫的:被遮挡时你需要知道几秒前手在哪。G0.5在所有视觉transformer层中每隔4层插入可分离时空注意力,处理5秒内的6帧历史观测。训练时随机丢弃30%历史帧作为正则化。

算下来训练成本不低:120K步,使用AdamW,基础学习率1e-5,预热4000步后恒温到92%再余弦衰减。数据混合中VQA和动作样本按1:4配比,总计约1亿条通用VQA + 5000万具身VQA + 500万内部标注。

如果你只能拿得动小数据,千万别直接冲这个规模。对于个人开发者或小团队,更实际的做法是先拿VLA-0的简化版验证概念:用现成VLM + 纯文本动作输出,自己加个掩码增强,在小场景上跑通,再考虑引入结构分词。

部署视角:适用边界与代价

G0.5的定位是“预训练基础模型”,不是“拿来就用”。如果你要跑在自己的机器人上,有三件事绕不开:

  1. 动作归一化:每个数据来源的数值范围可能不同,需要单独算z-score或分位数缩放,全局统一预处理会崩。
  2. CoT模板选择:测试时用哪种格式需要实验决定,草率用子任务文本可能让模型花太多token在推理上,导致动作输出延迟。
  3. 推理速度:虽然稀疏预测缓解了token膨胀,但单次生成几十个token仍然比扩散头慢一个数量级。如果追求高频控制(>50Hz),还是得用可选的那个flow-matching头做加速。

作者保留了一个flow-matching头作为可选项,这本身就是一种权衡——复杂但快,简单但慢。

如果你问我个人更倾向哪条路?对于50%以上“观察-推理-执行”型任务(如桌子清理),我会优先选纯自回归,因为推理能力能直接用上;对于纯重复运动(如螺丝拧紧),扩散头更省心。

最后留个问题

现在有一个折中方案:将G0.5的自回归部分作为采样器,只在关键帧用CoT,中间帧用动作平滑插值。这会损失精度但大幅提升速度。你觉得这种混合策略值得尝试吗?

最后留一个讨论点

如果你要部署一个VLA模型做家庭服务,你会选择G0.5这样的纯自回归路线(简单但可能高频慢),还是保留一个可选的flow-matching头做加速?二者的适用场景如何划分?

http://www.cnnetsun.cn/news/2820293.html

相关文章:

  • 30张实拍舰船图+XML/TXT双标注,开箱即用YOLOv5训练
  • 安装KVM服务器、使用libvirt tools工具管理虚拟机
  • 从uint64_t的typedef源码,看懂C语言如何为不同平台(32/64位)定义固定长度类型
  • OPRD:蒸馏不只学答案,还要偷看老师的“脑内活动“
  • 打卡信奥刷题(3369)用C++实现信奥题 P9691 [GDCPC 2023] Base Station Construction
  • 告别CAN的奢侈:一文搞懂LIN总线如何用UART接口搞定汽车低速通信
  • 用两个HC-05蓝牙模块,低成本搭建你的无线PID调参和遥控小车数据链路
  • C#写的CIE1931马蹄图绘制工具,可调画布大小并导出PNG
  • 别再为PLC测试买硬件了!用C#和PLCSIM Advanced V3.0搭建本地仿真环境(附S7NetPlus读写避坑指南)
  • 手写伯努利朴素贝叶斯:从条件概率到对数平滑的完整实现
  • STM32F4/F7上移植SOEM 1.4.0主站:从LAN8720驱动到伺服控制的完整避坑记录
  • 告别手动配IP!用STM32+W5500实现DHCP自动获取网络地址(附完整代码)
  • 给自动驾驶算法工程师的仿真利器:用MATLAB Simulink控制UE4虚拟环境完整流程
  • 8088单板机监控程序解读(四)
  • STM32CubeMX配置FreeRTOS信号量时,这3个坑我帮你踩过了(附避坑指南与调试技巧)
  • 女硬件工程师多吗?
  • Python 3.13 连续迭代,自由线程、JIT 编译器、子解释器三剑齐发
  • 避坑指南:ArcGIS里做IDW插值,你的搜索半径和幂值设置对了吗?
  • 第四周小学期
  • SpringAOP原理和代理模式详解
  • SpeakCoach
  • 实测揭秘:WPS双进程备份机制,内存占用真的高吗?手把手教你手动清理驻留进程
  • VMware网络感叹号?别急着重装!手把手教你修复VMnet1/VMnet8驱动代码31错误
  • 扫描阅卷机支持哪些格式的试卷?
  • 2、K8S网络概述
  • x64汇编案例5
  • SysConfig Device Support 笔记
  • VC6环境下内存直载DLL的完整可运行工程包(含源码、编译成品与测试模块)
  • ToxiTwitch:基于混合模型的Twitch实时聊天毒性检测
  • 新闻语义处理流水线:面向金融NLP的结构化解码与时序锚定