理解具身部署,首先需要与传统LLM和VLM推理进行对比。传统语言或多模态服务通常假设同步的请求-响应路径、相对统一的令牌接口,以及面向大批量或多并发用户的高吞吐量优化。而Embodied.cpp面对的是不同的场景:具身模型运行在闭环控制中,组合多个异构模块,并且必须在机器人端硬件上保持可部署性,同时还要能够吸收新兴模型族。对于一个开源具身推理运行时项目,这些差异归结为三个实际的系统挑战,每个挑战都直接塑造了Embodied.cpp的设计。
具身推理的挑战
多速率执行。 作为一个开源项目,Embodied.cpp不仅要支持当今的具身模型,还要支持未来具身架构可能需要的优化。这很困难,因为许多现代具身系统不再是单一模型。VLA模型和WAM越来越多地由多个模块组装而成,例如感知编码器、Transformer骨干网络、预测分支和动作头。与传统LLM运行时不同,高效的具身推理并不要求每个模块在每一步都运行。感知堆栈可能以较低频率刷新,预测分支可能只在需要未来估计时运行,而动作头可能需要以更高的控制频率执行。
延迟优先的闭环控制。 具身部署还提出了比普通云推理更棘手的性能问题。在许多机器人场景中,执行实际上是batch-1:单个机器人或模拟器必须持续接收动作,要求低延迟、低抖动和可预测的时序行为。同时,部署目标是异构的,包括Jetson设备、RK平台、x86边缘盒子和工作站级系统。这就在延迟优先执行与跨不同后端和设备高效执行小批量推理所需的融合推理技术之间产生了矛盾。

可扩展的具身接口。 最后,实现具身推理运行时不仅仅是调度问题。新的模型族不断引入新的依赖栈、更大的自定义算子以及新的输入输出约定。一个实用的开源推理运行时必须能够吸收模型特定的库,覆盖更广泛的算子表面,并支持接口两侧新的具身数据类型。输入可能包括图像、语言、本体感知、历史、力或触觉信号,以及模拟器提供的状态。输出可能是离散动作令牌、连续动作向量、动作块、世界预测或中间控制表示。
综合这些挑战,就可以理解为什么具身部署不应被视为LLM运行时的简单扩展。可复用的基础架构依然重要,尤其是在多模态投影、Transformer风格执行、后端可移植性和算子复用方面。但顶层契约已从令牌服务转变为具身控制,开放运行时必须保持足够的可扩展性以吸收未来的具身优化,而不是硬编码当前的模型结构。
设计原则与运行时架构
这些挑战反过来推动了Embodied.cpp的三条设计原则:
- 模块化多速率执行。 Embodied.cpp应暴露显式的执行单元、可插拔模块、共享状态或特征池,以及可配置的刷新策略,使不同组件能以不同速率运行,而不强制使用单一同步路径。
- 延迟优先的融合执行。 Embodied.cpp应优先考虑稳定的控制性能,同时支持图重放、缓冲区复用、算子融合、后端特定调度以及精细的主机-设备数据传输,以在异构设备上实现高效的小批量推理。
- 可扩展的算子与I/O支持。 Embodied.cpp应提供类型化的具身接口、可插拔头、一流的部署适配器,以及足够的后端和算子覆盖,使得新的具身范式无需每次重建周围运行时即可实现。

五层运行时架构
Embodied.cpp的架构将具身模型的共享执行路径映射为五个不同的层次:
- 输入适配器 — 处理多种传感器输入,包括图像、语言、本体感知、历史、力或触觉信号,以及模拟器提供的状态,将其转换为统一的张量表示。
- 序列构建器 — 构建骨干模型期望的输入序列,处理多模态令牌化、投影和位置编码。
- 骨干网络执行 — 运行核心Transformer或其他神经网络骨干网络,利用后端特定优化实现高效的小批量推理。
- 头插件 — 实现模型特定的输出头,用于离散动作令牌、连续动作向量、动作块、世界预测或中间控制表示。
- 部署适配器 — 通过标准化接口将运行时连接到机器人硬件、模拟器或其他控制循环。
在VLA模型与世界-动作模型上的评估
作者在两种广泛使用的VLA模型和一种代表性WAM基准上评估了Embodied.cpp,结果显示在保持高精度的同时提高了效率。评估证实五层架构成功地将可复用的推理基础设施与模型特定组件解耦,从而能够在异构边缘设备上高效部署。
讨论与未来工作
来自近期模型的证据指向一个方向:尽管模型族持续多样化,但具身部署正在收敛到一条共享的执行路径上。Embodied.cpp通过将公共路径作为基础设施、将分歧部分作为插件,捕捉了这一收敛趋势。其五层架构使交互模式、I/O语义、目标和部署边界显式化,同时跨范式复用相同的骨干网络执行路径。在当前版本中,作者在两种VLA模型上定量验证了C++推理路径,并通过架构分析定位了WAM。随着新的具身模型变体出现,这种稳定核心与可插拔任务特定组件之间的分离将带来更大的价值。
常见问题
具身推理与传统LLM/VLM推理有何不同? 具身模型在闭环控制中运行,包含异构模块、多速率执行要求以及机器人端硬件的batch-1延迟约束,不同于云LLM服务中典型的同步请求-响应吞吐量优化。
Embodied.cpp如何处理不同模型组件的不同刷新率? 它暴露显式的执行单元和可配置的刷新策略,使得感知编码器、Transformer骨干网络、预测分支和动作头可以各自以所需频率运行,而不强制使用单一同步路径。
Embodied.cpp支持哪些硬件平台? 它通过后端抽象层面向异构边缘设备,包括Jetson平台、RK系统、x86边缘盒子和工作站级硬件。
Embodied.cpp可以运行哪些类型的具身模型? 该运行时目前支持视觉-语言-动作(VLA)模型和世界-动作模型(WAM),并采用插件架构,能够在不重建周围运行时的情况下吸收新的具身模型族。
