CoolFace
Datasetpublic

jaehyeokdoo2/flow-edit-cube-triple-tkgrid-seeds30003-40004

Edit-placement (t x K x eb) campaign — OGBench cube-triple, task 2 — seeds 30003 & 40004 Seed scope: this repository contains only seeds 30003 and 40004. It is not the full seed set for this campaign — seeds 10001 and 20002 were trained on separate hardware and are not included here. Any per-cell mean computed from this repo alone is an n=2 estimate; see Caveats. 290 training runs from the uedit_place agent: a grid over where in the flow a value-driven edit is applied (t), how… See the full description on the dataset page: https://huggingface.co/datasets/jaehyeokdoo2/flow-edit-cube-triple-tkgrid-seeds30003-40004.

sourceHugging Facemitupdated 18d agoView on Hugging Face
0likes58downloads
Dataset Card

Edit-placement (t x K x eb) campaign — OGBench cube-triple, task 2 — seeds 30003 & 40004

Seed scope: this repository contains only seeds 30003 and 40004. It is not the full seed set for this campaign — seeds 10001 and 20002 were trained on separate hardware and are not included here. Any per-cell mean computed from this repo alone is an n=2 estimate; see Caveats.

290 training runs from the uedit_place agent: a grid over where in the flow a value-driven edit is applied (t), how many corrector iterations are applied there (K), and the displacement budget the dual holds the edit to (eb), across two value-signal arms and two seeds. Each run folder holds the full training record and its final checkpoint.

Start with `INDEX.csv` — one row per run, read from that run's own flags.json. It is the only reliable way to identify a run; the directory names encode the config too, but the index is authoritative.

The grid

axisvalues
t (edit placement on flow time)0, 0.2, 0.4, 0.6, 0.8, 1.0
K (corrector iterations at t)1, 3, 5, 10
eb (displacement budget)0.05, 0.1, 0.2
seed30003, 40004
arminner, one-step

2 arms x 3 eb x 4 K x 6 t x 2 seeds = 288 grid runs, plus 2 shared BC pretraining runs. All 288 completed with the full 10-point eval curve; zero failures.

The two arms

Identical in every respect except the value signal and one dependent flag:

`inner``one-step`
guidance_sourceinnerone-step
clip_pred_actionFalseTrue
signalgrad of the learned time-conditioned critic Q_i(s, x_t, t)grad of the outer critic at the one-step clean action a_hat = x_t + (1-t)*v_bc, with v_bc stop-gradient'd (Jacobian-identity variant)
results treetk_grid_ct_exp/tk_grid_ct_os_exp/

clip_pred_action is a one-step-only knob (inert under inner), so the pairing is not a confound — it has no effect in the inner arm.

Layout

<experiment>/flow-edit-prelim/<run_group>/<env>/<run_name>/
    eval.csv              success + env info at each eval (every 100k steps, 50 episodes)
    eval_sv.csv           same, checkpointed copy written at save time
    offline_agent.csv     training diagnostics every 5k steps: losses, dual/alpha,
                          dual/edition_ema, critic/ed_path, q stats
    offline_agent_sv.csv  same, checkpointed copy
    flags.json            complete resolved config (the authoritative record)
    params_1000000.pkl    final checkpoint, 298 MB (params_300000.pkl for BC runs)
    progress.tk           last completed step
    token.tk              W&B run URL

Experiments: tk_grid_ct_exp (inner, 144), tk_grid_ct_os_exp (one-step, 144), ctriple_bc_h5_exp (BC pretraining, 2).

Reading a run name

uedit_place_cube-triple-play-singletask-task2-v0_seed30003_h5_off1000000_on0_disc0.995
  _cgFalse_gsone-step_edamortized_bcpedited_amdual_nq2_qaggmean_ls1024_alnTrue
  _fosFalse_alp0.05_eb0.1_tw0.6-0.6_K5_cpaTrue_rho0.0

gs=guidancesource, `ed`=edition, `eb`=displacement budget, `tw<lo>-<hi>`=placement window (lo==hi is a single placement), `K`=corrector iterations (**absent when K=1**), `fos`=finalouterstep (True only at t=1, which is not on the in-loop flow grid), `cpa`=clippred_action (one-step only), ls=layer width.

Checkpoint contents

pickle.load gives {'agent': {'rng', 'network', 'alpha', 'edition_ema', 'clip_radius_ema'}}. agent['network']['params'] holds:

moduleparams~size
modules_actor_bc_flow3.26M12 MB
modules_actor_edit_flow3.26M12 MB
modules_critic6.46M25 MB
modules_target_critic6.46M25 MB
modules_tc_critic6.59M25 MB

Plus Adam opt_state (~199 MB), which is why each file is 298 MB. modules_tc_critic is allocated but never trained in the one-step arm (critic_loss returns before the distillation step), so it is random init there.

Shared training config

uedit_place, H=5 action chunking (25-D chunk, obs 46-D, act 5-D), layer_size=1024, layer_norm and actor_layer_norm True, flow_steps=10, batch 256, lr 3e-4, tau 0.005, num_qs=2, q_agg=mean, rho=0, discount 0.995, best_of_n=1, edition=amortized, alpha_mode=dual, edition_metric=displacement, bc_eval_point=edited, edit_order=edit_then_bc, final_grad_source=field, edit_train_t=uniform, outlier_q=0, value_norm=False, alpha in [0, 20], eta_alpha=0.01.

Data: OGBench cube-triple-play-10m-v0, 10 sharded files cycled every 1000 steps (dataset_replace_interval=1000). Each grid run loads a shared BC flow (params_300000.pkl from ctriple_bc_h5_exp, per seed) via pretrained_bc_path and runs bc_steps=0 + 1M offline steps, so every cell of a seed starts from identical BC weights and only the edit configuration differs.

Caveats

  • —BC rows in `INDEX.csv` carry meaningless `eb`/`K`/`t` values (0.1 / 10 / 0.8). Those flags are inert when bc_steps>0, offline_steps=0. Identify BC runs by arm == 'bc-pretrain', not by the grid columns.
  • —Two seeds only, and they differ systematically. Seed 40004 sits ~30-45 points below 30003 in essentially every cell where either arm works. Orderings within a seed replicate; absolute values at n=2 have a standard error of roughly 15-20 points. Do not quote a single cell's number as a headline result.
  • —Eval steps are logged 100k..1M, i.e. the offline phase only — the 300k BC steps happened in the separate pretraining run and are not on this axis.