问题 · §1
推理还没想完,世界已经变了
在有行人走动的环境里按语言指令导航,控制回路要几十 Hz,VLM 推理在机载算力上却要按秒计。论文真机实测(表 3):同一个 1B 模型,一次推理在 RTX 4060 笔记本 GPU 上要 3430.73 ms,在 Jetson Orin NX 上要 4831.73 ms。
论文把已有工作分成三类,认为它们都绕开了这个问题:
- 经典 VLN(R2R、VLN-CE 这一类)把导航抽象成离散视点之间的跳转,本体、动力学和时间都不管。
- NaVid、NaVILA 这类 VLA 依赖大 GPU,推理时往往停下来等结果,在动态环境里不现实。
- 双系统 / 异步 VLA(DualVLN、InternVLA-N1)把慢推理和快控制拆开了,但仍默认语义输出是"新鲜的",等于假设推理延迟可以忽略。
论文的核心论点是:推理延迟不只是工程上的低效,而是一个建模问题。语义描述的是 Δt 秒前的机器人和环境,策略却把它当成当前状态来用。如果训练时不表示这个延迟,按同步监督训出来的策略,部署到真实延迟下会明显退化。
解读"Think-in-Control"在 harness 层面改的是什么
它没有让 VLM 变快,也没有改 VLM 看什么。它改的是控制器看到的语义带不带时间戳:同一份语义特征,附上"生成于 Δt 秒前、此后机器人移动了 Δp",让策略自己决定怎么折算。放在本专题的 Context Architecture 一类里,它是唯一一篇处理"上下文是哪一刻的"这个问题的。
方法 · 全局 · §3.2 · 附录 A
一个 1B 的 VLM 慢慢想,一个 6 层交叉注意力专家快快开
慢系统 · 推理 VLM
- 主干
- InternVL3-1B = InternViT-300M + Qwen2.5-0.5B
- 读
- t−Δt−{9, 6, 3, 0} s 四帧(原始 1920×1080,每帧 256 个视觉 token),指令与历史轨迹
- 出
- <think> 推理文本 </think> + 3 个航点 (x, y, heading),对应未来 3 / 6 / 9 s;也可以只出航点
- 频率
- 仿真(L40S)带推理文本约 0.5 Hz;只做前向取 KV、不解码文本时 4 Hz
接口 · 延迟语义状态
- 语义
- 最后一层 KV cache St−Δt(这次推理整段序列的 K/V)
- 时间
- Δt:从这次推理所看的那一帧到现在过了多久
- 空间
- Δp = (Δx, Δy, Δθ):同一时段里机器人的位姿变化,由两次位姿相减得到(表 14 模拟了里程计漂移)
- 更新
- VLM 每完成一次推理就整体覆盖缓存(式 2)
快系统 · 动作专家
- 结构
- 6 层交叉注意力 Transformer,30 个可学习 query
- 读
- 当前帧 256 个视觉 token、状态 (vx, vy, ωz)、KV cache、(Δt, Δx, Δy, Δθ)
- 出
- 30 步 × (dx, dy, dθ) = 3 s,累加成轨迹,取目标点交给控制器转成 (v, ω)
- 频率
- 10 Hz,从不等 VLM
视觉编码器是共享的:同一个 InternViT 既给 VLM 编码延迟帧,也给动作专家编码当前帧。论文的理由是让两边的视觉表示一致。动作专家拿到的当前帧 token 是 896 维,和语言模型同宽,应是已经过 InternVL 投影层的视觉 token(按维度推断,论文没明说)。
方法 · 延迟语义-控制接口 · §3.2 · 附录算法 3、4
把"这段语义有多旧、这期间我走了多远"一起交给控制器
论文先把延迟定义成系统里的一个变量。有效推理延迟是推理耗时加上"上次推理完成后又过了多久":
VLM 在 t 时刻读的是锚定在 t−Δt 的四帧,输出 ℛt−Δt(场景理解、关键物体、意图预测、航点),航点也表达在推理开始时刻 t−Δt 的机体系里。动作策略的输出:
附录的算法 3、4 写清了运行时的细节,有几处正文没提:
- 每个 10 Hz 时刻先查后台 VLM 任务。完成了,就更新 KV 缓存、文本缓存,以及这次推理开始时记下的步数 kcache 和位姿 posecache。
- 没有正在跑的任务,就立刻用当前可用的帧启动下一次推理,同时记下 (kgen, posegen)。帧不够 9 秒历史时,
SampleFramesAvailable退回到更少的帧。 - Δt = ElapsedTime(k, kcache),Δp = RelativePose(posecache, posek)。两者都从"这次推理看的那一帧"算起,不是从推理完成时算起。
- 第一个 KV 就绪之前,Δ 全部置 0、
kv_ready = False,控制器直接输出 (v, ω) = (0, 0):机器人原地等第一次推理。
拖动推理耗时,看动作生成时拿到的是哪一刻的语义
调度按附录算法 3、4;路线、行人、0.6 m/s 车速是示意
这一步动作专家收到的输入
解读Δt 是锯齿,不是常数
按算法 4,如果一次推理耗时 T、完成后立刻启动下一次,那么新缓存到手时 Δt ≈ T,之后线性增长,直到下一次推理完成时接近 2T 再跳回 T(另有最多 0.1 s 的 10 Hz 取整)。所以策略实际看到的 Δt 在 [T, 2T] 之间来回,平均约 1.5T。这也是训练时把 Δt 采成区间而不是固定值的原因:IL 阶段 U(0, 10) s,RL 阶段注入的延迟平均约 50 步(5 s)。
疑点同一个"effective latency",两处定义不一样
§3.2 把有效延迟定义为 tinfer + telapse,也就是上面那条锯齿。附录"Latency control in simulation"一段则把它定义为"从采集观测到语义可用"的时间,即缓存刚到手那一刻的年龄 T,并说默认设置下平均约 2 s;图 5 的横轴(1–5 s)按的是后一种。正文又说仿真里 VLM 以 0.5 Hz 运行。按前一种定义,0.5 Hz 对应的平均 Δt 约 3 s,不是 2 s。读图 5 时要记住:横轴是"到达时的年龄",策略实际输入的 Δt 还要再大一截。
方法 · 延迟感知动作专家 · §3.2 · 附录 A
30 个时间步 query,对四类 token 做交叉注意力
| Key / Value 来源 | 内容 | 原始维度 | 处理 |
|---|---|---|---|
| 当前视觉 token | 共享 InternViT 编码的当前帧 | 256 × 896 | MLP 投影到 512 |
| VLM KV cache | 最后一层 Transformer 的 K/V,来自 t−Δt 的那次推理 | N × 256 | MLP 投影到 512;token dropout 0.1 |
| 机器人状态 | (vx, vy, ωz) | 3 | 编码到 512 + 位置嵌入;dropout 0.5 |
| 延迟元数据 | (Δt, Δx, Δy, Δθ) | 4 | 编码到 512 + 位置嵌入 |
| Query | 按时间步索引的可学习嵌入 | 30 × 512 | 6 层交叉注意力,FFN 2048,输出 MLP |
输出是 30 步的相对增量 (dx, dy, dθ),覆盖未来 3 秒(10 Hz)。一个累加器(cumsum)把它们积成轨迹点 (x, y, θ)。因为真实数据里没有底层控制量,损失直接比积出来的位姿和真值轨迹:
未披露:KV token 的个数 N(取决于提示词、4×256 视觉 token 和生成文本的长度,是否全部保留没写);query 之间有没有自注意力;Δt 和 Δp 各自怎么编码(只写了"encoded");部署时选哪一步作为目标点(RL 里取 1 秒处)。
解读KV 为什么是 256 维
Qwen2.5-0.5B 用分组查询注意力,公开配置是 2 个 KV 头、每头 64 维,K 和 V 各 128 维,拼在一起正好 256。论文只写了"KV cache 特征从 256 维投影到 512 维",没有说明拼法,这是按公开配置推的。这也意味着动作专家读到的不是语言模型 896 维的隐状态,而是被压到 256 维的注意力键值。
解读价值网络比策略多看了一样东西
图 3(b) 的价值网络输入里有相对目标位置,策略没有(策略只靠语言和视觉找目标)。这是 RL 里常见的非对称 critic,只在训练时用,不影响部署时"无特权信息"的说法。
方法 · 延迟一致的三阶段训练 · §3.3 · 附录 B、D
先教 VLM 推理,再在人为延迟下模仿,最后在仿真里带着真实延迟强化
① VLM 监督微调
视觉编码器冻结,语言模型全参数训练,自回归交叉熵。目标序列混合两种格式:"推理文本 + 航点"和"只有航点",部署时可以按需要省掉文本。
8 × L40S,每卡 batch 2,lr 2×10⁻⁵,cosine。
② 延迟下的模仿学习
把原本时间对齐的示范拆开:采 Δt ~ U(0, 10) s,取 t−Δt 的帧和推理文本,用冻结的 VLM 算出 KV,再配上当前帧、状态和 (Δt, Δx, Δy, Δθ) 去预测 t 时刻的 30 步动作(算法 1)。
每卡 batch 16,lr 2×10⁻⁴,10 epoch,warmup 1000 步。
③ 异步引导下的 RL
在 DynaNav 里跑 PPO,VLM 和视觉编码器冻结,只训动作专家最后一层交叉注意力和输出 MLP。VLM 在后台真实异步推理,结果放出前再注入随机延迟,平均约 50 个环境步(5 s)。
单张 L40S,400 次迭代,3 个任务每 100 次迭代轮换。
SFT 数据:GPT-5 标注的指令与推理文本
原始长序列切成 20 秒一段,只留 RGB 和位姿,统一降到 10 Hz;再按固定步长下采样,大约每 3 秒一个标注样本。标注分两步(附录 B):
- 每段一条指令。取当前、+5、+10、+15、+20 s 五帧和未来轨迹偏移,让 GPT-5 写四种措辞不同、路线相同的祈使句,随机分给样本。提示词要求只写宏观路线和静态地标,不写行人和避让。
- 每帧一段推理。给 GPT-5 更多上下文:从段首到当前、按 1 s 汇总的历史轨迹,过去 9、6、3 s 的帧,当前帧,以及未来帧(+5 到 +20 s)。要求写一段 60 词以内的第一人称文字,覆盖当前处境、关键物体、物体运动、任务进度、接下来 10 s 的计划。
模仿学习:延迟是采出来的
算法 1 的关键一行是 𝒮t−Δt ← fLM(𝒱vlmt−Δt, I, ℛt−Δt):KV 由冻结的语言模型在 t−Δt 的帧、指令和数据集里的推理文本上做一次前向得到。附录原话是"策略以延迟的真值推理标注和引导航点为条件,保证拿到正确的高层意图"。动作专家要学的,是把一份正确但过时的语义,结合当前帧和 Δp,折算成现在该怎么走。
疑点模仿学习用的 KV 和部署时的 KV 不是一回事
训练时的 ℛt−Δt 是 GPT-5 看过未来 5–20 秒画面后写的推理文本,其中"接下来 10 s 的计划"带着未来信息;部署时 KV 来自 VLM 自己生成的文本,可能出错。这正是论文强调的"训练-部署一致"没覆盖到的一环。RL 阶段换成了 VLM 自己生成的输出,算是部分补上,但 RL 只调最后一层。论文没有报告"IL 用模型生成文本算 KV"的对照。另一个没说清的细节:标注样本约 3 秒一个,而 Δt 从连续区间 U(0, 10) 采样,任意 Δt 处的推理文本从哪来没写。
RL:真异步 + 人为加延迟
动作专家每步预测一条短轨迹,取 1 秒后的目标点,换算成期望线速度和角速度,作为高斯策略的均值;标准差是一个可学习的 log σ。rollout 时缓存延迟 KV,优化时复用(算法 2)。奖励:
速度项同时惩罚过慢和过快,目标速度 1 m/s。PPO 参数(表 9):动作 lr 1×10⁻⁵、价值 lr 1×10⁻⁴、每次 rollout 1024 步、γ 0.99、GAE λ 0.95、clip 0.2、梯度裁剪 0.5、熵系数 0.001、每次 5 个 epoch、batch 64。如果 1024 是每次迭代的总步数,400 次迭代合计约 41 万环境步,10 Hz 下约 11 小时仿真时间(我们按表 9 算的);并行环境数未披露,若 1024 是每个环境的步数则更多。
实验设置 · §4.1 · 附录 D
训练数据、基线、指标与真机
| 项目 | 设置 |
|---|---|
| 训练数据 | SCAND 8.7 h(多种社交环境里的机器人驾驶轨迹);GND 11 h 以上(多个校园);DynaNav 仿真 5.1 h(310 条键盘遥操作,四类场景,含行人) |
| 仿真评测 | DynaNav 85 条,单张 L40S;动作策略 10 Hz,VLM 异步约 0.5 Hz;每个条件跑一次(固定种子) |
| 指标 | NE(终点到目标的距离,越低越好);SR(%);SPL(按最短路径长度加权的 SR);CR(%,越低越好) |
| 真机平台 | Unitree Go2,前置 RGB 相机;板载 Jetson Orin NX(25 W)或 RTX 4060 笔记本 GPU(50 W);基线跑不动时用远程 RTX A6000,由笔记本中转观测和指令;开 FlashAttention |
| 真机任务 | 室内走廊(行人 + 静态障碍)、杂乱办公室、户外广场、户外不平步道;零样本(无任务专用训练数据);每任务 5 次;需要人工干预防碰撞即算失败 |
| 基线 | 类型 | 说明 |
|---|---|---|
| BC Policy | 点目标 | RGB + 点目标直接回归动作;不建模延迟;有相对目标位置这一特权信息 |
| RL Policy | 点目标 | 与价值网络同结构的 PPO 策略,每个环境单独训练,10 个并行环境、各 1M 步 |
| NavDP | 点目标 | 点目标条件的扩散导航策略 |
| Uni-NaVid | 语言 | 视频 VLA,多种导航任务统一训练 |
| NaVILA | 语言 | 分层 VLA:语言指令 → 中层语言动作 → 视觉运动策略 |
| DualVLN | 语言 | 双系统 VLA,慢推理与快控制异步 |
| MobileVLA-R1 | 语言 | 思维链监督的推理型移动机器人 VLA |
| OmniVLA | 语言 | 支持语言、目标图像、目标位姿三种条件 |
语言基线"在同样的训练数据上微调、同样设置下评测",训练按各自的开源实现。它们在仿真里是阻塞执行还是异步、仿真是否随推理暂停,论文没写。
结果 · §4.2–4.4 · 附录 E
主表、延迟曲线、接口对照、真机和七组消融
主结果(表 1)
DynaNav 85 条,11 个方法
按表 1 的分组排列。点目标方法直接拿到目标坐标。
原表数字(表 1)
论文的读法:点目标方法不调用 VLM、没有推理延迟,但直接拿到目标坐标;TIC-VLA 只用第一视角图像和语言。不做 RL 的 TIC-VLA(47.06)已超过 BC(45.88)和 RL(30.59),离 NavDP(54.12)还差 7 个点;做完 RL,SR 55.29 最高、CR 28.24 最低,但 NE 和 SPL 仍是 NavDP 最好(8.61、52.62)。五个语言导航基线的 SR 在 22.35–32.94 之间,CR 都在 45 以上。论文的解释是,它们为更抽象的导航设定设计,应付不了连续控制和动态障碍。阻塞执行的 TIC-VLA (Sync.) 掉到 32.94。
解读换算成条数再看
表里所有 SR、CR 都是 85 的整数倍(例如 55.29 = 47/85)。TIC-VLA 成功 47 条,NavDP 46 条,"SR 最高"是 1 条之差;不做 RL 的 TIC-VLA 40 条;MobileVLA 和 TIC-VLA (Sync.) 都是 28 条。单种子、每条跑一次,相差一两条的结论不稳。和语言基线之间相差 12 条以上,这部分比较可信。
延迟鲁棒性(原文图 5)
VLM 推理延迟从 1 s 到 5 s
横轴是附录意义上的延迟(缓存到手时的年龄)。1 s 靠暂停仿真等推理完成实现;3–5 s 靠在采集观测后推迟 30 / 60 / 90 个仿真帧再启动推理。数字读自原图柱顶标注。
图中数字
只做 IL 的策略在 2 s 之后掉得快:47.1 → 43.5 → 30.6 → 27.1。RL 后 1–3 s 保持在 52.9–55.3,4 s 48.2,5 s 45.9。碰撞率两条线都几乎不随延迟变化(IL 32.9–36.5,RL 27.1–28.2),论文据此说异步策略的反应能力与推理速度无关。2 s 处的四个数和表 1 的 TIC-VLA / TIC-VLA (no RL) 一致,说明表 1 就是在这个默认延迟下测的。
解读RL 的收益随延迟变大
按图中数字算,RL 带来的 SR 提升:1 s +7.0,2 s +8.2,3 s +9.4,4 s +17.6,5 s +18.8。RL 训练时注入的延迟平均约 5 s,提升最大的正是 4–5 s 这一段。但 RL 后 SR 最高的点仍在 2 s,延迟越大绝对性能越低。
接口形式 × 延迟建模(表 2)
用航点还是 KV cache,做不做延迟建模
"延迟建模"= 输入延迟元数据 + 训练时注入延迟。四行都没有 RL。格子里大字是 SR,小字是 NE / SPL / CR。
原表数字(表 2)
KV 比航点好得多,延迟建模对 KV 的帮助(SR 30.59 → 47.06)也远大于对航点的帮助(16.47 → 22.35)。论文对航点差的解释:航点稀疏,而且可能和机器人的局部观测对不上;KV 保留了 VLM 更丰富的语义和上下文。附录补充说,航点变体在训练和推理时都会先把延迟航点变换到当前机体系,但"不建模延迟"那一行是否也做了这个变换,没写清。
解读从 30.59 到 55.29,一步一步拆
同一个 85 条测试集,三张表里的四个数
第二步假设表 6 的"W/o Motion Offset"只去掉 Δp、保留 Δt 输入和延迟训练,论文没有明说。
按这个拆法,延迟训练 + Δt 贡献 9 条,Δp 再加 5 条,RL 再加 7 条。延迟建模的两部分合起来(14 条)比 RL(7 条)多一倍。
真机(表 3、表 10)
Unitree Go2,4 个任务 × 5 次
每格 0.05 是 20 次里的 1 次。TIC-VLA 的 4060 和 Orin NX 是本地部署;A6000 是远程,所有基线都在 A6000 上跑。
| 方法 · 平台 | 成功率 | 动作策略 (ms) | VLM 推理 (ms) |
|---|---|---|---|
| TIC-VLA (no RL) · 4060 | 0.70 | — | — |
| TIC-VLA · 4060 | 0.85 | 85.73 | 3430.73 |
| TIC-VLA · Orin NX | 0.75 | 120.27 | 4831.73 |
| TIC-VLA · A6000 | 0.80 | 32.70 | 1681.66 |
| Dual-VLN (7B) · A6000 | 0.50 | 299.92 | 1534.67 |
| NaVILA (7B) · A6000 | 0.35 | 4106.62(单系统) | |
逐任务成功率(表 10,%)
解读1B 的 VLM 并不比 7B 的快
同在 A6000 上,TIC-VLA 的 VLM 一次推理 1681.66 ms,比 7B 的 DualVLN 慢系统(1534.67 ms)还慢,因为它每次要自回归生成一段推理文本和航点。它快在控制端:动作策略 32.70 ms,DualVLN 299.92 ms。另外,Orin NX 上动作策略单次 120.27 ms,超过 10 Hz 需要的 100 ms,这时策略实际跑多少 Hz,论文没说。
疑点平台之间的比较混着通信开销
论文把 A6000(0.80)不如 4060(0.85)归因于远程通信开销。但所有基线都在 A6000 上跑,也都背着这份开销。同平台的公平对比是 A6000 上的 0.80 / 0.50 / 0.35。表 3 的运行时间是否包含通信,没写。0.85、0.80、0.75 之间各差 20 次里的 1 次。
七组消融
定性结果(原文图 4)
读懂它
这篇真正说明了什么
关键 insight
1. 延迟要作为输入,而不是当噪声
同一个 KV 接口,加上延迟元数据并在训练时注入延迟,SR 从 30.59 到 47.06(表 2);单独去掉 Δp 掉到 41.18(表 6)。这组对照是全文最直接支撑核心论点的证据,而且都在不做 RL 的条件下。
2. 慢系统交给快系统的东西要"厚"
3 个航点做接口,SR 最多 22.35;最后一层 KV 做接口,47.06。航点把 VLM 的理解压成几个坐标,过时之后没法重新解释;KV 里还留着场景、物体和意图的信息,策略可以结合当前帧重新读。
3. RL 买的主要是大延迟下的鲁棒性
RL 只调最后一层交叉注意力和输出 MLP,在 1–2 s 延迟下提升 7–8 个点,在 4–5 s 下提升 17–19 个点(图 5)。IL 学会了"读时间戳",RL 把它校准到真实的异步闭环分布上。
4. 在这套设置里,小模型 + 显式延迟胜过大模型
换成 Qwen2.5-VL 3B,SR 降到 32.94(表 12),论文归因于推理更慢导致感知和动作对不齐;真机上 1B 的 TIC-VLA 也胜过 7B 的 DualVLN 和 NaVILA。各骨干的实际延迟没有报告,这条只能算方向性证据。
容易误解的地方
- "TIC-VLA (Sync.)"不是"不建模延迟的异步版"。它是阻塞执行:推理时机器人停住,推理完执行 0.5 s 预测轨迹,再停下来等下一次。T = 2 s 时只有 0.5 / 2.5 = 20% 的时间在动。在有超时限制的测试里,它的 32.94 同时反映了"语义新鲜"和"动的时间少"两件事。对应"假设推理与控制同步"的对照是表 2 的 KV ✗ 那一行(30.59)。
- 同步阻塞的"Δt = 0"只对机器人自己成立。附录把它的 Δt 和 Δp 记为 0,因为机器人在推理时没动;但行人在这 T 秒里照样在走,语义描述的仍是 T 秒前的人群。
- Δt 不等于推理耗时。它在 [T, 2T] 之间锯齿变化(见上面的交互)。图 5 横轴是到手时的年龄 T。
- 10 Hz 是动作策略的调用频率。Orin NX 上实测单次 120.27 ms;0.5 Hz 是仿真里带推理文本时 VLM 的频率,不解码文本时 4 Hz。
- "零样本"指没有真机任务的专用数据。训练集里有 SCAND、GND 两个真实世界数据集,真机测试不是 sim-to-real 意义上的零样本。
FAQ
它和 DualVLN 这类双系统 VLA 到底差在哪?
架构上都是"慢推理 + 快控制、异步运行"。论文强调的区别是接口:DualVLN 一类假设慢系统的输出是新鲜的;TIC-VLA 把语义的陈旧程度(Δt)和这期间的自身位移(Δp)作为显式输入,并在 IL、RL 两个阶段按部署时的延迟分布训练。表 1 里 DualVLN SR 30.59,与"KV 接口但不建模延迟"的 TIC-VLA 变体(表 2,30.59)恰好相同,但两者骨干、训练流程都不同,不能直接当作同一个对照。
Δt 和 Δp 各自管什么?有没有单独去掉 Δt 的实验?
Δp 告诉策略"语义生成那一刻我在哪、朝哪",可以把语义里的空间信息(航点、"前方偏左的行人")换算到当前机体系;Δt 告诉策略语义有多旧,环境里会动的东西(行人)可能已经走了多远。表 6 只去掉 Δp(47.06 → 41.18);表 2 把 Δt、Δp 和延迟训练一起去掉(47.06 → 30.59)。没有只去掉 Δt、保留 Δp 的实验。
为什么 1 s 延迟反而不比 2 s 好?
RL 后 1 s 是 54.1、2 s 是 55.3,相差 1 条 episode,在噪声范围内。另外 1 s 条件是靠"推理开始 1 s 后暂停仿真、推理完再继续"造出来的,环境被冻结的方式和其他条件不同,严格说不是同一种干预。
动作专家读得懂 VLM 的推理文本吗?
动作专家不读文本,只读最后一层 KV。推理文本的作用是改变 KV:生成了文本,KV 序列里就多了这些 token 的键值。表 4 显示带文本推理 SR 55.29、不带 40.00,但动作专家训练时 KV 一直带着文本,测试时去掉属于分布外输入,所以这组差距不能全算在"推理本身有用"上。
这个接口能搬到操作任务上吗?
论文把"扩展到操作"列为未来工作,没有实验。解读导航里 Δp 是一个 3 维的自身位姿变化,语义里最重要的空间量(目标方向、行人位置)都能用它近似换算;操作里过时的往往是被操作物体的状态,单靠机械臂自身的位移补偿不了,可能需要把"当前帧"这条通路的权重设计得更重。
局限与疑点
作者承认的,和我们读出来的
论文自己提到的
- 系统还没有为运行效率做充分优化,推理和部署都有提速空间。
- 真机评测规模有限,需要更大的研究来验证鲁棒性。
- 只做了导航,扩展到操作等领域是未来工作。
- 影响声明里提到:在人群中运行仍有误解指令、碰撞、社交上不得体等风险,安全关键场景需要人类监督。
我们读出来的
- 疑点IL 阶段的 KV 由 GPT-5 标注的推理文本算出,这些文本生成时看过未来 5–20 s 的画面;部署时 KV 来自 VLM 自己生成的文本。"延迟一致"没有覆盖这一层。
- 疑点"有效延迟"两处定义不同(tinfer + telapse 与"观测到可用");0.5 Hz 与"平均约 2 s"按前一种定义对不上。
- 疑点只有 TIC-VLA 在 DynaNav 的 office / hospital / warehouse 场景里做了 RL(任务不同、场景相同),基线没有对应的仿真内适应;基线在仿真里如何处理推理延迟没写。
- 疑点Sync. 变体把"语义新鲜"和"80% 时间停车"绑在一起,不是对"同步假设"的干净检验。
- 疑点85 条单种子;表 1 和 NavDP 差 1 条,多数消融差 1–5 条;真机每任务 5 次,0.85 / 0.80 / 0.75 各差 1 次。
- 疑点表 4 的"无推理"对照混入了 KV 分布偏移(动作专家训练时 KV 一直带推理文本)。
- 户外成功阈值"放宽"但没给数值;episode 到达 1.5 m 自动终止,SR 不考察停车。
- 任意 Δt 处的推理文本从哪来没写(标注约 3 s 一个样本,Δt 连续采样);KV token 个数、Δt / Δp 的编码方式未披露。
- 各 VLM 骨干的推理延迟(表 12)、TIC-VLA RL 的并行环境数未披露;Orin NX 上动作策略达不到 10 Hz,实际频率未说明。
- 真机任务名在图 6 和表 10 不一致(Plaza / Campus,Walkway / Sidewalk)。
放到专题里看
Context Architecture 里唯一管"时间"的那一篇
在 Harness for Robotics 专题里,TIC-VLA 属于 Context Architecture:设计模型每次决策看到什么、以什么形式看到。它的子方向是时序对齐,改的是"看什么"里的"看哪一刻的",不是"记什么"。缓存只保留最近一次推理的结果,下一次推理完成就整块覆盖,不累积历史;Δt 和 Δp 是附在这份上下文上的时间戳和坐标变换。
| TIC-VLA | RA-VLA | ActiveVLA | MemoryVLA | OptimusVLA | SOMA | HiMe | |
|---|---|---|---|---|---|---|---|
| 类别 | Context · 时序对齐 | Context · 检索 | Context · 视觉选择 | Memory | Memory | Memory | Memory |
| 改了什么 | 语义上下文来自哪一刻,并附时间与位移 | 从示范库检索行为相近的片段当上下文 | 从点云渲染虚拟视角、放大关键区域 | 感知 / 认知双流记忆库 | 检索到的轨迹先验 + 已执行动作的一致性记忆 | 头部相机扫描建立的物体级空间记忆 | 执行器 / 哨兵 / 规划器三层记忆 |
| 以什么形式 | VLM 最后一层 KV + (Δt, Δx, Δy, Δθ) | 预编码缓存的 VLM 特征 + 状态 + 动作 | 渲染图像(正交投影、主动视角、放大) | 记忆 token,key 上加时间步编码 | 先验动作分布 + 加性一致性偏置 | 外观特征 + 3D 位置编码的记忆 token | 文本子目标 + 多模态键值记忆库 |
| 进入哪里 | 动作专家每层交叉注意力的 K/V | 动作头交叉注意力,每层配一个片段 | VLM 的输入图像 | 扩散动作专家的条件 | 流匹配的初始噪声与偏置 | 交叉注意力增强 VL token 后进 DiT | 执行器(π0.5)的语言条件 |
| 时间怎么处理 | 显式 Δt、Δp;训练注入延迟 | 不涉及 | 不涉及(预测下一关键帧位姿) | 正弦时间步编码 | Mamba 建模块间动态 | 新观测按相似度 EMA 融合 | 哨兵每 n 步检查,子任务边界唤醒规划器 |
| 任务 | 动态人群中的语言导航 | 操作(LIBERO、UR5e) | 操作(RLBench 等) | 操作 | 操作 | 视野外物体操作 | 长时程操作 |
- 和 RA-VLA(同类,注入位置最像):两者都把 VLM 侧算好的特征当作动作头交叉注意力的 K/V,而不是塞进 VLM 的输入序列。RA-VLA 明确是为了避免上下文变长拖慢推理,TIC-VLA 是为了让快系统不必等慢系统。区别在上下文的来源:RA-VLA 来自离线示范库,按行为相似度检索,和时间无关;TIC-VLA 来自同一 episode 里几秒前的自己,所以要带时间戳。
- 和 ActiveVLA(同类):ActiveVLA 改的是空间上的"看哪里、看多细",代价写在它自己的消融里:加上主动视角选择和 3D 放大,RLBench 上每步推理从 0.26 s 增加到 0.53 s。它预测下一个关键帧位姿,没有连续控制回路,延迟在它的设定里不构成问题。TIC-VLA 处理的正是这个设定之外的情况:上下文变贵、变慢之后,控制端怎么接。
- 和 HiMe(跨类,结构最像):两者都是"快执行 + 慢推理"的多速率层级。HiMe 的慢层(GPT-4o 规划器,附录实测 P50 38.59 s)只在哨兵判定子任务完成时被唤醒,交给执行器的是文本子目标,子目标在完成前一直有效,所以论文没有把"规划结果有多旧"当作问题。TIC-VLA 的慢层持续运行,交下来的是稠密特征,在行人中间几秒就过时,所以必须附上 Δt 和 Δp。
- 和 MemoryVLA(跨类):两者都给"过去的信息"打时间标签:MemoryVLA 在记忆条目的 key 上加时间步正弦编码,TIC-VLA 把 Δt 作为单独的 token。但 MemoryVLA 累积多步历史,TIC-VLA 只有一份最新语义。
- 和 SOMA(跨类):两者都要把"别的时刻 / 视角得到的信息"配准到当前。SOMA 把物体存在 VGGT 估计的全局坐标系里,显式维护;TIC-VLA 只给相对位姿 Δp,折算交给策略去学。
- 和 OptimusVLA(跨类,点到为止):它的局部一致性记忆记的是自己已执行的动作块,TIC-VLA 的 Δp 是自己已执行的位移,都属于"本体运动历史",但一个用来约束动作平滑,一个用来重新解释过时的语义。
- 和(3)结构化执行、(4)评估与反馈两类:ACoT-VLA 也让动作头读 VLM 的 KV(EAR 每层读同层 KV,IAR 每层用 1 个 query 从降到 128 维的 KV 里抽先验),但它在同一帧上推理(RTX 4090 上 112 ms),论文没写是否异步执行。解读两篇的数字在「显式轨迹还是隐式特征」上指向不同方向:TIC-VLA 用 3 个航点做接口 SR 最多 22.35、用 KV 是 47.06,ACoT 在 LIBERO-Plus 上显式粗轨迹(EAR)单独到 83.7、隐式先验(IAR)单独 80.4(基线 75.7);不过前者的航点是 VLM 解码出的 3 个稀疏点、还会过时,后者由单独的 300M 模块生成 15 点,不能直接比。τ₀-VLA 的部署同样是异步双层(高层约每 1 s 刷新子任务缓存,低层约 30 Hz 读缓存),但交下去的是文字子任务,不带延迟信息,搜索期间低层一直按旧子任务执行、搜索耗时也没报告,正是 TIC-VLA 处理的那种情况。
术语表
读这篇会遇到的词
展开术语表
- TIC
- Think-in-Control:让控制在"知道推理有多旧"的前提下使用推理结果。
- delayed semantic-control interface
- 延迟语义-控制接口:延迟的 VLM 语义状态(最后一层 KV)+ 延迟 Δt + 自身位移 Δp。
- Δt
- 有效推理延迟 = tinfer(推理耗时)+ telapse(上次推理完成后又过了多久);附录另有"观测到可用"的定义。
- Δp = (Δx, Δy, Δθ)
- ego-motion offset:从语义所依据的那一帧到现在,机器人的相对位姿变化,由位姿估计相减得到。
- KV cache
- Transformer 每层的键值缓存。本文取 VLM 最后一层的 K/V 作为语义特征,256 维。
- latency-consistent training
- 延迟一致训练:IL 时人为采样延迟、RL 时真实异步并注入延迟,使训练输入的延迟分布接近部署。
- dual-system VLA
- 双系统 VLA:慢的推理模型 + 快的动作模型,通常异步运行。
- action query
- 按时间步索引的可学习嵌入,本文 30 个,对应 3 s 内每 0.1 s 一步。
- SmoothL1
- Huber 型损失,本文用于比较积分出的位姿和真值轨迹。
- PPO / GAE
- 近端策略优化 / 广义优势估计,本文 RL 阶段的算法。
- DynaNav
- 本文的 Isaac Sim / Isaac Lab 仿真套件与 85 条测试基准。
- NE / SR / SPL / CR
- 导航误差 / 成功率 / 按路径长度加权的成功率 / 碰撞率。
- point-goal
- 点目标导航:直接给目标坐标,本文把这类方法视为有特权信息的参考。
- Sync.
- 本文的同步阻塞变体:推理时停车,推理完执行 0.5 s,再停。
- GQA
- 分组查询注意力:多个查询头共享少量 KV 头,Qwen2.5-0.5B 有 2 个 KV 头。
- odometry drift
- 里程计漂移,影响 Δp 的准确性;本文表 14 注入按距离成比例累积的噪声测试。