EgoForesight-base

Pretrained VLA · post-training initialization

GitHub · Paper (arXiv) · Hugging Face · BibTeX

The pretrained EgoForesight base VLA for downstream policy learning.

This is a full native checkpoint, not an adapter or a standalone Transformers AutoModel repository. The retained framework is Qwen35MoT3 in the starVLA namespace. Pretraining scripts, logs, private data pipelines, and machine-specific paths are not part of this upload.

Evaluation

This repository is a post-training initialization checkpoint, not a benchmark-specific deployed policy. No standalone base success rate is reported. See the RoboCasa and RoboTwin checkpoint cards for their task-specific results. evaluation.json makes this scope explicit.

Model

Property Value
Architecture Qwen3.5-4B + DINOv3 ViT-B/16 + MoT3 / Foresight Forcing
Intended use Downstream post-training / warm start
Weight selection Foresight Forcing EMA already merged into mot_model.*
Action / state width 130 canonical coordinates
Predicted action chunk 30 timesteps
Saved flow inference default 4 steps
EEF representation Relative, camera_spatial
Normalization Multiple source-specific statistics; no automatic benchmark adapter
Export precision Original supplied tensor precision; no repackaging cast

The model conditions on current visual observations, language, robot state and embodiment metadata. Observed future frames are training supervision, not deployment inputs. Downstream recipes define the embodiment, action layout, normalization, and action-chunk length appropriate to their own task.

The supplied export manifest reports 1,627 state-dict entries and 711 EMA MoT3 replacements. This repackaging preserves the weight file byte-for-byte. dataset_statistics.json is also unchanged; its keys are compatibility identifiers, not a distribution of the original datasets. Do not select an arbitrary source's statistics for a new robot or use canonical outputs as direct control commands.

Files

EgoForesight-base/
  checkpoints/pytorch_model.pt
  config.yaml
  dataset_statistics.json
  README.md
  CITATION.bib
  evaluation.json
  export_manifest.json
  validation.json
  SHA256SUMS
  requirements.txt
  LICENSE
  NOTICE.md
  licenses/
  .gitattributes
  .gitignore

No optimizer/scheduler state, separate EMA sidecar, raw datasets, training logs, or pretraining launchers are included. Use a downstream recipe rather than attempting to resume pretraining from this inference/warm-start package.

Load and serve

Set up the EgoForesight code release following docs/environment.md. requirements.txt matches the companion policy/training runtime; install the specified PyTorch/CUDA build before its CUDA extensions. Run from the EgoForesight code root:

export PYTHONPATH="$PWD"
export MODEL_DIR=/absolute/path/to/EgoForesight-base
export QWEN_MODEL=/absolute/path/to/Qwen3.5-4B
export DINO_REPO=/absolute/path/to/dinov3
export DINO_WEIGHTS=/absolute/path/to/dinov3_vitb16_pretrain_lvd1689m-73cec8be.pth
export PRETRAINED_CHECKPOINT="$MODEL_DIR/checkpoints/pytorch_model.pt"
export DATA_ROOT=/absolute/path/to/prepared/robocasa-aligned

# Inspect the downstream launch command first; this does not start training.
DRY_RUN=1 NUM_GPUS=1 BATCH_SIZE=1 GLOBAL_BATCH_SIZE=1 \
  bash scripts/posttrain.sh configs/posttrain/robocasa.yaml

Use configs/posttrain/robotwin_full_no_mirror.yaml for RoboTwin full-data post-training, with the matching prepared dataset and runtime settings. Choose actual batch geometry and hardware before removing DRY_RUN=1. The downstream recipe, not this package's loading configuration, defines the new run's optimization and dataset. This is warm start, not optimizer resume.

For native model loading with the same asset environment variables:

import os
from pathlib import Path
import torch
from starVLA.model.framework.base_framework import baseframework

checkpoint = Path(os.environ["MODEL_DIR"]) / "checkpoints/pytorch_model.pt"
model = baseframework.from_pretrained(str(checkpoint))
model = model.to(dtype=torch.bfloat16, device="cuda").eval()
# Configure a matching downstream action-space adapter before robot deployment.

The native constructor still needs the official Qwen tokenizer/processor and DINOv3 assets, even though their model tensors are included in the full state dict. QWEN_MODEL defaults to Qwen/Qwen3.5-4B; DINO_REPO and DINO_WEIGHTS must be set. Keep config.yaml and dataset_statistics.json at the model root, alongside checkpoints/.

The EMA is already merged. If using a compatible policy server after configuring the appropriate action-space adapter, select --ema_teacher online; do not request a second EMA merge or a nonexistent sidecar. For ready-to-evaluate simulator policies, use the corresponding post-trained checkpoint instead.

Verification and provenance

export_manifest.json records the original input hashes, new checkpoint location, EMA provenance, and configuration cleanup. validation.json distinguishes the supplied historical export verification from the current byte-preserving packaging checks. No new base-model inference or simulator benchmark was run during repackaging.

Verify all downloaded files from the model directory:

sha256sum --check SHA256SUMS
# macOS alternative: shasum -a 256 --check SHA256SUMS

License and attribution

EgoForesight additions: Chubin Zhang, built on StarVLA. The original EgoForesight weights, configuration and documentation retain their MIT notice. Included Qwen3.5 and DINOv3 components retain their respective upstream terms; the root MIT license does not replace those terms. See NOTICE.md, LICENSE and the full license texts in licenses/.

Citation

If you find EgoForesight useful in your research, please cite:

@article{zhang2026egoforesight,
  title={EgoForesight: Effectively Scaling Policy Learning with Noisy Egocentric Actions},
  author={Zhang, Chubin and Wang, Changyuan and Wang, Yirui and Li, Ao and Ma, Shilin and Su, Yue and Zhou, Cai and Xu, Xiuwei and Zhang, Tianle and Tang, Yansong},
  journal={arXiv preprint arXiv:2610.31845},
  year={2026}
}
Downloads last month
5
Video Preview
loading

Model tree for LinShan/EgoForesight-pretrain

Finetuned
Qwen/Qwen3.5-4B
Finetuned
(1120)
this model

Collection including LinShan/EgoForesight-pretrain

Paper for LinShan/EgoForesight-pretrain