RIO-2 is a two-rate WAM(World Action Model) built for robotics. RIO-2 is composed with a low-frequency visual-language S2 backbone and a high-frequency JEPA-diffusion S1 action policy. The model is designed to separate slow scene understanding from fast robot control:
• S2 refreshes visual-language context at low frequency.
• Bridge/compressor modules convert S2 context into compact action-conditioning tokens.
• S1 runs high-frequency action generation from cached S2 tokens and robot state.
• JEPA latent prediction provides an auxiliary future-action representation.
• A 10-expert S1 MoE residual path expands action capacity while keeping top-1 expert activation efficient.
image
RIO-2 uses JEPA-diffusion S1 action policy for general and flexible robot control in high frequency. S1 is MoE policy with 10 experts. Each expert is 100M parameter size.
RIO-2's task memory maintains a small EMA latent memory over recent S2 context for longer-horizon task continuity.
S2 policy is inspires by allenai/MolmoAct2.
This repo uses Hub custom code. Pass trust_remote_code=True until RIO-2 is merged into Transformers.
1import torch
2from transformers import AutoModel, AutoProcessor
34model = AutoModel.from_pretrained(5"hoguai/RIO-2",6trust_remote_code=True,7torch_dtype=torch.bfloat16,8device_map="auto",9)1011processor = AutoProcessor.from_pretrained(12"hoguai/RIO-2",13trust_remote_code=True,14)1516model.load_s2_base(device="cuda")17model.refresh_s2(image,"pick up the red cube", force=True)18actions = model.act_fast(state, steps=2)
Runtime Pattern
RIO-2 is intended to run as a two-rate policy:
Refresh S2 when the scene or instruction changes, or at a low fixed rate.
Reuse cached S2 tokens inside the high-frequency control loop.
Call act_fast() repeatedly with the latest robot state.
Execute only the safe portion of the returned action chunk through an external safety controller.
Safety
RIO-2 outputs continuous robot actions and must not be connected directly to real hardware. Always place the policy
behind a robot safety layer with joint limits, velocity/acceleration/jerk limits, workspace constraints, watchdog,
E-stop, and a fallback controller.