VnRobo
AboutPricingBlogContact
🇻🇳VISign InStart Free Trial
🇻🇳VI
VnRobo logo

AI infrastructure for next-generation industrial robots.

Product

  • Features
  • Pricing
  • Knowledge Base
  • Services

Company

  • About Us
  • Blog
  • Contact

Legal

  • Privacy Policy
  • Terms of Service

© 2026 VnRobo. All rights reserved.

Made with♥in Vietnam
VnRobo
AboutPricingBlogContact
🇻🇳VISign InStart Free Trial
🇻🇳VI
  1. Home
  2. Blog
  3. RL²-VLA: Offline RL Latent Steering Boosts VLA +26% Success at Test Time
wholebody-vlavlaoffline-rlflow-matchingmanipulationtest-time-scalingpi0conformal-prediction

RL²-VLA: Offline RL Latent Steering Boosts VLA +26% Success at Test Time

A technical guide to RL²-VLA: steering VLA manipulation policies via offline RL in latent space at test time, gaining +26% real-robot success without retraining the base model.

Nguyễn Anh TuấnJuly 31, 202610 min read
RL²-VLA: Offline RL Latent Steering Boosts VLA +26% Success at Test Time

RL²-VLA: Offline RL Latent Steering Boosts VLA Manipulation +26% at Test Time, No Retraining

Vision-Language-Action (VLA) models like π0 and OpenVLA excel within their training distribution, but performance degrades sharply on out-of-distribution (OOD) tasks — different instruction phrasings, novel object positions, subtle environment changes. The conventional fix is RL fine-tuning, but that means touching billions of parameters, running many online rollouts, and risking catastrophic forgetting.

RL²-VLA from MARMot Lab (NUS) takes a different route: keep the base VLA frozen, and attach a lightweight offline RL steering module that operates in the VLA's latent space — intervening only when the base model is predicted to fail. The result: +26.7% success rate on a real PiperX robot arm, +14.7% on SIMPLER benchmark, zero changes to the base VLA weights.

  • Paper: RL²-VLA (arXiv 2607.26991)
  • Code: github.com/marmotlab/RL2-VLA
  • Project page: rl2-vla.github.io
  • Models: huggingface.co/rl2-vla

Tool recommendations

VLA train/deploy stack

Train on cloud/workstation, then deploy optimized models to Jetson or the robot computer.

Cloud GPU for VLA / policy training Use for imitation learning, diffusion policies, RL, and robotics model fine-tuning. View cloud GPU → NVIDIA Jetson Orin NX / Orin Nano Edge deployment hardware for perception, logging, and optimized inference. View Jetson → Hugging Face / robotics dataset hosting Host datasets, checkpoints, and model cards for cleaner LeRobot/VLA workflows. View platform →

Why VLAs Fail Out-of-Distribution

VLAs learn via behavior cloning — maximizing likelihood over demonstrations. This pushes the model toward the dominant action mode in training data. When deployment introduces slight variations (synonym instructions, novel object placement, camera angle differences), the model gets anchored to learned modes that may no longer be optimal.

RL is the natural fix: it can discover high-value behaviors beyond demonstration modes. But full RL fine-tuning of a billion-parameter VLA is expensive: it requires many online rollouts, careful reward engineering, and can overwrite the model's broad pretrained knowledge.

RL²-VLA decouples the two concerns: the VLA retains broad semantic knowledge, while a small, targeted RL module handles local action diversity when needed.


Architecture: Three Coordinated Modules

RL²-VLA architecture with SAFE, QAM, and CoVer modules — source: marmotlab/RL2-VLA
RL²-VLA architecture with SAFE, QAM, and CoVer modules — source: marmotlab/RL2-VLA

RL²-VLA has three independent components that coordinate at inference time:

1. SAFE — Adaptive Failure Detector

SAFE (Scalable Adaptive Failure Estimator) is a small LSTM conditioned on internal latent features of the VLA action expert — not raw image observations. It learns to distinguish trajectories heading toward success from those heading toward failure.

Key innovation: SAFE uses conformal prediction to calibrate detection thresholds. Rather than a fixed threshold, conformal prediction automatically sets per-task bands such that successful rollouts stay below the threshold with probability 1-α. This prevents unnecessary steering when the VLA is already performing correctly.

