|
Download real_robot/source/README.md from mmmmmcyaaa/ReTime: direct link, hf CLI and curl.
- Browser
- Download file 10.9 kB
-
https://huggingface.co/mmmmmcyaaa/ReTime/resolve/main/real_robot/source/README.md
- Command line
-
hf download hf://mmmmmcyaaa/ReTime/real_robot/source/README.md
-
curl -L -o README.md https://huggingface.co/mmmmmcyaaa/ReTime/resolve/main/real_robot/source/README.md
10.9 kB
| # ReTime for StarVLA | |
| ReTime is an opt-in temporal-sampling extension for the accompanying StarVLA | |
| backend. It preserves the dataset/trajectory distribution and changes the | |
| within-trajectory temporal proposal: | |
| ```text | |
| q(t | e) = (1 - alpha) p(t | e) + alpha r(t | e) | |
| training loss = mean((p / q) * per_sample_loss) | |
| ``` | |
| The weights are ordinary importance weights, not batch-normalized weights. | |
| `K` controls the frozen-policy scoring grid. `shuffle` permutes the residual | |
| masses within each trajectory; `uniform` uses the baseline draw stream. | |
| ## Install | |
| Use Linux, Python 3.11, a CUDA driver compatible with PyTorch 2.7.1, and the | |
| dependencies in `requirements.txt`. The core training packages are pinned to | |
| the versions used in the GPU integration test. From this source tree: | |
| ```bash | |
| python -m pip install -r requirements.txt | |
| python -m pip install -e . | |
| retime --help | |
| ``` | |
| The supplied Qwen-GR00T configurations additionally use `AdamW8bit` and | |
| `flash_attention_2`. Install their optional dependencies after the base | |
| environment and select a Flash Attention build compatible with your CUDA and | |
| PyTorch installation: | |
| ```bash | |
| python -m pip install -r requirements-qwen.txt | |
| python -m pip install flash-attn==2.7.4.post1 --no-build-isolation | |
| ``` | |
| Flash Attention may require a local CUDA toolkit and build tools. The version | |
| above was present in the GPU validation environments. Both production Qwen | |
| continuation configurations use Flash Attention 2. The bounded Qwen Bridge | |
| integration run used PyTorch SDPA on the same model/data path. | |
| This release supports the supplied Florence/Qwen GR00T configurations and | |
| LeRobot data layouts. The backend includes the per-example loss and sampler | |
| integration required by ReTime; it is not a claim of compatibility with every | |
| unmodified StarVLA release or arbitrary policy architecture. | |
| ## Training | |
| The trained common-start checkpoints used in the paper are not redistributed | |
| with this anonymous artifact. Reviewers should either train their own | |
| common-start policy using `retime-pretrain` or provide a compatible complete | |
| checkpoint. The backbone, dataset, and benchmark assets must also be provided | |
| locally. | |
| Select a configuration matching the policy architecture, action dimensions, | |
| dataset mixture, and training budget. Matching supplied pairs are: | |
| | Setting | Policy configuration | Start → stop | Global batch | Accelerate configuration | | |
| | --- | --- | ---: | ---: | --- | | |
| | Florence × Bridge/RT-1 | `configs/florence_bridge_20k_plus500.yaml` | 20K → 20.5K | 64 | `configs/deepspeed_florence_2gpu.yaml` | | |
| | Qwen × Bridge/RT-1 | `configs/qwen_bridge_29k_plus500.yaml` | 29K → 29.5K | 48 | `configs/qwen_single_1gpu.yaml` | | |
| | Florence × RoboTwin | `configs/florence_robotwin_10k_plus500.yaml` | 10K → 10.5K | 64 | `configs/deepspeed_florence_robotwin_2gpu.yaml` | | |
| | Qwen × RoboTwin | `configs/qwen_robotwin_11k_plus500.yaml` | 11K → 11.5K | 40 | `configs/deepspeed_qwen_robotwin_2gpu.yaml` | | |
| These are the four main simulation continuation contracts. Every arm restores | |
| the complete shared starting state and performs exactly 500 optimizer updates. | |
| Bridge runs additionally require `--statistics-path`. | |
| ### Train the base policy locally | |
| Reviewers do not need the authors' original common-start checkpoint. | |
| `retime-pretrain` can train a reviewer-owned common-start policy with the same | |
| architecture, optimizer, scheduler, batch geometry, and dataset-sampling | |
| contract as the selected continuation configuration. For Florence Bridge: | |
| ```bash | |
| retime-pretrain \ | |
| --config configs/florence_bridge_20k_plus500.yaml \ | |
| --accelerate-config configs/deepspeed_florence_2gpu.yaml \ | |
| --base-steps 20000 \ | |
| --vlm-path /path/to/Florence-2-large \ | |
| --data-root /path/to/OXE_LEROBOT_DATASET \ | |
| --statistics-path /path/to/dataset_statistics.json \ | |
| --omit-data-identity-files \ | |
| --output /path/to/florence-bridge-base | |
| ``` | |
| Use `--base-steps 29000`, `10000`, or `11000` with the other three configuration | |
| pairs. The command builds and saves `manifest.json` before training. Two-process | |
| configurations produce `checkpoints/steps_<N>_accelerate`; Qwen Bridge produces | |
| `checkpoints/steps_29000_pytorch_model.pt` with adjacent training-state and | |
| commit files. Both formats contain the model, optimizer, scheduler, RNG state, | |
| sampling position, and completed-update counter required by exact continuation. | |
| `--omit-data-identity-files` stores the computed dataset inventory inside the | |
| manifest. Use the same option for continuation. This avoids requiring separate | |
| provenance and fingerprint files while still checking the dataset inventory | |
| against the frozen manifest. | |
| For the Florence Bridge configuration: | |
| ```bash | |
| retime \ | |
| --config configs/florence_bridge_20k_plus500.yaml \ | |
| --accelerate-config configs/deepspeed_florence_2gpu.yaml \ | |
| --base-policy /path/to/steps_20000_accelerate \ | |
| --start resume \ | |
| --manifest /path/to/florence-bridge-base/manifest.json \ | |
| --vlm-path /path/to/Florence-2-large \ | |
| --data-root /path/to/OXE_LEROBOT_DATASET \ | |
| --statistics-path /path/to/dataset_statistics.json \ | |
| --omit-data-identity-files \ | |
| --alpha 0.2 --K 8 \ | |
| --mode retime uniform shuffle \ | |
| --output /path/to/new-run | |
| ``` | |
| Choose one mode or several. The command prepares valid-anchor support from the | |
| dataset, generates the residual proposal once, constructs Shuffle when selected, | |
| and trains each selected arm sequentially from the same base policy. A | |
| uniform-only run does not score a proposal. Invalid probabilities, | |
| incompatible tensor shapes, incomplete | |
| checkpoint files, and mismatched data support still produce errors. | |
| `--base-policy` denotes the reviewer-provided common-start VLA checkpoint. | |
| It is not bundled with this anonymous artifact and is not downloaded | |
| automatically. `--vlm-path` denotes its Florence/Qwen backbone. They are | |
| distinct inputs. The main configurations use | |
| `--start resume`, which is required for the reported +500 continuation. | |
| Florence Bridge and both RoboTwin settings accept a complete Accelerate | |
| checkpoint directory. Qwen Bridge accepts its committed single-process model | |
| file together with the adjacent training-state and commit files. | |
| Exact resume restores model, optimizer, scheduler, RNG, sampler position/data | |
| order, and completed-update counter. Supply the `manifest.json` produced by | |
| the base-policy run and keep its `config.full.yaml` in the original run layout. | |
| When separate provenance/fingerprint files are available, omit | |
| `--omit-data-identity-files` and set the corresponding environment variables in | |
| both commands. A single-process model file is accepted only when its adjacent | |
| `*_training_state.pt` and `*_checkpoint.json` files form a complete committed | |
| checkpoint. | |
| `--start weights` remains available for a deliberate fresh optimizer/scheduler | |
| run from model weights. It starts at update zero, so it does not reproduce any | |
| of the four +500 experiments even when a continuation configuration is selected. | |
| The launcher never changes microbatch, world size, accumulation, optimizer, | |
| schedule, or random seeds to select an arm. The supplied Bridge pairing remains | |
| `4 x 2 x 8 = 64`. The table above supplies matching Accelerate configurations | |
| for the other three settings. Select a smaller dataset mixture with `--data-mix` | |
| when checking a subset; the default RoboTwin configurations cover all 50 tasks. | |
| Add `--dry-run` to validate inputs and print the command plan without writing or | |
| launching. Successful runs produce `config.yaml`, `plan.json`, a proposal/cache, | |
| and separate `runs/retime`, `runs/uniform`, and `runs/shuffle` directories. Use a | |
| fresh output directory for each experiment. Existing proposal caches are bound | |
| to the checkpoint content and support; incompatible caches cannot be reused. | |
| ## Layout | |
| ```text | |
| retime/ method implementation and command-line entrypoint | |
| pretrain.py reviewer-owned common-start policy training | |
| objective.py ordinary p/q correction | |
| sampler.py deterministic hierarchical draw stream | |
| proposal.py full-support temporal proposal | |
| scoring/ frozen-policy scoring and Shuffle control | |
| commands/ proposal generation | |
| starVLA/ attributed compatible training/model/data backend | |
| scripts/ legacy entrypoints and optional analysis utilities | |
| configs/ model, data, and training settings | |
| licenses/ third-party license texts | |
| ``` | |
| Legacy `starVLA.*` method imports forward to `retime.*` for compatibility. | |
| Analysis utilities are optional research tools and are not training prerequisites. | |
| ## Compatibility | |
| | Interface | Support | | |
| | --- | --- | | |
| | StarVLA training | The original `starVLA/training/train_starvla.py` entrypoint is retained. | | |
| | Legacy Python imports | Objective, sampler, proposal, and scoring modules forward to ReTime implementations. | | |
| | Proposal and manifest files | Existing schemas and probability semantics are preserved. | | |
| | Model initialization | Full model weights initialize a fresh optimizer and scheduler. | | |
| | Full-state continuation | `--start resume` restores a complete Accelerate directory or committed single-process checkpoint. | | |
| | Distributed training | Matching one- and two-GPU configurations are supplied for all four settings. | | |
| Florence-GR00T and Qwen-GR00T were exercised on GPUs with both Bridge/RT-1 and | |
| RoboTwin data. Other policy architectures require a compatible per-sample loss | |
| and dataset adapter. | |
| Historical `OPTR_*` environment variables and `InfoFlow` module names in | |
| example configurations are compatibility identifiers for existing datasets and | |
| checkpoints. The supported command-line entrypoint for this artifact is `retime`. | |
| ## Tests and scope | |
| ```bash | |
| python -m pip install pytest | |
| python -m pytest tests/test_retime_plugin.py -q | |
| ``` | |
| These CPU tests check proposal generation, objective correction, deterministic | |
| sampling, Shuffle invariants, legacy imports, CLI dispatch, and error propagation. | |
| A separate GPU integration test completed proposal generation, two optimizer | |
| updates, checkpoint saving, and strict model reload for each of the three modes | |
| in all four settings. See `VALIDATION.md` for details. | |
| Datasets, trained weights, checkpoints, and benchmark repositories are not | |
| redistributed in the working source tree. | |
| ## Attribution and anonymous review | |
| Built on [StarVLA](https://github.com/starVLA/starVLA), pinned to | |
| `3422b9f2387b6f682cf02802904a77b23ab13afd`. See `UPSTREAM.md`, `LICENSE`, and | |
| `NOTICE`. Retain the complete license, source copyright notices, and the | |
| separate original upstream commits in the accompanying Git history. | |
| Third-party attribution is intentionally visible. The anonymous additions have | |
| no author-account remote or personal development history. Publish through an | |
| anonymous review endpoint, not an author's personal repository URL. Avoid | |
| uploading local training outputs: they can contain machine paths and metadata. | |