The Wire · Showcase
LEROBOT CUTS EVAL OVERHEAD IN HALF, TRL FIXES DEVICE HARDCODING
By RepoJournal · Filed · About Hugging Face
LeRobot's evaluation loop was burning CPU cycles on finished episodes while waiting for slower sims to complete, and a fix shipping today reclaims that wasted compute.
The performance win is straightforward: rollout() spins sub-environments in a batch until all finish, but a sub-env that terminates early keeps getting physics simulations and offscreen rendering while the slowest sibling continues [1]. A batch now runs for mean(episode_lengths) instead of max(episode_lengths), with surplus work discarded [2]. In parallel, the robot team patched a second instance of the same Feetech bus vulnerability that took down control loops last cycle—this time in LeKiwi motors [3]. A single corrupted status packet would raise ConnectionError because sync_read lacked retry logic; the fix adds num_read_retries (default 2) across all three read sites [4]. Over on TRL, a hardcoded cuda device broke vLLM weight sync on non-CUDA accelerators like Ascend NPU, which TRL explicitly supports [5]. Diffusers filled sixteen scheduler docstrings with missing parameter entries that left callers reading only Args blocks unaware required parameters existed [6]. Moon IDE gained terminal session persistence, workspace renaming, and backend-seeded session state on load [7].
One email a day. Unsubscribe in one click.
Keep up with Hugging Face in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Pull LeRobot's eval performance fix to speed up robotics training loops huggingface/lerobot [plan]
- → Review TRL's device abstraction fix if running FSDP2 on non-CUDA hardware huggingface/trl [immediate]
- → Check diffusers scheduler docstrings for your integration path huggingface/diffusers [monitor]
References
- [1] perf(eval): stop simulating environments whose episode has ended ↗ huggingface/lerobot
- [2] perf(eval): stop simulating environments whose episode has ended (#4247) huggingface/lerobot
- [3] fix(lekiwi): retry LeKiwi bus reads on transient Feetech errors ↗ huggingface/lerobot
- [4] fix(robots): retry LeKiwi bus reads on transient Feetech errors (#4283) huggingface/lerobot
- [5] Use accelerator device instead of hardcoded cuda in FSDP2 vLLM weight sync ↗ huggingface/trl
- [6] Add missing `Args:` entries to scheduler docstrings (#14354) huggingface/diffusers
- [7] Seed session running status from backend on load huggingface/moon-ide