Calibration process:

  1. Collect rollouts from the base VLA (60% train / 40% validation split)
  2. Train SAFE to predict a failure score ∈ [0, 1] at each timestep
  3. Use successful validation rollouts to fit conformal prediction bands
  4. Per-task thresholds ensure the false-positive steering rate stays bounded

2. QAM — Offline RL Steering Policy

QAM (Q-learning with Adjoint Matching) is the core of the approach. It is a lightweight flow-matching policy trained with offline RL, conditioned on latent representations from the VLA action expert.

The technical challenge: Why "Adjoint Matching"? Flow-matching policies generate actions through multi-step ODE integration. Backpropagating through those steps is numerically unstable — gradients explode or vanish. Adjoint Matching computes gradients via a reverse ODE, which is stable and avoids backpropagating through the full forward pass.

Composition at inference: When SAFE detects a predicted failure, the action expert's flow velocity and QAM's steering velocity are composed:

v̂ = w · v_VLA + (1 - w) · v_RL

The weight w is sampled from Gaussian(μ=0.5, σ=0.25), so the VLA remains the dominant contributor but receives RL-guided nudges toward alternative behaviors.

Why latent space? Rather than intervening in observation space or raw action space, QAM operates in the VLA's expressive internal latents. These features already encode rich context (scene semantics, instruction meaning, robot state) — the RL policy can condition on this to produce contextually appropriate guidance.

3. CoVer — Action Verifier

CoVer (Contrastive Verifier) is an external reward model trained with contrastive learning to score candidate actions. When multiple action samples are generated (multi-sample test-time scaling), CoVer ranks them and selects the best for execution.

CoVer does not generate actions and requires no retraining when switching VLA backbones. It simply asks: given the current state, which candidate action is most likely to succeed?


Test-Time Scaling Laws

One of the paper's key findings is that success and failure states follow different scaling laws:

  • During success: adding diversity/more samples does not help — it may perturb already-accurate actions.
  • During failure: adding diversity significantly helps — exploring alternative modes finds a path to success.

This asymmetry is why adaptive steering (trigger only on predicted failure) consistently outperforms always-on steering. SAFE identifies the moments that actually benefit from intervention.

Scaling experiment results: using 8 instruction rephrases × 5 samples per rephrase achieves +18.6% improvement — but only with adaptive triggering. Without it, many samples waste compute or degrade already-good actions.


Installation and Setup

System Requirements

  • Linux Ubuntu 20.04 or 22.04
  • Python 3.10
  • CUDA-capable GPU (H100, A6000, or RTX 5090 recommended; RTX 3090+ sufficient for evaluation)
  • VRAM: ≥24GB to load the π0 base model

Clone the Repository

git clone --recurse-submodules https://github.com/marmotlab/RL2-VLA.git
cd RL2-VLA

The --recurse-submodules flag is required — the SAFE component lives in a submodule.

Create the Conda Environment

conda create -n rl2 python=3.10
conda activate rl2

Install Dependencies

# Install all dependencies for SIMPLER simulation + π0 integration
bash RL2_CoVer_VLA/env_simpler_pi.sh

This script installs lerobot, simpler-env, pytorch, diffusers, and related packages. Expect 10–20 minutes depending on network speed.

Download Pretrained Models

# QAM steering policy
huggingface-cli download rl2-vla/qam-steering-policy --local-dir ./checkpoints/qam

# CoVer action verifier
huggingface-cli download cover-vla/cover-vla-bridge --local-dir ./checkpoints/cover

The SAFE detector is included in the submodule and does not need a separate download.


Training Pipeline (Custom Data)

RL²-VLA supports training on your own dataset. The pipeline has four steps:

Step 1: Extract VLA Latents

# Extract internal representations from the frozen VLA action expert
python RL2_CoVer_VLA/extract_latents.py \
    --dataset bridge_v2 \
    --vla_checkpoint path/to/pi0 \
    --output_dir data/latents/

Latents are extracted from the hidden states of the action expert transformer — not the visual encoder or language encoder. These high-level features compress task context efficiently.

Step 2: Train the QAM Steering Policy

python RL2_CoVer_VLA/train_qam.py \
    --latent_dir data/latents/ \
    --batch_size 256 \
    --lr 3e-4 \
    --epochs 100 \
    --output_dir checkpoints/qam/

Training uses Q-learning with Adjoint Matching:

  • Q-values estimated from offline data (no online rollouts needed)
  • Policy updates via reverse ODE for numerically stable gradient computation
  • Conditioned on latents so the policy is context-aware

