SARM
Stage-Aware Reward Modeling: a video-based reward model for long-horizon manipulation that jointly predicts the current task stage and within-stage progress, normalised to task progress in [0, 1]. In LeRobot it is trained on your own dataset and its progress predictions can weight policy training via Reward-Aligned Behavior Cloning (RA-BC).
verified 2026-10-24paper →
Architecture
Compute requirements
No sourced requirements yet.
Training requirements: see also the LeRobot compute hardware guide, the authoritative source for LeRobot training envelopes.
Measured inference 0 runs · inference cost only, not task success
No measured runs yet. Submit one with its runtime, precision and camera count.
Framework support
| Framework | Support | Since | Type string | Docs |
|---|---|---|---|---|
| LeRobot | nativesrc | 0.4.3 | sarm | docs |
| LeRobot: A reward model, not a policy: at v0.6.1 it lives in src/lerobot/rewards/sarm and is registered with RewardModelConfig.register_subclass("sarm") (the train config has a separate `reward_model` field). Added in v0.4.3 under src/lerobot/policies/sarm; moved to src/lerobot/rewards in v0.6.0 ("Reward models refactor"). The v0.6.1 sarm.mdx training examples still pass `--policy.type=sarm`. Used to compute RA-BC sample weights (`--sample_weighting.type=rabc`), which the docs say currently supports PI0, PI0.5 and SmolVLA. | ||||
Checkpoints
None recorded.
Related terms
Sources
- T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
SARM is a video-based reward modeling framework, optionally used with RA-BC.
“SARM (Stage-Aware Reward Modeling) is a video-based reward modeling framework for long-horizon robot manipulation tasks.”
https://github.com/huggingface/lerobot/blob/v0.6.1/docs/source/sarm.mdx - T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
SARM processor encodes images and task text with CLIP ViT-B/32 and pads robot state.
“- **Encodes** images and task text with CLIP (ViT-B/32) into `video_features` and `text_features`”
https://github.com/huggingface/lerobot/blob/v0.6.1/docs/source/sarm.mdx - T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
RA-BC weighting currently supports PI0, PI0.5 and SmolVLA.
“Currently PI0, PI0.5 and SmolVLA are supported with RA-BC:”
https://github.com/huggingface/lerobot/blob/v0.6.1/docs/source/sarm.mdx - T1 · upstream documentedsource-codesource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1
SARM is registered as reward-model type `sarm` (RewardModelConfig, not PreTrainedConfig).
“@RewardModelConfig.register_subclass("sarm")”
https://github.com/huggingface/lerobot/blob/v0.6.1/src/lerobot/rewards/sarm/configuration_sarm.py - T1 · upstream documentedrelease-notessource 2026-01-22verified 2026-10-24 (1d ago)lerobot 0.4.3
SARM was first added in LeRobot v0.4.3.
“* Add sarm by @pkooij in https://github.com/huggingface/lerobot/pull/2639”
https://github.com/huggingface/lerobot/releases/tag/v0.4.3 - T1 · upstream documentedrelease-notessource 2026-07-06verified 2026-10-24 (1d ago)lerobot 0.6.0
v0.6.0 refactored reward models into src/lerobot/rewards.
“* Reward models refactor by @s1lent4gnt in https://github.com/huggingface/lerobot/pull/3142”
https://github.com/huggingface/lerobot/releases/tag/v0.6.0