You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Summary
This PR fixes two GR00T N1.5 checkpoint portability issues.
### 1. Processor device portability
Previously, `policy_preprocessor.json` could save
`device_processor.device` from the training environment. For example, a
checkpoint trained on MUSA could contain `device: musa`, which would
fail when serving on Ascend/NPU.
This PR overrides `device_processor.device` at serve/inference load time
using the runtime device from the current config.
### 2. Base model path portability
GR00T N1.5 checkpoints require `base_model_path` to load the base model
during serve/inference. If `base_model_path` is empty, serving can fail
with a HuggingFace repo id validation error.
This PR:
- Saves local `checkpoint_dir` values as absolute `base_model_path`
values.
- Preserves HuggingFace repo ids as-is.
- Adds a clear error when `base_model_path` is empty.
## Validation
Validated on Ascend 910B:
- Ran GR00T N1.5 5-step training and saved a checkpoint.
- Verified `config.json` contains a non-empty absolute
`base_model_path`.
- Verified `base_model_path` exists in the runtime environment.
- Manually changed `policy_preprocessor.json` device to `musa` to
simulate a cross-device checkpoint.
- Served the checkpoint with runtime device `npu`.
- `/healthz` returned `OK`.
- WebSocket inference returned `actions shape: (16, 7)`.
0 commit comments