On an A100, training on BridgeV2 takes approximately 2–4 hours.

Step 3: Train the SAFE Failure Detector

# Collect rollouts from base VLA
python RL2_CoVer_VLA/collect_rollouts.py \
    --env simpler \
    --tasks bridge_tasks \
    --n_rollouts 2000 \
    --output_dir data/rollouts/

# Train SAFE LSTM
python RL2_CoVer_VLA/train_safe.py \
    --rollout_dir data/rollouts/ \
    --train_ratio 0.6 \
    --output_dir checkpoints/safe/

Step 4: Calibrate Conformal Prediction

python RL2_CoVer_VLA/calibrate_safe.py \
    --rollout_dir data/rollouts/ \
    --safe_checkpoint checkpoints/safe/ \
    --alpha 0.1 \
    --output_dir checkpoints/safe/thresholds/

alpha=0.1 means that with 90% probability, a successful rollout will not trigger a false-positive steering activation.


Inference and Evaluation

SIMPLER Benchmark Evaluation

conda activate rl2

# Adaptive steering (recommended) — steer only when SAFE predicts failure
bash RL2_CoVer_VLA/simpler/bashes/eval_rl2_compose_adaptive.sh

# Always-on steering — steer every timestep (comparison baseline)
bash RL2_CoVer_VLA/simpler/bashes/eval_rl2_compose_always.sh

# Rephrase-only baseline — no RL steering
bash RL2_CoVer_VLA/simpler/bashes/eval_rephrase.sh

Summarize Results

python RL2_CoVer_VLA/simpler/bashes/summarize_logs.py \
    --log_dir logs/simpler_eval/

Output is a per-task success rate table plus overall averages.

Integration with a Custom Robot

import torch
from rl2_vla import RL2Pipeline

# Load the full pipeline
pipeline = RL2Pipeline.from_pretrained(
    vla_checkpoint="path/to/pi0",
    qam_checkpoint="checkpoints/qam/",
    safe_checkpoint="checkpoints/safe/",
    cover_checkpoint="checkpoints/cover/",
    adaptive=True  # only steer when needed
)

# Inference loop
obs = robot.get_observation()
instruction = "pick up the red cup and place it in the bowl"

action = pipeline.predict(
    observation=obs,
    instruction=instruction,
    n_samples=5  # candidate actions for CoVer to rank
)

robot.execute(action)

Benchmark Results

SIMPLER Simulation

SIMPLER is a physics-based simulation benchmark with tasks including pick-and-place, push, and rotate. RL²-VLA was evaluated on OOD instruction prompts — same underlying tasks but described differently from training data.

Method Avg Improvement Max Task Improvement
π0 base (no steering) baseline —
Rephrase only +5.2% —
RL²-VLA (always-on) +10.1% +12.3%
RL²-VLA (adaptive) +14.7% +17.1%

Adaptive steering consistently outperforms always-on, because it avoids perturbing actions the VLA already has correct.

PolaRiS Benchmark

PolaRiS tests π0.5 (a stronger base model than π0) on harder OOD scenarios:

Method Success Rate Improvement
π0.5 base baseline
RL²-VLA adaptive +17.3% avg
Scaling (8 rephrases × 5 samples) +18.6%

Real Robot: PiperX Arm

The most important results — hardware validation. PiperX is a 6-DOF desktop manipulator with a wrist camera:

Method Success Rate
π0 base baseline
Rephrase baseline +9.2%
RL²-VLA adaptive +26.7% avg (+19.5% overall)

Real-robot improvements exceed simulation improvements because OOD gaps are larger in the physical world. The adaptive trigger correctly identifies where steering matters most.


Comparison with Related Approaches

Several directions attempt to improve VLA performance at test time. RL²-VLA's positioning:

Method Retrains VLA? Latent Steering? Adaptive? Real Robot?
RL fine-tuning ✅ (expensive) ✗ ✗ Rarely tested
Test-time search ✗ ✗ ✗ ✗
Instruction rephrase ✗ ✗ ✗ ✗
RL²-VLA ✗ ✅ ✅ ✅

Compared to ResVLA, which also uses a residual approach but focuses on intent anchoring rather than failure detection — RL²-VLA's adaptive triggering is a key differentiator.

