北大 AIRS 联合 PrimeBot 开源 Jetson-PI(Apache-2.0),通过 FAAC 异步推理 + 置信度调度 + llama.cpp 引擎三件套,把 π0.5 在 Jetson Orin 上从 0.70Hz 提到 6.06Hz,且不丢精度。


北大 AIRS 联合 PrimeBot 开源 Jetson-PI(Apache-2.0),通过 FAAC 异步推理 + 置信度调度 + llama.cpp 引擎三件套,把 π0.5 在 Jetson Orin 上从 0.70Hz 提到 6.06Hz,且不丢精度。
把 VLA(Vision-Language-Action)模型从 RTX 4090 工作站搬到机器人机身上,一直是具身智能落地的硬骨头。π0.5 在 NVIDIA Jetson Orin 上跑一次推理大约 1.4 秒,对应控制频率仅约 0.7 Hz——机器人动作迟缓,连续动作块之间还会出现明显停顿。北京大学、AIRS 与 PrimeBot Research Institute 联合开源的 Jetson-PI(Apache-2.0)给出了一套完整方案:不靠量化、不靠剪枝,从异步推理算法、模型调度、底层推理引擎三层同时下手,把 π0.5 在 Jetson Orin 上的控制频率提升到 6.06 Hz(8.66×),且不损失精度。这是从"实验室 Demo"走向"工业级可长期工作"的关键一步。
论文:https://arxiv.org/abs/2607.12659 异步推理代码:https://github.com/PKU-SEC-Lab/Jetson-PI 端侧推理引擎:https://github.com/PKU-SEC-Lab/Jetson-PI-Edge
传统同步推理下,机器人必须等模型生成完整动作块才能开始执行,端侧设备算力有限,推理延迟直接表现为长时间停顿。自然的解法是异步推理:执行当前动作块的同时,模型并行预测下一个动作块。但异步推理引入两个新问题:
以往的异步方法尝试在时间维度上融合新旧轨迹来提升平滑度,但动作预测本身仍然存在上述两个问题。Jetson-PI 走了一条不同的路:不融合轨迹,而是直接预测未来的环境表征,从未来时刻开始预测动作。
Foresight-Aligned Asynchronous Correction(FAAC) 是 Jetson-PI 的方法核心。团队训练了一个轻量级 未来修正模块(Future Correction Module):
关键设计上的克制:
整个未来修正模块约 40M 参数,仅占完整 VLA 模型参数量的约 1%,不会给端侧设备带来过大负担。训练过程中会随机采样未来时间跨度,让同一套修正模块可以适配 Jetson Orin、Jetson Thor 或更高性能 GPU 的不同延迟。
引入未来修正后,理论上完成一次 VLM 观测后只需反复调用未来修正模块和动作专家就能持续生成动作。但未来修正存在误差,长期只依赖它会累积出错。
Jetson-PI 的洞察是重新理解 VLM 与动作专家的分工:
于是有了基于置信度的调度机制(Confidence-based Scheduling):未来修正模块在预测未来表征的同时输出置信度。
实测在动作平稳、环境变化容易预测的阶段置信度通常较高;抓取、接触、放置等关键步骤置信度明显下降,触发 VLM 重新观察。这相当于让机器人学会判断"什么时候可以凭已有认知继续,什么时候必须重新看一眼"。
算法解决了"何时调用模型",但要让 π0 / π0.5 真正达到端侧实时控制,底层推理系统也得重做。团队基于 llama.cpp 开发了 Jetson-PI-Edge,针对 VLA 执行特点做了三项核心优化:
传统语言模型输出长度随解码过程动态变化,计算图形态也在变。VLA 推理则不同:摄像头数、图像分辨率、动作维度固定时,大部分输入张量尺寸固定;语言指令通常较短,可 padding 到固定长度。因此第一次推理时构建 CUDA Graph,之后直接复用,避免每轮控制重复建图。
ViT / LLM / 动作专家之间要传递视觉 embedding、KV Cache 等中间结果。通用推理框架会把它们写回 CPU 内存,再由下一个模块重新复制到 GPU——内存带宽有限的端侧设备上这类 H2D / D2H 往返开销明显。Jetson-PI-Edge 为固定尺寸中间结果预留 GPU 缓冲区,让 ViT、LLM、动作专家直接复用 GPU 上的数据。
π 系列动作专家要执行多轮 flow matching 去噪。如果每步单独调用计算图,会有重复调度和 kernel launch 开销。Jetson-PI-Edge 把多轮去噪展开到统一计算图——第一次建图成本高一些,但之后可持续复用,特别适合机器人长时间运行的控制循环。
| 阶段 | PI0.5 总延迟 | PI0 总延迟 |
|---|---|---|
| Naive | 1420.8(ViT 152.3 / LLM 631.0 / AE 536.8) | 1250.9 |
| +Schedule optimization | 1420.8 | 1251.5 |
| +Graph reuse | 476.1 | 444.4 |
| +Buffer + Unroll | 412.9(ViT 79.5 / LLM 210.3 / AE 123.1) | 394.5(ViT 75.4 / LLM 200.3 / AE 118.8) |
结合置信度调度后,系统反应时间进一步降至 165.1 ms,控制频率达到 6.06 Hz,相较原生 PyTorch(0.70 Hz)提升 8.66×。注意这套加速不以量化或剪枝为前提,理论上可与量化、剪枝组合进一步降延迟。
Jetson-PI(Ours+Sched)在四个子集上均列首位:
| 子集 | Jetson-PI SR |
|---|---|
| SPATIAL | 97.4 |
| OBJECT | 98.6 |
| GOAL | 96.8 |
| LIBERO-10 | 92.5 |
随着异步延迟增大,只预测未来机器人状态的 VLASH 性能明显下滑。Δ=9 时 Jetson-PI 在四子集平均比 VLASH 高 45.6 个百分点,比 RTC 高 7.0 个百分点;整体平均比 VLASH 高 14.8 pp,比 RTC 高 3.9 pp。这组实验说明:端侧 VLA 不只是"把推理做快",还要让模型理解在延迟时间内机器人执行的动作会怎样改变未来环境。
PrimeBot X2-W 机器人(1 头部 + 2 腕部摄像头,224×224,15 Hz 动作执行),任务拆为衣物拾取 / 展开+折叠 / 整理存放三子任务。Jetson-PI 轨迹更连续、衣物操作更流畅,关键阶段不会因感知—执行错位造成失败。
git clone --recurse-submodules https://github.com/PKU-SEC-Lab/Jetson-PI
cd Jetson-PI
git submodule update --init --recursive
export PYTHONNOUSERSITE=1
GIT_LFS_SKIP_SMUDGE=1 uv sync
GIT_LFS_SKIP_SMUDGE=1 uv pip install -e .
# 打 π0.5 PyTorch/JAX 兼容性补丁
cp -r ./src/openpi/models_pytorch/transformers_replace/* \
权重仓库 zebinyang/Jetson-PI-pi05 含两个目录 pi05_libero/ 和 future_correction_module/,不要合并 params 树。
pip install modelscope
python -c "from modelscope import snapshot_download; snapshot_download('zebinyang/Jetson-PI-pi05', local_dir='./checkpoints/jetson-pi-pi05')"
export PI0_CHECKPOINT=./checkpoints/jetson-pi-pi05/pi05_libero
export WM=./checkpoints/jetson-pi-pi05/future_correction_module| Stage | 步数 | 训练内容 |
|---|---|---|
| Stage 1 | 30000 | Action Expert + token reducer(L_act) |
| Stage 2 | 15000 | Future correction module(L_cond,无 logvar head) |
| Stage 3 | 55000 | L_cond(无 reducer)+ L_act on Pi0 AE + 全 LLM(μ detached) |
固定 handover H=10,max_delta_t=10,action_encoder=transformer_block。
bash scripts/train_wm_libero_spatial_four_stage.sh可 override STAGE1_STEPS / STAGE2_STEPS / STAGE3_STEPS / BATCH_SIZE / NUM_WORKERS / EXP_NAME,日志在 logs/<EXP_NAME>.log。
export PI0_CHECKPOINT=PATH/TO/CHECKPOINT/pi05_libero
export PY_SERVER=PATH/TO/PYTHON # 必须是带 JAX 的 venv
export WM=PATH/TO/future-correction-module
export CUDA_VISIBLE_DEVICES=0
export PORT=8000
bash scripts/eval_wm_libero_spatial.sh默认 libero_spatial,50 trials/task,H=10, K=9, overlap=1。
置信度调度(自适应多 rollout):
export LIBERO_WM_EVAL_ADAPTIVE_KAPPA=1
export LIBERO_WM_EVAL_KAPPA_DELTA=0.4
bash scripts/eval_wm_libero_spatial.sh切换其他任务套件:export LIBERO_WM_EVAL_TASK_SUITE=libero_object|libero_goal|libero_10。
💡 避坑:
ModuleNotFoundError: jax→ 把PY_SERVER设为带 JAX 的 venv- OOM → 降
BATCH_SIZE/XLA_PYTHON_CLIENT_MEM_FRACTION=0.85/NUM_WORKERS=0- 缺
norm_stats→--pi0-norm-checkpoint-dir指向含assets/physical-intelligence/libero/norm_stats.json的树- EGL/display 问题 → 装
xvfb或MUJOCO_GL=egl
CPU-only:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --target llama-server -jJetson / CUDA:
cmake -S . -B build -DGGML_CUDA=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build --target llama-server -jPI_MODEL 支持 auto | pi0 | pi05(默认 auto 从 GGUF metadata 与 tensor 名识别):
PI_MODEL=auto ./build/bin/llama-server \
-m /path/to/pi_llm.gguf --mmproj /path/to/mmproj.gguf \
-ngl 99 --host 0.0.0.0 --port 8080按顺序四步:
POST /foreground/reset — 初始化会话POST /foreground/image(两次,两个相机视角)PUT /foreground/state(32 维机器人状态 CSV)POST /foreground/infer body {"text":"pick up the object and place it into the tray"}响应含 action_final 与 encode_ms / decode_ms / total_ms / timing_breakdown_ms,方便逐模块定位延迟。
from jetson_pi_foreground import ManagedForegroundSession
session = ManagedForegroundSession(
server_path=...,
model_path=...,
mmproj_path=...,
gpu
复用同一 session 可避免每步重建 CUDA context——这是控制循环里非常关键的一笔性能节省。
通过 C API provider,同一 GGUF 运行时可暴露给 FlashRT Python 接口,无需起前台 HTTP。cmake 配 -DFLASHRT_CPP_WITH_JETSON_PI=ON -DJETSON_PI_ROOT=/path/to/Jetson-PI-Edge -DGGML_CUDA=ON -DGGML_CUDA_FA=ON,构建 libflashrt_cpp_llama_cpp_provider_c.so。
Jetson-PI 框架并不锁死 π0 / π0.5,后续将支持:
适合:
当前局限:
Jetson-PI 关注的不是把 VLA 参数推到更大,而是解决一个更接近真实机器人落地的问题:当模型必须在功耗、带宽、散热都受限的机载设备上运行时,如何让它依然具备足够快的反应速度。答案由三部分组成:用未来环境表征缓解异步推理中的感知—执行错位;用置信度调度减少不必要的 VLM 调用;用面向 VLA 特性的系统优化压缩端侧执行开销。代码、引擎、权重、训练脚本全部开源,对做具身智能的开发者来说,这是 2026 年值得直接 fork 作为起点的项目。
论文:https://arxiv.org/abs/2607.12659 异步推理代码:https://github.com/PKU-SEC-Lab/Jetson-PI 端侧推理引擎:https://github.com/PKU-SEC-Lab/Jetson-PI-Edge

Anthropic 发布 Agent View 研究预览版,一个界面管理多个 Claude Code 会话,支持后台并行、状态追踪和 worktree 隔离。

飞书 CLI 开源近 120 项能力,结合 Claude Code 实现会议知识库沉淀、工作复盘、对账自动化、画板协作和自动报销,全程免费可用。

字节跳动开源 DreamLite,0.39B 参数统一扩散模型,在 iPhone 17 Pro 上 3 秒生成或编辑 1024x1024 图像,无需云端。