中文题目与文献信息
中文题目:使视觉—语言—动作模型以实时速度运行。
- **作者:**Yunchao Ma、Yizhuang Zhou、Yunhuan Yang、Tiancai Wang、Haoqiang Fan;Dexmal、StepFun。
- **版本:**arXiv:2510.26742v1,2025-10-30,上传PDF共11页。
- **核心贡献:**围绕 的实际计算图,结合CUDA Graph、等价图变换、矩阵乘法调优和算子融合,将单张RTX4090的双视图推理做到27.3 ms,并用接住下落笔的实验验证端到端时序。
- **必须区分的两层成果:**30 FPS级完整视觉推理及10次接笔实验是已测结果;480 Hz动作专家调度有计算测量支持,但完整480 Hz力反馈控制、渐进动作块算法和三层闭环属于本文提出的设计框架,论文明确省略其完整实现。[1,§3—7;2]
1. 研究问题:模型规模与实时性是否必然冲突
论文面对的不是“如何重新训练更小策略”,而是现有大模型推理中多少时间来自可消除的系统开销。对30 FPS相机,一个完整模型若稳定在约33.3 ms内完成,就有可能处理每个到达的视频帧;若超过帧间隔,系统必须丢帧或积累队列,从而增加事件反应延迟。作者以此为工程目标,优化 的视觉编码、语言主干和动作专家。[1,§1—2]
这里“可能处理每一帧”依赖稳定调度和其他开销也受控。模型平均27.3 ms不等于每次从曝光到动作都只耗时27.3 ms:相机ISP、传输、预处理、排队、执行器运动同样影响闭环。论文的接笔实验特别测量了约两帧相机延迟和约60 ms夹爪动作时间,正是对这个区别的直接体现。[1,§7]
2. 模型结构与计算图的阅读方法
基础模型以PaliGemma为视觉语言主体,包含SigLIP视觉编码器和Gemma语言模型;动作专家约300M参数,用流匹配从噪声生成动作块。视觉和语言先产生KV缓存,动作专家随后重复使用缓存完成多步去噪。本文主要计时条件为10步流匹配、63步动作块、空语言提示,动作/状态补齐到32维。[1,§2、图4、表1—2]
**图4不是新的策略架构。**它把 现有前向拆成视觉、语言和动作专家三列,展示张量形状、矩阵乘法、归一化、残差和激活。双视图224×224输入经编码得到512个视觉token;动作专家的63个动作token加上状态token形成64个位置。图中“27×”“18×”“10×”等表示网络层或去噪迭代的重复次数,不是机器人执行时间步。[1,图4]
利用这张图,可以区分三类计算:视觉/语言前缀每次完整推理计算一次;动作专家的层计算随去噪步骤重复;只与固定权重、固定形状或固定去噪时刻相关的量可以预先处理。论文把重复单元归纳为24类GEMM及相关标量操作,而不是说整个模型总共只调用24个算子。[1,§4、表2]
3. 第一层优化:消除Python与调度开销
普通PyTorch前向由Python逐次启动CUDA kernel,整个模型包含大量小操作和上千次矩阵/相关计算,CPU提交开销占比显著。CUDA Graph将固定的GPU操作序列与缓冲区记录下来,之后重放,减少每轮Python解释和单独调度开销。它要求图结构和关键内存地址稳定;任意改变输入形状、动态分支或重新分配缓冲区,可能破坏这一假设。[1,§3.1]
图2中,单视图朴素PyTorch约105.0 ms,加入CUDA Graph后约43.5 ms;双视图106.5 ms降至45.8 ms;三视图113.9 ms降至53.9 ms。这说明相当一部分慢来自实现方式,而不是模型数学计算本身。但这一比较的起点是作者的朴素实现,不能直接将这部分收益泛化为任意已优化框架的可获得收益。[1,图2]
4. 第二层优化:等价变换计算图
4.1 折叠RMSNorm中的可学习缩放
RMSNorm含输入相关的归一化和可学习逐维缩放。可将后者吸收到下一线性层权重,例如 ,减少逐元素乘法与中间存储。**RMS归一化本身仍然依赖输入,不能整体称为线性操作而删除。**这里可折叠的是固定仿射参数。[1,§3.2、图3]
4.2 折叠动作与时间嵌入
动作先经线性投影,再与时间编码拼接后进入另一个线性层;在中间没有非线性的支路上,可预先相乘权重,合并线性变换。固定10个去噪时刻的时间支路输出还可预计算成表,并折叠到SiLU之前的偏置项。这样既减少kernel启动,也减少乘加量,但换去噪时刻表时必须同步更新预计算量。[1,§3.2、图3]
4.3 合并QKV及相关操作
将Q、K、V三次投影合成一次大矩阵乘法,再按列拆出结果;固定位置编码相关量可预计算,RoPE操作可与矩阵计算结合。另一个结构性节省来自VLM最后一层:如果下游仅使用该层KV,而不使用最终隐藏输出,就不必执行对后续无贡献的末层注意力和前馈分支。作者报告这部分额外节省约0.7 ms。[1,§3.2、§4.1]
这些改写在实数运算层面可等价,但BF16浮点数的结合顺序会影响舍入误差。复现时仍应以相同输入和初始噪声比较动作差异,并检查闭环任务表现,不能只以“公式等价”代替数值验证。
5. 第三层优化:矩阵乘法、访存和算子融合
GEMM性能取决于矩阵形状、分块大小、寄存器、共享内存及SM利用率,库默认配置未必对所有VLA矩阵最优。作者用Triton手工调节tile,保留某些已经足够快的PyTorch注意力实现,并非把所有操作一律重写。单纯GEMM调优约节省1.5 ms。[1,§4.1、表2]
门控FFN可将两路上投影共同加载输入,再融合激活、逐元素门控和写回,减少中间结果读写。偏置、残差、激活也可合并到矩阵乘法末端;RMS统计量预先保存,随后融合使用。作者还讨论了特殊矩阵形状下的partial split-k:用不同划分改善尾部block的SM分配。不过相关单项收益不到0.1 ms,其价值在于展示具体矩阵与硬件共同决定优化策略。[1,§4.2—4.4]
双视图完整结果中,视觉编码约4.059 ms、语言部分12.503 ms、动作专家11.001 ms,合计27.299 ms。各部分瓶颈不同,因此不能从“Transformer都一样”推断一套kernel配置适合所有阶段。[1,表2]
6. 速度结果及“理论下界”的准确含义
6.1 完整前向的实测比较
以下结果均来自原论文表1,单张RTX4090,空提示、63步动作块。[1,表1]
| 实现 | 1视图 | 2视图 | 3视图 |
|---|---|---|---|
| 朴素Torch | 105.0 ms | 106.5 ms | 113.9 ms |
| OpenPI/JAX | 43.8 ms | 53.7 ms | 67.6 ms |
| 本文优化 | 20.0 ms | 27.3 ms | 36.8 ms |
双视图相对JAX约1.97倍,相对朴素Torch约3.90倍;三视图36.8 ms未达到30 FPS的33.3 ms间隔。因此“多视图30 Hz”应结合实际视图数量、提示长度、动作块形状和硬件说明。官方仓库还公布了非空提示等条件的后续计时,不能把它们与本论文表格混作同一设置。[1][2]
6.2 Roofline分析
对矩阵乘法 ,论文采用
第一项只计BF16权重读入,假设激活及输出主要可驻留L2;第二项按乘加能力估计。注意 是每秒乘加数,与常把一次乘加记作两次浮点运算的FLOPS口径不同,不能把单位直接互换。[1,§5.1]
作者根据GPU实际提升频率估计算力,并把多算子成本加总,加上同步开销后得出1/2/3视图13.7/20.6/27.6 ms的下界估计。它建立在缓存、并行性和阶段瓶颈假设上,是实现空间的性能模型,不是对所有可能编译器和算法变换的无条件数学下界。作者自己也讨论了连续算子可能重叠、直接加总需谨慎。[1,§5]
软件barrier微基准虽降低同步开销,但实际融合因寄存器、共享内存和代码规模代价而产生负收益,因此未作为主实现加速手段。这一点说明微基准更快不自动意味着完整模型更快。[1,§5.2]
7. Full Streaming Inference与“渐进式动作块”
7.1 从10步串行去噪到并发调度
视觉/语言主要计算受限,动作专家较受访存限制。作者用两个CUDA stream,允许VLM计算新视觉缓存时,动作专家复用旧缓存继续工作。双视图计时为:顺序VLM+10次AE为27.3 ms;并发VLM+10次AE为26.3 ms;并发VLM+16次AE为32.7 ms。因此,在约30个视觉周期/秒内,计算上可以容纳约 次AE更新。[1,§6.1]
这里一次AE更新通常只是一次去噪网络调用,不是标准10步去噪生成完一个独立动作块。**480次AE调用/秒、480个轨迹采样点/秒、480 Hz闭环控制是三个不同概念。**插值可以增加轨迹点密度,但不能让传感器产生更快的新信息;真正高频闭环还要求新信号进入策略并在有限延迟内改变实际输出。[1,§6.2]
7.2 渐进动作块的含义与未完成部分
标准flow matching在整个动作块去噪完成后一次输出。作者设想改为逐渐生成可提交的局部动作,每次AE更新既接收新高频信号,也调整尚未提交的未来动作;带时间戳的轨迹缓冲区持续向控制器输出,已经被取走的动作不再修改。[1,§6.2]
可以把它理解为:较近动作较早达到可执行条件,较远动作继续被后续计算修正;新传感器输入不必等待整个视觉主干重新计算。可是本文没有给出完整的逐位置噪声日程、训练目标、动作提交判据或轨迹融合规则,并明确说融合细节与完整实现留待后续工作。因此不能把这个概念图写成已经实证的“每步去噪天然输出一个正确新动作”,也不能用自拟公式冒充论文算法。[1,§6.2、§6.4]
7.3 图5中的三类反馈
图5是系统设计图:视觉编码与VLM约30 Hz更新KV缓存;AE利用最新可用缓存及力/触觉等高频信号更新轨迹;文本流以较低频率承担任务交互或推理。作者设想将文本token计算附带在重复的VLM权重读取上,形成约30 token/s的文本生成,再以更低任务频率使用文本结果。[1,§6.2—6.4、图5]
高频力环的“约2 ms”、视觉环的“约1/30 s”均是框架中最有利条件下的反馈设想,不包含所有传感器、队列与执行器延迟;本文没有给出真实480 Hz力反馈操控成功率。与图4相比,图4是已优化模型的实际计算结构,图5是作者据此提出的流式控制扩展。
8. 接住下落笔:实验说明了什么
上下两个夹爪竖直对齐,上夹爪释放笔,下夹爪需要在合适时刻闭合。相机看见下夹爪和笔,但看不到上夹爪,避免直接读取释放动作。笔约下落30 cm,夹爪闭合约60 ms;30 FPS、720P USB相机约有两帧延迟。通过改变夹持位置和轻微调整相机姿态增加变化。[1,§7.1]
作者采集600个episode:示范中下夹爪在上夹爪释放后200 ms闭合,再把记录转成每个时间位置的1维夹爪状态轨迹。网络输入“当前帧+上一帧”,利用时间差提供速度线索,语言提示为空。训练沿用OpenPI,仅描述训练少量epochs,没有提供充分的多任务泛化评估。[1,§7.1—7.2]
推理系统分为相机、推理、输出线程:相机帧进入带时间戳的环形缓冲区,推理读取最新帧并写入未来状态缓冲区,输出线程按时间取相应动作。作者预热GPU后进行10次连续测试,10次均抓住笔,即报告的100%成功率。[1,§7.2—7.3]
这10次试验支持“这样的大模型系统可以满足该装置的反应时间”,但不是高统计置信度的开放环境可靠性证据。作者也承认任务在学习上很简单,小型网络甚至传统方法可能同样完成。它不是6DoF机械臂动态追踪、碰撞后再抓取或跨对象语义泛化的证明。所谓与人相当的反应速度也来自有限演示,不应当作严格的人类对照实验。[1,§7.3]
9. 对本项目的意义与复现要求
本文说明,在讨论剪枝、压缩或异步前,首先应测量纯模型计算、Python调度、图像处理、网络和执行器延迟。若开销主要来自软件实现,大量性能可能通过保持原策略能力的图优化获得;若传感器本身延迟超过100 ms,仅把模型从50 ms加速到30 ms仍无法实现20 ms视觉反应。
官方仓库提供 权重转换、Triton推理与benchmark,后续还加入 及其他模型支持。仓库在2026年已有进一步更新,复现上传论文时应固定提交和原始计时条件;本总结不把这些后续更新混入2025年结果。[2]
具体应核查形状、提示长度、去噪步数、BF16精度、显卡实际频率、预热、GPU同步计时、相同随机噪声下的输出差异,以及完整事件时间戳。CUDA Graph与高度固定形状的kernel在更换相机数量、动作块长度或模型版本时需要重新适配。本文没有执行仓库代码或本地性能测试。
相对RTC,本文首先缩短前向计算时间;相对FLASH,它仍运行完整模型,只是更高效;相对DynamicVLA,它没有以大规模动态数据和专门模型设计解决动态理解。对项目中的动态VLA系统,可把它作为底层推理优化基础,再分别研究观测时序、动作块衔接和动态任务训练。
参考来源
[1] 上传原文:Ma et al. - 2025 - Running VLAs at Real-time Speed.pdf,arXiv:2510.26742v1;PDF第2—6页工程优化,第6—8页Full Streaming Inference,第8—9页接笔实验;重点为图2—5、表1—3、§6.4的实现范围声明。官方链接 。
[2] 作者官方仓库,核对日期2026-10-09:官方链接 。其README包含后续支持模型和性能更新,本文主要实验数值均按上传论文版本。