Compared to direct test-time compute scaling — RL²-VLA is a specialized form of test-time compute: instead of naive sample scaling, it applies RL-guided steering to improve the quality of each sample, then uses CoVer to select the best.

For a deeper foundation on VLA architecture, see the OpenVLA deep dive.


Ablation Analysis

The paper rigorously ablates each component:

Latent conditioning vs. raw observation: Using VLA latents outperforms raw observations by +4.2% — latents compress richer task context.

RL vs. behavior cloning for steering: QAM (RL-trained) outperforms a BC-trained equivalent by +4.5% — RL discovers action diversity beyond demonstration modes.

Adaptive vs. always-on: Adaptive outperforms always-on by +2.3% on OOD tasks, while also avoiding degradation on in-distribution tasks (always-on can harm already-correct actions).

CoVer verification: Adding CoVer selection during multi-sampling adds +1.8% on top of steering alone.


Limitations and Future Directions

Current limitations:

  • QAM is trained on BridgeV2/DROID — performance may vary on domains far from these datasets
  • SAFE requires calibration rollouts — a new robot type needs additional data collection
  • High VRAM requirement (≥24GB) due to the π0 base model

Interesting extensions:

  • Apply to other VLA backbones: OpenVLA-OFT, RoboVLMs
  • Extend to more complex manipulation: bimanual, contact-rich tasks
  • Online adaptation: incrementally update QAM from real robot rollouts

Conclusion

RL²-VLA demonstrates that retraining the VLA is not necessary for significant performance improvements. By training a small latent-space steering module with offline RL and triggering it intelligently (only when failure is predicted), the framework achieves +26.7% success rate on a real robot arm — a substantial gain at low compute cost.

The three-component architecture — SAFE + QAM + CoVer — cleanly separates concerns: SAFE knows when to intervene, QAM knows how to steer, CoVer knows which action to select. This modularity allows independent upgrades as stronger base VLAs emerge.

With test-time compute scaling becoming a major trend in robotics, RL²-VLA offers a principled approach: not naive sample scaling, but intelligent RL-guided latent steering with adaptive triggering and verified selection.


Related Posts

  • ResVLA: Residual Diffusion Bridge for Anchoring VLA Policy from Intent
  • Robo-ValueRL: Deploy VLA-RL Precision Manipulation for Humanoid Robots
  • Expo-FT Pi0.5: Online RL Fine-tune VLA in 19 Minutes
NT

Nguyễn Anh Tuấn

Robotics & AI Engineer. Building VnRobo — sharing knowledge about robot learning, VLA models, and automation.

Khám phá VnRobo

Fleet MonitoringROS 2 IntegrationAMR Solutions

Related Posts

NEWTutorial
FM-VLA: Force Memory Token cho VLA Contact-Rich Manipulation
vlaforce-sensingmanipulation
wholebody-vla

FM-VLA: Force Memory Token cho VLA Contact-Rich Manipulation

FM-VLA dùng VAE nén lịch sử lực thành Force Memory Tokens, giúp VLA vượt giới hạn Markovian — đếm contact, nhớ tiến trình, đạt 83.3% trên robot AgiBot G1.

7/31/202614 min read
NT
NEWTutorial
Pelican-VLA 0.5 trên LeRobot 3.0
pelican-vlalerobotvla
wholebody-vla

Pelican-VLA 0.5 trên LeRobot 3.0

Hướng dẫn chạy Pelican-VLA 0.5, hiểu Bottleneck Token, chuẩn bị LeRobot 3.0, training, inference và đọc kết quả RoboTwin.

7/29/202616 min read
NT
NEWResearch
ResVLA ICML 2026: Anchor VLA Policy từ Intent với Residual Bridge
vladiffusionmanipulation
wholebody-vla

ResVLA ICML 2026: Anchor VLA Policy từ Intent với Residual Bridge

ResVLA (ICML 2026): dùng Residual Diffusion Bridge anchor VLA từ intent, giảm nhiễu, tăng robustness cho robot manipulation.

7/27/202615 min read
NT
VnRobo logo

AI infrastructure for next-generation industrial robots.

Product

  • Features
  • Pricing
  • Knowledge Base
  • Services

Company

  • About Us
  • Blog
  • Contact

Legal

  • Privacy Policy
  • Terms of Service

© 2026 VnRobo. All rights reserved.

Made with♥in Vietnam