Psi0 pick_and_place_between_two_tables:6k 部署交付包

此仓库保存 pick_and_place_between_two_tables 微调(Slurm 274378,计划 40k updates)的 checkpoint 6000,连同训练时实际使用的源码快照、归一化、Qwen tokenizer/processor、训练指令的 CLIP 向量、客户端和控制器补丁。它是中间 checkpoint,不是完成 40k 训练的最终模型。原计划的 5k 已被训练滚动清理删除,因此选用最近的 6k。

适用接口为 Unitree G1 + Dex3、SONIC v1.1:state43,action78 = SONIC token64 + 左手7 + 右手7,action chunk30,30Hz。线协议 cart78.v1 与 ChenyuanC/psi0-moving-dining-cart-4k5k 相同,控制器补丁也相同,但两个包不能混用:

本包 6k moving_dining_cart 4k/5k
模型 Qwen3-VL 全量微调、12 层 action expert、CLIP 指令向量,输入 240×320 冻结 VLM、6 层,180×320
手序(模型内) Dex3 actuated:thumb0-2, index0-1, middle0-1,client 不重排 URDF:index/middle 在前,client 重排
RTC 训练未用 RTC;重规划用上游 test-time guidance 训练时 RTC
默认推理 3 flow 步,冻结前缀 12 帧(400ms 预算) 6 步,7 帧(233ms)
指令 只接受 Pick an object from one table and place it on the other table. 任意

client 依据 bundle 契约选择手序映射,未知契约直接拒绝。

文件与校验

文件 大小 内容
deploy_6k.tar 6,259,578,880 bytes 脚本、说明、测试证据及完整推理 bundle,解包到 deploy/
deploy_scripts_6k.zip 344,658 bytes 轻量脚本/说明/证据;不含模型权重
checksums.sha256 小文件 两个归档的 SHA256
upload_manifest.json 小文件 交付身份、大小、SHA 及验证范围
身份 SHA256
checkpoint 6000 模型文件 190cc85b971518c29fffe96b3e1c8c5d26d66b945d114022a8b323e6a311701a
bundle manifest 35771b48656d406f69e004462b5334cd0310ab28de1677a013c3903aa88afe85
deploy_6k.tar bb8a83d0188c8c62dbdcaf57ce081c3198285059479311eb32c9cb59442664ea

tar 内 226 个普通文件已逐一重读,并与包内文件的大小和 SHA 核对。推理 bundle 含完整 VLM 与动作头权重(BF16),不需要训练数据、初始权重、CLIP 编码器或 optimizer 即可加载。没有打包 optimizer、scheduler、数据集、Python 环境、TLS 凭据或机器私钥;SONIC ONNX、TensorRT 和 Unitree 运行时需在目标机器另行准备,控制器必须匹配 bundle 记录的 v1.1 资产 SHA。

下载

私有仓库需要有访问权限的 Hugging Face 账号。不要把 token 写入共享脚本或命令记录。

python3 -m venv .venv-hf-download
source .venv-hf-download/bin/activate
python -m pip install --upgrade huggingface_hub
hf auth login
hf download ChenyuanC/psi0-pick-and-place-two-tables-6k \
  deploy_6k.tar deploy_scripts_6k.zip checksums.sha256 upload_manifest.json \
  --local-dir ./psi0-pick-and-place-two-tables-6k
cd psi0-pick-and-place-two-tables-6k
sha256sum -c checksums.sha256
mkdir -p unpacked && tar -xf deploy_6k.tar -C unpacked
cd unpacked/deploy

完整下载并解包约需 12.6GB 空间,另预留 Python 环境与缓存空间。

使用

./deploy_checkpoint.sh 6000 init
./deploy_checkpoint.sh 6000 verify
./setup_env.sh server
./setup_env.sh client --with-tests
./deploy_checkpoint.sh 6000 server --import-check

之后按解包后的 README.md 第 3–4 节:先 server --allow-execution + 原始录制 replay 做无发令 profiling,检查 /deployment-info 的 ready/latency_ok/fault,再进入真机三终端流程(controller 检查 → ] 进入 reference CONTROL → client dry-run → client --execute → 控制器终端手动 Enter)。client 不会自动 arm;250ms 收包 lease 失效会回到暂停 reference、保持手目标,不关闭电机力矩。

已做的测试与限制

2026-09-24,A100-SXM4-40GB、SDPA,只用 localhost 与录制观察,不发送任何机器人命令:

检查 结果
部署路径开环精度(54 帧,3 步) token L1 0.0145、hand L1 0.0080;训练评估(step 6000)0.0132 / 0.0074
真实服务 WebSocket(3 步、12 帧前缀) 重规划 p50 305 / p95 313 / 最大 316ms(预算 400ms);595 个 dry-run、54 个仅协议 execute 动作,无 fault
4 步 p95 398 / 最大 401ms,一次重规划超时被正确拒绝,余量不足
手序 全部 16 条原始录制经 client 转换后与训练 states 逐帧一致(最大差 0)
CPU/localhost 套件 server/client/ZMQ lease/launcher/C++ guard 全部通过

没有验证 WS012744 的 RTX5090(尤其与 SONIC 控制器共用 GPU 时)的时延,也没有测量抓放成功率、接触稳定性或停止回退的实机效果。 服务在运行时逐次检查时延,超预算不会发动作。训练没有独立验证集(16 条示范全部用于训练),上表开环误差只证明部署路径与训练一致,不代表泛化或任务成功。

数据与训练背景

  • 数据:ChenyuanC/pick_and_place_between_two_tables rev 0316e05b;25 条录制中 16 条保留(9,222 帧),9 条丢弃。
  • 初始化:postpre.sonic1.0.unifolm.2609092156.40k;VLM 全量微调(lang 1e-6、vision 1e-5、projector/action 1e-4),全局 batch 128,cosine,计划 40k updates。
  • 源码:Psi0 4f3720d45e102b36d7c3e9465ab8062274170518 加训练时本地修改,快照与 patch 随 bundle 提供。

许可证与第三方组件

Psi0 上游代码的 Apache-2.0 声明保留在 licenses/Psi0-LICENSE.txt。推理权重继承 Psi0 预训练模型及 Qwen 骨干的适用条款;CLIP 指令向量由 OpenAI CLIP ViT-L/14 计算。SONIC 声明见 licenses/SONIC-LICENSE.txt;本 tar 未包含 SONIC ONNX 或 TensorRT/Unitree 运行时。完整来源记录见 THIRD_PARTY_NOTICES.md。

Downloads last month

-

Downloads are not tracked for this model. How to track
Video Preview
loading

Dataset used to train ChenyuanC/psi0-pick-and-place-two-tables-6k