LLM(大语言模型)= 翻译官
输入:英文句子
处理:理解语义
输出:中文句子
特点:在"语言空间"内工作,不接触物理世界
VLA(视觉-语言-动作模型)= 车间工人
输入:眼睛看到的场景 + 耳朵听到的指令
处理:理解场景+理解指令+规划动作
输出:手的运动轨迹
特点:在"物理空间"内工作,必须面对重力、碰撞、形变
核心转变:从"语言空间"到"物理空间",输出从"离散token"变成"连续动作"。
非端到端(传统机器人流程):
感知模块 → 识别物体 → 规划路径 → 运动控制 → 执行器
每个环节是独立模块,人工设计接口,信息在传递中损失
端到端(VLA流程):
[视觉+语言+本体感知] → 一个大模型 → [动作序列]
所有环节共享表示,信息无损流动,没有人工设计瓶颈
为什么端到端更好? 因为手工设计的接口是"信息瓶颈"。
举个例子:传统流程中,感知模块输出"桌子上的红色杯子在(x,y,z)",但这个坐标可能丢失了"杯子把手朝左"这样的关键操作信息。端到端模型没有这个瓶颈——视觉特征直接传递给动作生成器,所有细节都保留了。
为什么端到端更难? 因为"端到端"意味着模型必须同时学会看、理解、和做,这三个能力的数据需求和优化方向可能冲突。
输入1:Vision(视觉)
→ 机器人摄像头的RGB图像(可能多视角:头部+腕部)
→ 可能还有深度图、点云
→ 信息量:最大,是主要信息来源
输入2:Language(语言)
→ 自然语言指令,如"把苹果放进碗里"
→ 信息量:最小,但最关键——它告诉模型"要做什么"
输入3:Proprioception(本体感知)
→ 机器人自身的关节角度、力矩、速度
→ 信息量:中等——告诉模型"我现在什么姿势"
输出:Action(动作)
→ 未来一段时间内的关节角度序列
→ 格式:[a_t, a_t+1, ..., a_t+H](H是预测步数,即action chunk长度)
LLM输出文本的方便之处:
- 离散的:每个token是词表中的一个ID(如"apple" = #3456)
- 有序的:从左到右依次生成
- 唯一的:同样的上下文,最高概率的下一个token基本确定
- 错误容忍:少一个词不影响大局
VLA输出动作的困难之处:
- 连续的:关节角度是0.0~6.28之间的实数,不是离散ID
- 多模态的:同一个任务可能有多个等价动作路径(绕左走或绕右走都行)
- 精度敏感:关节角度差0.01弧度就可能抓空
- 错误不宽容:一个错误的力矩可能导致物品滑落或碰撞
这个难题直接催生了三种动作解码方案——它们就是应对"连续、多模态、高精度"这三个挑战的不同策略。
机器人面对同一个场景,可能有多种合理的动作。比如前面有个障碍物,可以绕左也可以绕右。这意味着动作的分布不是单峰的(像一个高斯),而是多峰的(像多个高斯叠加)。
单峰分布(高斯):
动作空间中只有一个"最优解"
概率密度:p(a|o) ~ N(μ, σ²)
问题:如果两个动作都合理,高斯只能取平均——而平均可能是最差的
多峰分布:
动作空间中有多个"合理解"
概率密度:p(a|o) = 0.3·N(μ₁, σ₁²) + 0.7·N(μ₂, σ₂²)
需要模型能表达这种"多峰性"
三种方案的本质区别:如何建模这种多峰的动作分布。
核心思想:把连续动作"离散化"成token,然后用LLM的方式逐个生成。
数学过程:
Step 1:动作离散化——把连续数值变成离散token
机器人动作(如关节角度)是连续值,但语言模型只能处理离散token,所以需要做映射:
核心公式:
a_discretized = round((a - a_min) / (a_max - a_min) × (N-1))
具体例子:假设一个关节角度范围是 [-1, 2],分 N=1000 个 bin
a = 1.57(原始连续值)
bin = round((1.57 - (-1)) / (2 - (-1)) × 999)
= round(2.57 / 3 × 999)
= round(856.0)
= 856
token = #856(模型词表中的一个编号)
直觉:就像把一条连续的数轴切成 1000 个等宽格子,每个格子给一个编号。
格数越多精度越高,但词表越大。
多维动作的处理:
如果机器人有 7 个关节,每个分 256 bin,
词表 = 256(不是 256⁷),因为每个关节独立编码为一个 token。
7个关节 → 7个动作token,按顺序排成一行输入模型。
Step 2:自回归生成动作token——像写文章一样写动作序列
核心思想:一个时刻的动作依赖于之前所有时刻的动作 + 当前观测
数学公式:
p(a₁, a₂, ..., a_T) = ∏ₜ p(aₜ | a₁, ..., aₜ₋₁, observation)
整体直觉:
1. 离散化 = 把"说任意小数"变成"说一个编号"
(像用尺子量长度,只能读到最小刻度)
2. 自回归生成 = 像写句子一样写动作序列,
每个词(动作)都考虑上下文(之前的动作 + 当前看到的东西)
3. 采样 = 不是每次说最可能的词,而是按概率随机挑,保留一点"创造力"
这就是为什么能用 LM 的架构做机器人控制——动作变成了语言,控制变成了写作
优点:
✅ 与LLM架构完全统一——不需要额外设计,直接复用LLM的代码和训练流程
✅ 自回归生成天然有序
✅ 可以和语言token混合训练(RT-2的语言能力和动作能力共享参数)
缺点:
❌ 离散化损失精度:把[0, 2π]分成256个bin,精度只有2π/256 ≈ 0.025
❌ 分辨率瓶颈:要更精细就需要更多token,计算量线性增长
❌ 生成速度慢:每个token都要等前一个生成完,T个动作需要T次前向传播
❌ 单峰偏见:softmax在每一步只选一个最高概率token,难以自然表达多峰
自回归方案是最早的VLA范式(RT-2, 2023),也是最容易实现但天花板最低的。OpenVLA目前是开源主流,但能力上限受限于离散化精度。关注它作为"入门级"方案,但不代表技术前沿。
核心思想:从纯噪声开始,逐步"雕刻"出合理的动作轨迹,就像从一块粗糙的石头中逐渐雕出塑像。
数学过程(DDPM):
前向过程(加噪):
把干净的动作轨迹 a₀ 逐步加高斯噪声:
q(aₜ | aₜ₋₁) = N(aₜ; √(1-βₜ)·aₜ₋₁, βₜ·I)
经过T步后,a_T ≈ N(0, I)(纯噪声)
反向过程(去噪):
学习从噪声恢复信号的过程:
p_θ(aₜ₋₁ | aₜ) = N(aₜ₋₁; μ_θ(aₜ, t, o), Σ_θ(aₜ, t, o))
其中 μ_θ 是神经网络预测的去噪方向
训练目标:
L = E[||ε - ε_θ(aₜ, t, o)||²]
即:让网络学会在任意噪声水平下预测被加进去的噪声ε
直觉理解:
时间步 T: [████████████████████] 纯噪声 → 完全不确定
时间步 T/2: [▓▓▓▓░░░░░░░░░░░░] 半噪声 → 大致形状出来
时间步 0: [░░░░░░░░░░░░░░░░░░] 干净信号 → 精确动作轨迹
每一步去噪,就像雕刻:先粗后细
优点:
✅ 多峰分布建模能力强:扩散模型天然适合建模复杂多模态分布
✅ 连续空间:不需要离散化,直接在连续空间操作
✅ 生成质量高:多步去噪保证细节
缺点:
❌ 推理慢:需要10-100步去噪,每步都是一次完整的神经网络前向传播
❌ 难以实时:10步去噪 × 50ms/步 = 500ms,控制频率只有2Hz
❌ 采样路径弯折:从噪声到信号的路径不是直线,走了弯路
扩散方案(Diffusion Policy, 2023)证明了连续动作空间建模的必要性,但推理速度是致命弱点。RDT-1B是目前国内最强的开源VLA之一,但受限于扩散的速度。在需要高频率控制的场景(如灵巧操作),扩散方案正在被流匹配取代。
核心思想:不走弯路——用"最短路径"从噪声流到目标动作,而不是扩散模型的"随机游走再回来"。
数学过程(Flow Matching / OT-CFM):
核心公式——连续时间流:
da(t)/dt = v_θ(a(t), t, o)
其中:
a(t) 是动作在时间t的状态
v_θ 是神经网络学习的"速度场"(velocity field)
o 是观测条件(视觉+语言)
t 从0(纯噪声)到1(干净动作)
训练目标(OT-CFM,Optimal Transport Conditional Flow Matching):
L = E_{t, a₀~N(0,I), a₁~data}[||v_θ(aₜ, t, o) - (a₁ - a₀)||²]
直觉:在任意中间状态aₜ,让网络预测"应该往哪个方向走"
目标方向就是 a₁ - a₀(从当前噪声直接指向目标动作)
直觉理解——三种方案的路径对比:
扩散模型(随机游走):
噪声 ·→·→·↗·→·↘·→·↗·→·→ 动作
路径弯曲、随机,需要很多步才能到达
流匹配(直线运输):
噪声 ——————————————→ 动作
路径笔直、确定,几步就能到达
这就是为什么流匹配更快:
扩散需要 10-100 步 → 流匹配只需 1-10 步
因为路径更直,每步走得更有方向性
推理过程(Euler积分):
a = 采样自 N(0, I) # 初始噪声
for t in [0, dt, 2·dt, ..., 1]:
v = v_θ(a, t, o) # 网络预测速度
a = a + v · dt # 沿速度方向走一步
return a # 最终生成的动作轨迹
π₀ 实践中只用 4-8 步就能生成高质量动作!
流匹配 vs 扩散的数学本质差异:
扩散模型(SDE视角):
da = f(a,t)dt + g(t)dW # 随机微分方程,有随机项dW(布朗运动)
路径不确定,有随机性
流匹配(ODE视角):
da = v_θ(a,t)dt # 常微分方程,确定性
路径确定,同样的起点一定到达同样的终点
关键:确定性意味着可以用更大的步长(dt更大),因为路径是可预测的。
优点:
✅ 推理极快:4-8步即可,比扩散快10-25倍
✅ 多峰分布:和扩散一样能建模复杂分布
✅ 连续空间:无需离散化,精度不受限
✅ 训练简单:目标就是简单的向量回归,无需复杂的噪声调度
✅ 路径笔直:可以蒸馏到1步(Consistency Flow),实现实时推理
缺点:
❌ 训练需要精心设计条件路径(但OT-CFM已解决了这个问题)
❌ 1步推理的质量仍在提升中(目前4-8步是主流)
❌ 社区工具链不如扩散成熟(但正在快速追赶)
从概率流的角度统一理解:
自回归:逐步条件采样
p(a|o) = ∏ₜ p(aₜ|a₋ₜ, o)
每步一个维度,离散选择
扩散:逆向随机过程
从 p(a_T) = N(0,I) 逆向走到 p(a₀) = p_data
路径随机,步数多
流匹配:确定性运输
从 p₀ = N(0,I) 确定性地运输到 p₁ = p_data
路径笔直,步数少
三者关系:
自回归 → 离散化近似 → 损失精度
扩散 → 随机路径 → 步数多但鲁棒
流匹配 → 最优路径 → 步数少且快
2024年共识:流匹配在动作生成上全面优于扩散
2025年趋势:流匹配 + 蒸馏 → 1步推理,实现50Hz+实时控制
问题:VLA端到端会不会一统天下?
个人的判断:会,但有条件
一统天下的条件:
1. 流匹配动作解码成熟 → ✅ 已基本实现
2. 大规模预训练数据可用 → ❌ 仍是瓶颈
3. 安全约束可嵌入 → 🔶 在进步(世界模型辅助验证)
4. 实时性满足要求 → ✅ 流匹配4-8步,50Hz可行
不会完全替代的是:
- 超高精度工业场景(±0.01mm级)→ 仍需传统控制
- 安全关键场景(人机协作)→ 仍需安全层
- 低成本嵌入式场景 → 端侧小模型 + 规则控制
结论:VLA端到端是"主流范式",但不是"唯一范式",
最终形态是VLA + 安全约束层 + 世界模型验证
VLA公司的核心壁垒是什么?
壁垒1:数据(最重要)
- 机器人数据无法从互联网爬取
- 每条演示需要人工操作,成本$1-10/条
- Physical Intelligence 的数据工厂是其核心资产
- 判断标准:公司是否拥有规模化数据采集能力?
壁垒2:VLM骨干能力
- 自研VLM(如π₀.5)> 基于开源VLM微调(如OpenVLA)
- DeepMind的Gemini预训练是其结构性优势
- 判断标准:公司是否有VLM自研能力或强VLM合作伙伴?
壁垒3:工程化部署能力
- 从论文到产品有巨大鸿沟
- 实时推理、安全监控、边缘部署都是工程挑战
- 判断标准:公司是否有真实机器人部署案例?
壁垒4:多形态适配能力
- 能在一种机器人上工作 ≠ 能在所有机器人上工作
- π₀.5的价值在于跨形态泛化
- 判断标准:模型支持几种机器人形态?
VLA端到端赛道的美国领先点:
1. VLM骨干:Gemini 2.0 / 自研VLM >> 国内开源VLM
2. 数据规模:Physical Intelligence 积累了10万+演示
3. 工程部署:已有真实场景部署案例
中国的追赶机会:
1. 算法追赶快:流匹配已是公开技术,ACoT-VLA甚至超越π₀
2. 硬件优势:智元、宇树的机器人制造成本远低于美国
3. 场景优势:中国制造业场景丰富,数据采集成本低
4. 迭代速度:智元半年内连发ACoT-VLA + Real2Edit2Real
关键差距不在算法,在于:
- 数据基础设施(采集→标注→训练的pipeline成熟度)
- VLM骨干的语言理解和常识推理能力
- 真实世界部署的工程化经验
1. VLM骨干是自研还是基于开源?
→ 自研VLM的壁垒远高于基于OpenVLA微调
→ 但自研VLM需要3-5B以上参数 + 1000+ GPU月训练
2. 有多少条真实机器人演示数据?
→ < 1万条:还在实验室阶段
→ 1-10万条:开始有规模效应
→ > 10万条:进入数据飞轮(Physical Intelligence级别)
3. 动作解码方案是什么?
→ 自回归token:第一代方案,天花板低
→ 扩散:过渡方案,推理慢
→ 流匹配:当前最优,但需要验证实时性
4. 在几种机器人形态上验证过?
→ 1种:可能过拟合于特定硬件
→ 3-5种:有一定泛化能力
→ >5种:真正的通用VLA
5. 有真实客户部署吗?
→ 没有:技术验证阶段
→ 1-3个:早期验证
→ >5个:进入商业化阶段