cheikh025 commited on
Commit
5e46a18
Β·
verified Β·
1 Parent(s): 1f55cef

Upload promoted/0014_continued_from_exp0013_dirresume/PROGRESS_0014_continued_from_exp0013_dirresume.md with huggingface_hub

Browse files
promoted/0014_continued_from_exp0013_dirresume/PROGRESS_0014_continued_from_exp0013_dirresume.md ADDED
@@ -0,0 +1,217 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # PROGRESS_0014 β€” continued_from_exp0013_dirresume
2
+
3
+ - **Experiment ID:** 0014_continued_from_exp0013_dirresume
4
+ - **Status:** `PROMOTE`
5
+ - **Created:** 2026-08-11
6
+ - **Updated:** 2026-08-12
7
+ - **Parent experiment:** 0013_continued_from_exp0010 (`PROMOTE`)
8
+ - **Parent checkpoint:** `runs/reweighted_libero90_finetune/exp0013_continued_fixed/checkpoints/state/step_008000` (full accelerate/deepspeed state, directory resume)
9
+ - **Selected candidate checkpoint:** n/a β€” training in progress
10
+ - **Git branch:** `autoresearch/libero90-v1`
11
+ - **Git commit:** `b2b49d0` (both resume fixes applied)
12
+
13
+ ## 1. Result at a glance
14
+
15
+ Direct continuation of the newly-promoted exp0013 checkpoint via **directory/full-state resume** (not weights-only) β€” the first real production use of the validated directory-resume fix (commit `b2b49d0`). exp0013's own 8000-step schedule had fully decayed to `lrβ‰ˆ3.0e-7` by its end; extending `max_steps` from 8000 to 14000 and resuming from the full-state directory rebuilds the scheduler for the new 14000-step shape and fast-forwards it to `global_step=8000`, which correctly resumes at a substantially higher LR (~1.6e-5, the mathematically correct position 8000/14000 through a 14000-step cosine schedule) rather than continuing at the near-zero LR exp0013's own (too-short) schedule ended on. This preserves optimizer momentum/variance state exactly, unlike exp0013's own weights-only resume from exp0010.
16
+
17
+ ## 2. Research state before experiment
18
+
19
+ exp0013 was just promoted (canonical): LIBERO-Spatial 94.40%, LIBERO-Object 98.00%, LIBERO-Goal 97.40%, LIBERO-Long/10 93.00% (all clear the 90% retention floor with real margin), **LIBERO-90 88.49%** β€” 1.51pp short of the project's 90% target, the sole remaining gap. The exp0009β†’0010β†’0013 trend (LIBERO-90: 48%β†’72%β†’76%β†’88.49%) has shown no plateau across three consecutive extensions, making more training the best-evidenced next lever. exp0013's own full-state checkpoint was deliberately preserved (not pruned) specifically to enable this true continuation.
20
+
21
+ ## 3. Candidate design
22
+
23
+ ### Modifications
24
+
25
+ 1. `resume=./runs/reweighted_libero90_finetune/exp0013_continued_fixed/checkpoints/state/step_008000` (directory/full-state resume of exp0013, not weights-only).
26
+ 2. `max_steps=14000` (extends exp0013's own 8000-step schedule by 6000 steps β€” a similar relative extension to exp0009β†’0010's +4000/1.5x).
27
+ 3. No other recipe changes (same reweighted goal5x/long5x mix, same `task=libero_uncond_2cam224_plus90_reweighted_3e-5`).
28
+
29
+ ### Why this candidate
30
+
31
+ Directory resume is the semantically correct tool for "keep this exact run going longer" (preserves optimizer momentum, continues from the exact trained state) and is now fully validated (commit `b2b49d0`, diagnostic-tested). The trend has shown consistent, large, non-plateauing gains from more training on this exact recipe across three prior extensions; the remaining LIBERO-90 gap (1.51pp) is small enough that a moderate further extension is plausible to close it, especially with optimizer state preserved this time (a genuine advantage over exp0013's own weights-only continuation from exp0010).
32
+
33
+ ### What to watch
34
+
35
+ - Whether LIBERO-90 continues climbing past 88.49% toward/past 90%.
36
+ - Whether any of the four original suites (especially LIBERO-Long/10 at 93.00% and LIBERO-Spatial at 94.40%, the closest to the 90% floor) regress as LIBERO-90 improves further.
37
+ - Early training health (val_loss/action_l2, LR trajectory) to confirm the resync fix continues to behave correctly in a real multi-thousand-step run (not just the short diagnostic).
38
+
39
+ ### Initial compute plan
40
+
41
+ - Initial training budget: `max_steps=14000` (6000 new steps from the resumed `global_step=8000`, ~5-6h at established throughput).
42
+ - Checkpoint/save plan: `save_every=500`, only the newest full-state checkpoint kept locally at any time (disk-monitor pattern), preserved (not pruned to zero) at run end for a possible further continuation.
43
+ - Progress check: plan a cheap-panel progress check around step ~11000-12000 if GPU contention allows, to decide whether to extend further, stop early, or proceed to confirmation/canonical evaluation at the full budget.
44
+ - **Decision at step ~10260 (2026-08-11 ~16:08 UTC): skip the interim progress check.** All 4 GPUs are saturated by training (eval cannot run concurrently under ZeRO-1, per the established operational lesson in `research/RUNBOOK.md`/`STATE.md`), remaining budget is small (~3700 steps, ~3h), and the trend across three prior extensions has shown no plateau or instability requiring early intervention. Cheaper to let training reach `max_steps=14000` and evaluate the final checkpoint directly (`CONTINUE_TRAINING`).
45
+
46
+ ## 4. Exact code and configuration state
47
+
48
+ - Git commit: `b2b49d0` (both resume fixes)
49
+ - Training config: `task=libero_uncond_2cam224_plus90_reweighted_3e-5`
50
+ - Config overrides: `max_steps=14000`
51
+ - Resume source: `runs/reweighted_libero90_finetune/exp0013_continued_fixed/checkpoints/state/step_008000` (full accelerate/deepspeed state β€” directory resume)
52
+
53
+ ## 5. Hardware and software environment
54
+
55
+ Unchanged from `research/progress/PROGRESS_0000_BASELINE.md` Section 5, except the two resume-fix commits in `src/fastwam/trainer.py` (`99826cc`, `b2b49d0`).
56
+
57
+ ## 6. Training execution and control timeline
58
+
59
+ - Exact launch command:
60
+ ```bash
61
+ source /workspace/venv-fastwam/bin/activate
62
+ export DIFFSYNTH_MODEL_BASE_PATH="$(pwd)/checkpoints"
63
+ export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
64
+ bash scripts/train_zero1.sh 4 \
65
+ task=libero_uncond_2cam224_plus90_reweighted_3e-5 \
66
+ resume=./runs/reweighted_libero90_finetune/exp0013_continued_fixed/checkpoints/state/step_008000 \
67
+ max_steps=14000 \
68
+ save_every=500 \
69
+ output_dir=./runs/reweighted_libero90_finetune/exp0014_continued_dirresume \
70
+ wandb.name=exp0014_continued_from_exp0013_dirresume
71
+ ```
72
+ - Start time: 2026-08-11 ~14:13 UTC (immediately after exp0013's canonical evaluation completed and GPUs freed β€” no idle time)
73
+ - End time: 2026-08-11 ~19:19 UTC (`max_steps reached step=14000`, clean exit, no crash, no OOM, no disk-full warning β€” runtime ~5h6min for the 6000 new steps)
74
+ - Final weights checkpoint: `runs/reweighted_libero90_finetune/exp0014_continued_dirresume/checkpoints/weights/step_014000.pt` (10,525,605,888 bytes; loads cleanly, 1649 tensors, bf16 β€” verified via direct load, same tensor count/dtype as exp0013's checkpoint; the byte-size difference from exp0013's `.pt` is non-tensor serialization overhead, not missing content)
75
+ - Final training diagnostics at step 14000: `val_loss=0.0694 infer_psnr=28.3011 infer_ssim=0.8797 action_l2=0.0059 action_l1=0.0370`, `lr=3.00e-07` (schedule fully decayed, as expected at the end of the 14000-step schedule)
76
+ - Note on incidental infra issue: the first launch attempt failed immediately (`accelerate: command not found`) because the default `/venv/main` venv doesn't have this project's dependencies β€” this project uses a dedicated venv at `/workspace/venv-fastwam`. Relaunched correctly with that venv activated; no impact on the run itself (failed attempt produced no checkpoints).
77
+ - Training health check (real-run validation of the directory-resume fix): no discontinuity or "relearning from scratch" signature at the resume boundary. `action_l2` stayed in the same low 0.003–0.025 band throughout (e.g. step 8200: 0.0091, step 10600: 0.0172, step 13400: 0.0106) rather than jumping back to the ~0.087 "randomly-initialized action head" level seen in the historically broken resumes β€” confirms the fix correctly preserved the trained action head and optimizer state in a real multi-thousand-step run, not just the short diagnostic.
78
+ - Final full-state checkpoint (`step_014000`) preserved on the scratch disk (older `step_013500` pruned), keeping a true directory-resume extension option available if needed.
79
+
80
+ ### Intermediate checkpoints and progress decisions
81
+
82
+ | Checkpoint / step | Training runtime so far | Eval purpose | Progress evidence | Decision | Updated training plan |
83
+ |---|---:|---|---|---|---|
84
+ | step_010260 | ~2h | `progress_check` (considered) | GPUs fully saturated by training (eval cannot run concurrently under ZeRO-1); ~3700 steps / ~3h remaining; no plateau/instability signal in loss curve | `CONTINUE_TRAINING` (interim check skipped as not cost-effective) | none β€” proceed to `max_steps=14000` |
85
+
86
+ ### Why training ended
87
+
88
+ Planned completion β€” reached `max_steps=14000` cleanly with no early-stop trigger.
89
+
90
+ ### Training anomalies
91
+
92
+ None during the successful run. (One unrelated launch-command error before the run started, see above β€” no training compute was spent on the failed attempt.)
93
+
94
+ ## 7. Evaluation events
95
+
96
+ ### Event 1 β€” `candidate_screen` (cheap panel)
97
+
98
+ - Checkpoint: `runs/reweighted_libero90_finetune/exp0014_continued_dirresume/checkpoints/weights/step_014000.pt`
99
+ - Reference: exp0013's step_008000.pt panel result (Spatial 95%, Object 90%, Goal 95%, Long 100%, LIBERO-90 80%, overall 92.0%)
100
+ - Tasks: same 21-task widened panel, 5 trials/task
101
+ - Raw results: `evaluate_results/exp0014_cheap_panel_v2/` (note: first launch attempt, `exp0014_cheap_panel/`, hit a stuck-tmux infra bug β€” see `research/NOTES.md` β€” and was discarded with zero real results produced; re-launched cleanly as `_v2`)
102
+
103
+ **Result β€” strong improvement across every suite, including a first-time-ever >90% LIBERO-90 panel score:**
104
+
105
+ | Suite | exp0013 (panel) | exp0014 (panel) | Delta | vs 90% floor |
106
+ |---|---:|---:|---:|---|
107
+ | LIBERO-Spatial | 95.00% | **100.00%** | +5pp | **meets** |
108
+ | LIBERO-Object | 90.00% | **100.00%** | +10pp | **meets** |
109
+ | LIBERO-Goal | 95.00% | **100.00%** | +5pp | **meets** |
110
+ | LIBERO-Long/10 | 100.00% | **100.00%** | +0pp | **meets** |
111
+ | LIBERO-90 (5-task) | 80.00% | **92.00%** | +12pp | **meets (first time)** |
112
+ | **Overall** | **92.00%** | **98.40%** | **+6.4pp** | β€” |
113
+
114
+ Task-level: `libero_90` task 19 ("put the moka pot on the stove") and task 73 ("book in front compartment of caddy") were the only misses (4/5 each, 80%); all other panel tasks across all five suites hit 5/5 (100%).
115
+
116
+ Given the strength of this result (first-ever >90% LIBERO-90 panel score, all four original suites perfect on the panel), a confirmation evaluation (full 130-task coverage, 15 trials/task) was launched immediately to check whether this generalizes, following the same adaptive-evaluation pattern used for exp0013.
117
+
118
+ ### Event 2 β€” `confirmation` (full 130-task coverage, 15 trials/task)
119
+
120
+ - Command: `run_libero_manager.py` with all 5 suites, `EVALUATION.num_trials=15`, fresh `output_dir=evaluate_results/exp0014_confirmation`
121
+ - Runtime: ~1h (2026-08-11 20:22 -> ~21:22 UTC), all 130 tasks completed, 0 failures.
122
+
123
+ **Result β€” LIBERO-90 clears the 90% target for the first time in the project:**
124
+
125
+ | Suite | Confirmation (15 trials/task) | vs 90% floor |
126
+ |---|---:|---|
127
+ | LIBERO-Spatial | 97.33% | **meets** |
128
+ | LIBERO-Object | 100.00% | **meets** |
129
+ | LIBERO-Goal | 97.33% | **meets** |
130
+ | LIBERO-Long/10 | 93.33% | **meets** |
131
+ | LIBERO-90 (all 90 tasks) | **91.19%** | **meets β€” first time ever** |
132
+ | **Overall** | **95.84%** | β€” |
133
+
134
+ Given this crosses the 90% target with real evidence (all 90 tasks, 15 trials each = 1350 LIBERO-90 episodes), canonical (50-trial) evaluation was launched immediately as the promotion-grade confirmation, following the same evidence ladder used for exp0013.
135
+
136
+ ### Event 3 β€” `canonical` (full 130-task coverage, 50 trials/task) β€” promotion-grade evidence
137
+
138
+ - Command: `run_libero_manager.py` with all 5 suites, `EVALUATION.num_trials=50`, fresh `output_dir=evaluate_results/exp0014_canonical`
139
+ - Start time: 2026-08-11 ~21:23 UTC
140
+ - End time: 2026-08-12 ~03:14 UTC (~5h51min, all 130 tasks completed, 0 failures)
141
+ - Raw results: `evaluate_results/exp0014_canonical/`; verified via direct per-task JSON aggregation (every task at exactly 50/50 trials, no partial data)
142
+
143
+ **Result β€” canonical, promotion-grade evidence β€” ALL FIVE SUITES CLEAR 90% FOR THE FIRST TIME IN THE PROJECT:**
144
+
145
+ | Suite | Canonical (50 trials/task) | vs 90% floor | vs exp0013 canonical |
146
+ |---|---:|---:|---:|
147
+ | LIBERO-Spatial | 97.20% | **meets** | +2.80pp |
148
+ | LIBERO-Object | 100.00% | **meets** | +2.00pp |
149
+ | LIBERO-Goal | 96.60% | **meets** | -0.80pp |
150
+ | LIBERO-Long/10 | 93.40% | **meets** | +0.40pp |
151
+ | LIBERO-90 (all 90 tasks) | **91.09%** | **meets β€” first time ever** | +2.60pp |
152
+ | **Overall** (suite average) | **95.66%** | β€” | +1.40pp |
153
+
154
+ LIBERO-90 landed at 91.09%, within 0.10pp of the confirmation run's 91.19% β€” the same tight confirmation-to-canonical consistency seen with exp0013 (88.59% -> 88.49%, also 0.10pp), so this is a precise, reliable measurement, not a lucky sample. Every original suite improved or stayed flat relative to exp0013's canonical result except Goal, which dipped slightly (97.40% -> 96.60%) but remains comfortably clear of the 90% floor.
155
+
156
+ ## 8. Comparison and interpretation
157
+
158
+ The cheap panel showed a clean, large improvement over exp0013 on every axis at once (not a trade-off), and both the confirmation and canonical evaluations validated this at full precision: LIBERO-90 91.09-91.19%, above the project's original 90% target for the first time, while every original suite stayed comfortably clear of the retention floor (93.40-100.00%). This is a stronger and more complete result than exp0013's own canonical (88.49%, 1.51pp short) β€” the additional 6000 steps of directory-resume continuation (preserving optimizer momentum, unlike exp0013's own weights-only continuation from exp0010) closed the remaining gap and then some. The "more training helps" trend (exp0009 -> 0010 -> 0013 -> 0014) has still shown no plateau across four consecutive extensions.
159
+
160
+ ## 9. Decision
161
+
162
+ - **Decision:** `PROMOTE`. exp0014's checkpoint (`step_014000.pt`) becomes the new main-line accepted checkpoint, replacing exp0013.
163
+ - **Retention gate passed:** yes, with strong margin at canonical precision: LIBERO-Spatial 97.20%, LIBERO-Object 100.00%, LIBERO-Goal 96.60%, LIBERO-Long/10 93.40%.
164
+ - **Primary target (LIBERO-90):** 91.09% at canonical precision β€” **the first checkpoint in the project to clear the 90% target on every one of the five suites simultaneously**, satisfying the project's original goal. Consistent (within 0.1pp) between confirmation and canonical evaluation.
165
+ - **Note on the project's evolved goal**: the active research goal was updated (2026-08-12) to target >=95% on all five suites, maximizing the worst-case suite. Under that higher bar, LIBERO-90 (91.09%) and LIBERO-Long/10 (93.40%) are now the two weakest suites and the natural focus for the next candidate; the other three (Spatial 97.20%, Object 100.00%, Goal 96.60%) already clear 95%.
166
+
167
+ ## 10. What this changes for the next experiment
168
+
169
+ 1. **New main-line accepted checkpoint**: `runs/reweighted_libero90_finetune/exp0014_continued_dirresume/checkpoints/weights/step_014000.pt`. `research/STATE.md` updated accordingly.
170
+ 2. **Original project goal met** (all five suites >=90%) β€” this is the first checkpoint to do so. The active goal has since moved to >=95% on all five suites, with explicit priority on the current worst-case suite.
171
+ 3. **Worst-case suite is now LIBERO-90 (91.09%)**, with LIBERO-Long/10 (93.40%) second-weakest β€” both are the natural targets for the next candidate under the updated goal, while Spatial/Object/Goal (96.60-100.00%) already clear the new 95% bar and mainly need to be preserved, not necessarily improved further.
172
+ 4. **"More training" continues to be the best-evidenced lever with no plateau across four consecutive extensions** (exp0009->0010->0013->0014). The full-state checkpoint for this run should be preserved to enable another directory-resume continuation as the next candidate, consistent with the same validated mechanism.
173
+ 5. **Verified per-task LIBERO-90 weak points (canonical, 50 trials/task)** β€” the 15 weakest tasks:
174
+ ```
175
+ 38.00% task 51 pick up the butter and put it in the basket <- ZERO training demos (known data gap, see STATE.md)
176
+ 44.00% task 32 put the ketchup in the top drawer of the cabinet
177
+ 46.00% task 81 pick up the book and place it in the front compartment of the caddy
178
+ 54.00% task 6 open the bottom drawer of the cabinet
179
+ 56.00% task 89 pick up the book on the right and place it under the cabinet shelf
180
+ 64.00% task 21 turn on the stove and put the frying pan on it
181
+ 66.00% task 27 put the wine bottle on the wine rack
182
+ 66.00% task 63 stack the left bowl on the right bowl and place them in the tray
183
+ 66.00% task 73 pick up the book and place it in the front compartment of the caddy
184
+ 66.00% task 75 pick up the book and place it in the right compartment of the caddy
185
+ 74.00% task 33 close the microwave
186
+ 74.00% task 82 pick up the book and place it in the left compartment of the caddy
187
+ 76.00% task 83 pick up the book and place it in the right compartment of the caddy
188
+ 78.00% task 23 close the bottom drawer of the cabinet and open the top drawer
189
+ 78.00% task 30 put the black bowl on the plate
190
+ ```
191
+ Two clear patterns: (a) **task 51 is a genuine data gap** (zero training demonstrations, documented in `research/STATE.md`'s data-coverage note) β€” likely needs a targeted data fix (e.g. sourcing/synthesizing demos) rather than more generic training, since there is nothing to learn from; (b) **the "book in caddy compartment" category remains the weakest cluster overall** (5 of the 15 weakest tasks: 81, 73, 75, 82, 83, all in the 46-76% range) β€” consistent with this category's known history of being slow to improve. A future candidate could target this cluster specifically (e.g. oversampling book/caddy demonstrations within the LIBERO-90 data) if generic continued training alone plateaus on it.
192
+
193
+ ## 11. Artifacts
194
+
195
+ - training log: `runs/reweighted_libero90_finetune/exp0014_continued_dirresume/train.log` (live copy: `/tmp/.../scratchpad/train_exp0014.log`)
196
+ - full-state checkpoint (preserved): `/home/claudeuser/fastwam_state_scratch/exp0014_continued_dirresume/state/step_014000/`
197
+ - config(s): unchanged from exp0003/0006/0009/0010/0013
198
+ - fix commits: `99826cc`, `b2b49d0`
199
+ - eval results: `evaluate_results/exp0014_cheap_panel_v2/`, `evaluate_results/exp0014_confirmation/`, `evaluate_results/exp0014_canonical/`
200
+ - HF backup (promoted): `cheikh025/ASR:promoted/0014_continued_from_exp0013_dirresume/{step_014000.pt,dataset_stats.json,config.yaml,PROGRESS_0014_continued_from_exp0013_dirresume.md}`
201
+
202
+ ## 12. Reproducibility checklist
203
+
204
+ - [x] exact candidate commit recorded
205
+ - [x] parent checkpoint recorded
206
+ - [x] intentional modifications listed
207
+ - [x] initial training plan recorded
208
+ - [x] training configuration and command recorded
209
+ - [x] hardware/software environment recorded
210
+ - [x] intermediate checkpoints and progress decisions recorded when used
211
+ - [x] logs and checkpoint paths recorded
212
+ - [x] remote checkpoint path recorded and verified if an HF backup was created
213
+ - [x] every evaluation event has purpose/settings/raw results recorded
214
+ - [x] five-suite metrics recorded when canonical evaluation ran
215
+ - [x] final decision and reasoning recorded
216
+ - [x] `research/EXPERIMENTS.jsonl` updated
217
+ - [x] `research/STATE.md` updated