Robohouse ’26 Library
Contents

Chapter 11

The full training loop and starting hyperparameters

2 sections · about 1 minutes

11.1 One iteration, end to end

ROLLOUT (N worker GPUs, each running env_num LIBERO environments)
  sample tasks with hard-task oversampling; for each sampled (task, seed):
    run G = 8 rollouts from that seed
    per macro-step:
      build state (image, proprio, task id)
      prefill first-frame cache (compiled)
      run K = 8 denoising steps; one randomly chosen step k* ≥ 1 is a Flow-SDE step
        with noise scale a = 0.5, the rest are deterministic ODE steps (πRL mixed sampler)
      store chain x_0..x_K, k*, and log π_old at k*
      execute first 10 actions; render and store the frames at offsets +4, +8
        (and every frame if you will use this episode for video SFT)
      record r^task, done
  write episodes to the rollout buffer (target ≈ 256 episodes per iteration)

LEARNER
  1. reward: for each macro-step, imagine the future (live or frozen world model),
     compute r^rec, normalise, combine: r = r^task + β · r̃^rec; compute returns R_t
  2. advantages: group-normalise within each (task, seed) group; drop degenerate groups
  3. actor phase: 2 PPO epochs over all macro-steps, minibatch 64,
     recompute μ_k with gradients, minimise L_actor (+ λ_ref reference KL if enabled)
  4. world-model phase: 1 epoch over 33-frame windows from successful episodes,
     minimise L_video + λ_KL · L_KL through the LoRA parameters
  5. broadcast new weights to workers; workers drop their compiled graphs
  6. every 5 iterations: deterministic evaluation (a = 0, K = 20) on all 40 LIBERO tasks,
     10 episodes each — this is the number you report

Run it synchronously first: rollouts finish, the learner runs, weights are sent, the next rollouts begin. Asynchronous pipelines of the kind RLinf builds are an optimisation for when the loop works.

11.2 Starting hyperparameters and where they come from

QuantityStart valueProvenance
Denoising steps during RL, KK8between πRL's default 4 (ablated 1/2/4/8) and Flow-GRPO's 10-train/40-eval
Stochastic steps1 random step k1k^{*} \ge 1πRL mixed ODE–SDE sampler
Noise scale aa in g(σ)=aσ/(1σ)g(\sigma) = a\sqrt{\sigma/(1-\sigma)}0.5πRL ablation over {0.2, 0.5, 0.8}; 0.2 unstable, 0.8 degrades
PPO clip ε\varepsilon0.2 (try 0.2/0.28 clip-higher)standard PPO; SimpleVLA-RL clip-higher
Group size GG8SimpleVLA-RL (Flow-GRPO uses 24 for images)
Degenerate-group filteringonSimpleVLA-RL dynamic sampling; RIPT-VLA
Episodes per iteration256engineering judgement (SimpleVLA-RL: batch 64 prompts × 8 = 512 rollouts)
PPO epochs per iteration2engineering judgement
Actor minibatch (macro-steps)64engineering judgement
Actor learning rate1e-5SimpleVLA-RL uses 5e-6 for a 7B policy; scaled up for a 0.7B head
Video-expert LoRA rank / learning rate64 / 5e-5engineering judgement (Flow-GRPO uses LoRA r=32, α=64)
Discount γ\gamma0.99 (0.995 for LIBERO-10)engineering judgement; binary-reward papers use no discount
Reconstruction weight β\beta0.1 after normalisationunspecified in WAM-RL; tune
Feature-KL weight λKL\lambda_{\mathrm{KL}}0.1unspecified in WAM-RL; tune
Reference-actor KL λref\lambda_{\mathrm{ref}}0 (≤ 0.01 if needed)SimpleVLA-RL removes KL; Flow-GRPO uses 0.01–0.04 for images
Video-SFT batch / windows per successful episode16 / up to 8pretraining batch size
EMA momentum for Σθ\Sigma_\theta0.99engineering judgement
Deterministic evaluation steps20Fast-WAM default