Activity

BEHAVIOR-1K project recap, Sep 30 to Nov 1

BEHAVIOR-1K 2026 challenge, project recap as of Nov 1 HST

The project started as experiments on Comet's pt50 checkpoint and grew into our part of the team's submission, row T3S2 "Comet pt50 + follower", which scores Q 0.0924 (SR 0.018), rank 36 of 56 against 0.683 for the top verified row. Our main contribution was finding the stale step-0 frame in the v3.9.3 evaluator. Most other ideas came out negative or neutral when measured, and the main track has now moved to world action models.

Every number comes from the handoff (docs/HANDOFF_DISTILL.md on the notes branch), the issues and PRs of KantaS12/Behavior1k-Challenge-Tests, or the world model notes. The full write-up with more tables is docs/PROJECT_RECAP.md on the notes branch. All times are HST.

Timeline

Main phases of the project
dateswhat happened
Sep 30 to Oct 2pt50 experiments on sorting_vegetables, covering the step-count grid, warm start, WarmPrior, stage head, 2x speed, prompt probe, fine-tune regression and RFT pipeline. DAgger probe parked.
Oct 3Clean restart on the group's openpi-comet-b1k and sim v3.9.3. Earlier work archived (PR 44). Assignment is SnapFlow distillation.
Oct 3 to 5v3.9.3 eval stack on KOA in the Isaac Sim 5.1.0 container, policy-server Docker image, pt50 trash scores shown to be noise.
Oct 5 to 8Practice run of pt50 on all 100 tasks. Original 50 at Q 0.151, three easy tasks at exactly 0.
Oct 8 to 12Stale step-0 frame found (issue 49), warm-up fix, 1,000-rollout warm-up rerun, radio before and after A/B.
Oct 13 to 16Step planner and follower tests, follower image pushed, 99-task dataset. Team submits on Oct 16.
Oct 19SnapFlow sim result negative. World model survey. Failure watcher v1 mostly negative.
Oct 22 to 30Recovery data collection with a scripted recoverer, versions v2 to v5c, then cuRobo rounds v6 to v6n. Frozen held-out set from Oct 25.
Oct 28 to Nov 1MolmoAct2 setup, WAM comparison, leaderboard scores public, Flex-pi smoke, LoRA pilot and offline check. Main track moves to WAMs on Oct 31.

Results across approaches

Best measured result of each approach against its baseline
approachmetricresultbaselineverdict
WarmPrior (#4)q at 2 steps, sorting_vegetables, 10 episodes0.215cold 0.146, pt50 at 10 steps 0.492few-step gain, but every fine-tune lost to pt50
Fine-tunes from pt50 (#32)q at 10 steps0.285pt50 0.492regression from a 10x learning rate
2x action speed (#25)q over 10 tasks (group run)0.3951x 0.252adopted as the default
SnapFlow student (#27)paired Q, 3 tasks, 20 pairs2 steps 0.142pt50 10 steps 0.292negative, no speed gain
Warm-up for the stale frame (#53)original-50 Q, 500 rollouts0.15460.1515radio 0 to 3 successes, overall neutral
Evaluator fix on radio (#49)success over 50 pairs16 of 50, 0 stalestock 12 of 50, 28 stalestale and driving p < 0.001, success p 0.42
Planner plus follower hybridtotal Q on 5 tasks1.0 over 44 rolloutspt50 9.33 over 50did not ship
Submission T3S2challenge Q0.0924top verified 0.683rank 36 of 56
Failure watcher v1 (#72)AUROC at 25% of the step budget0.94task plus elapsed time 0.90CI includes zero
Recoverer, best cuRobo round (#74)clean recordings on held-out tasks4 of 102 of 10 before cuRobocuRobo helped, dev tuning did not transfer
Flex-pi pilot5 (#118)arms MAE on train demos0.031 radhold still 0.022 radworse than holding still, retrain pilot6 queued
MolmoAct2 (#111)none yet--smoke test pending for an H200

First phase on pt50

Before the group's 2026 stack existed, we ran pt50 on sorting_vegetables to learn what limits it. One flow step collapses (q 0.017 against 0.492 at 10 steps). WarmPrior keeps q at 1 to 2 steps (0.123 against 0.038 at 1 step, p 0.03), but every model we fine-tuned from pt50 scored about half of pt50. The audit traced that to our learning rate, 2.5e-5, ten times Comet's SFT rate, after a zero-step round trip proved the pipeline itself bit-identical. A prompt probe showed pt50 barely uses its prompt (subtask text raises action error by 19%, nonsense by 18%). The stage head, RFT pipeline and 100-task fine-tune were built but never run at scale before the Oct 3 restart.

The stale step-0 frame

In the v3.9.3 batched evaluator the first observation is often a stale spawn render, the same in every env. pt50 then closes its left gripper on nothing and never drives, which explained why turning_on_radio scored 0. Replaying the stale request closed the gripper in 32 of 32 chunks and the fresh one in 0 of 32. Stale batches were 0 of 20 with 1 env and 5 of 6 with 4, because each extra env adds 3 cameras and pushes the first fresh frame past the reset's 4 render updates. Details and videos are on the radio stale frame page.

pt50 practice runs, public test instances 0 to 9 of every task, 2x speed, 4 envs per sim
runrolloutsmean Qsuccesses
baseline, original 505000.151522
warm-up, original 505000.154618
paired difference (CI -0.022 to +0.029)500+0.003-
warm-up, new 505000.01940
warm-up, all 1001,0000.08718

SnapFlow

SnapFlow self-distills pt50's flow sampler to one step. The 30k-step student halves pt50's 1-step error offline (0.00144 against 0.00278 MSE to the 10-step teacher), but in sim the 1-step student loses 0.233 Q against pt50 at 10 steps (CI -0.408 to -0.058) and every arm spends about 2.7 s per request, since the VLM prefix dominates. See the SnapFlow sim page.

Submission

Submitted rollouts, haw-ai-i/behavior1k-2026-pt50-follower-eval
partpolicymean Qsuccesses
original 50pt50 with warm-up0.154618
new 49armB follower0.03080
all 99pt50 and armB0.093418
challenge score, stacking_wood as 0pt50 and armB0.0924-

A timer planner with the team's follower scored a total Q of 1.0 on 5 tasks against 9.33 for pt50, and the team's own run with a privileged phase detector got Q 0.017 against pt50's 0.019 on the new 50. Even perfect step switching does not help, so the follower finishing steps is the limit. See planner against pt50 and the 99-task submission.

Recovery data collection

After the deadline the goal became better training data. A scripted recoverer with privileged sim state restores the state where pt50 stalled, finishes the next phase and records it. A round counts clean recordings, which pass the phase detector and the harm gate, on development cases and on a frozen set of 10 held-out cases from 8 tasks never run or diagnosed. Replays are on the recovery replays page.

Selected recoverer rounds, clean recordings
roundmain changedevheld-out
v5 (Oct 26)v4 plus overfitting audit fixes3 of 161 of 10
v5b (Oct 26)original grab, tight grasp off5 of 222 of 10
v5c (Oct 26)replan wall cap0 of 42 of 10
v6 (Oct 28)cuRobo as base and stance layer1 of 53 of 10
v6b (Oct 28)search legs on cuRobo1 of 53 of 10
v6c (Oct 29)torso-up posture retry2 of 54 of 10
v6j (Oct 30)hands lifted out of baskets4 of 54 of 10
v6n (Oct 30)push rise, flat picks, wider stances1 of 54 of 10

cuRobo was the only change that moved the held-out yield. The dev fixes that lifted dev from 2 to 4 of 5 did not transfer, and the v6n drop came from run-to-run variance in IK stances, not a code bug. The recoverer is now a part-time data source.

World action models

Three of the top four verified leaderboard rows use a world action model, which starts from a video model and predicts video and actions together. Flex-pi was picked as the best fit in the WAM comparison. Its LoRA pilot (5 tasks, 8,000 updates, 10.6 L40 GPU-hours) learned the grippers but not the arms.

Flex-pi pilot5 offline check on 5 training demos, MAE over 32 steps
action groupFlex-pi step 8000hold stillrepeat last
arms (rad)0.0310.0220.019
torso (rad)0.0200.008-
base (m/s)0.0350.0460.027

The diagnosis on Nov 1 found no time or delta bug. The predicted arm displacement correlates only 0.04 with the demo, because q01 and q99 action normalization squeezed arm deltas to a std of 0.09 in [-1, 1]. The config now uses z-score actions, and the retrain, pilot6 (job 15295531, about 10.5 L40 GPU-hours), was submitted on Nov 1 with a Slurm start estimate of about 8:30 PM HST Nov 2. MolmoAct2 has its data converted (10,000 episodes, 119 million frames), and its smoke test, job 15293671, waits for an H200 with a Slurm estimate of about 1:25 PM HST Nov 5.

Leaderboard

2026 leaderboard as published Oct 30, top rows and ours
teammethod labelQSRverified
The North StarHiearchical Physical RSI0.6830.482yes
IF1001VLA WAM0.6150.412yes
CyberWAM0.5960.396yes
asteroidAgent WAM0.514-self-reported
AnyverseA2MEAS0.498-yes
AutolabA2WLA0.495-yes
T3S2 (ours, rank 36 of 56)Comet pt50 + follower0.09240.018self-reported

What we learned

Open threads