VnRobo
Về chúng tôiBảng giáBlogLiên hệ
🇺🇸ENĐăng nhậpDùng thử miễn phí
🇺🇸EN
VnRobo logo

Hạ tầng AI cho robot công nghiệp thế hệ mới.

Sản phẩm

  • Tính năng
  • Bảng giá
  • Kiến thức
  • Dịch vụ

Công ty

  • Về chúng tôi
  • Blog
  • Liên hệ

Pháp lý

  • Chính sách bảo mật
  • Điều khoản sử dụng

© 2026 VnRobo. Bảo lưu mọi quyền.

Được tạo với♥tại Việt Nam
VnRobo
Về chúng tôiBảng giáBlogLiên hệ
🇺🇸ENĐăng nhậpDùng thử miễn phí
🇺🇸EN
  1. Trang chủ
  2. Blog
  3. RLinf-Co: Sim-Real Co-Training cho VLA với RL
wholebody-vlavlareinforcement-learningsim-to-realpi0openpirlinfmaniskillco-trainingmanipulation

RLinf-Co: Sim-Real Co-Training cho VLA với RL

Hướng dẫn thực hành RLinf-Co — framework open-source kết hợp RL và dữ liệu thực để train π₀/π₀.₅ VLA tốt hơn imitation learning thuần túy.

Nguyễn Anh Tuấn19 tháng 6, 202611 phút đọc
RLinf-Co: Sim-Real Co-Training cho VLA với RL

Nếu bạn đã từng train một VLA model bằng imitation learning và thấy robot vẫn thất bại với các vật thể chưa gặp — bạn đang đối mặt với vấn đề cốt lõi của học bắt chước: không có khám phá. Mô hình chỉ copy những gì nó thấy, không học cách thử và sửa sai.

RLinf-Co giải quyết vấn đề này bằng cách kết hợp reinforcement learning trong simulator với dữ liệu thực, giúp VLA model như π₀.₅ và OpenVLA vượt qua giới hạn của imitation learning mà không cần hàng trăm demonstration thực tế đắt đỏ.

Paper gốc: Beyond Imitation: Reinforcement Learning–Based Sim–Real Co-Training for VLA Models — Liangzhi Shi et al., Tsinghua/HIT/PKU/CMU, 2026.

Khuyến nghị công cụ

Stack train/deploy cho VLA

Train trên cloud/workstation, deploy bản tối ưu xuống Jetson hoặc robot computer.

Cloud GPU for VLA / policy training Dùng cho imitation learning, diffusion policy, RL và fine-tuning model robotics. Xem cloud GPU → NVIDIA Jetson Orin NX / Orin Nano Máy deploy edge cho perception, logging và inference đã tối ưu. Xem Jetson → Hugging Face / robotics dataset hosting Lưu dataset, checkpoint và model card để workflow LeRobot/VLA dễ chia sẻ hơn. Xem platform →

Vấn đề: Tại sao imitation learning không đủ?

Hãy tưởng tượng bạn học bơi bằng cách xem video. Bạn có thể nhớ được động tác, nhưng khi xuống nước thật — với sức cản nước thực, với trọng lực thực — mọi thứ khác hoàn toàn. Đây chính xác là khoảng cách sim-to-real trong robotics.

Imitation learning (hay Supervised Fine-Tuning - SFT) có 3 vấn đề lớn:

  1. Distribution shift: Khi robot thực hiện hành động không có trong training data, nó không biết cách phục hồi.
  2. Compounding errors: Mỗi lỗi nhỏ tích lũy theo thời gian, dẫn đến thất bại hoàn toàn ở cuối trajectory.
  3. Data hunger: Cần hàng nghìn demonstration thực tế (tốn kém, chậm, khó scale).

Các phương pháp sim-to-real truyền thống cố bù đắp bằng cách tạo thật nhiều dữ liệu simulation, nhưng vẫn dựa vào supervised learning — tức là vẫn "học bắt chước", chỉ là từ simulator thay vì robot thật.

RLinf-Co đề xuất một hướng khác: dùng reinforcement learning trong simulator để robot thực sự học từ thử-và-sai, đồng thời neo chặt policy vào dữ liệu thực để tránh "quên" những gì đã học.

Kiến trúc: Hai giai đoạn học

RLinf-Co có cấu trúc hai giai đoạn rõ ràng:

Giai đoạn 1: SFT Co-Training (Khởi động)

Trước khi đưa robot vào môi trường RL, cần khởi động policy bằng supervised learning trên hỗn hợp dữ liệu thực + simulation:

  • Khoảng 50 trajectories thực tế (teleoperation với Franka arm)
  • Khoảng 1.000–1.500 trajectories simulation (tạo bằng MimicGen từ demonstration gốc)
  • Tỷ lệ trộn α (thường 50 thực : 1,499 sim) được điều chỉnh theo task

Mục đích của giai đoạn này là:

  • Policy học được ngôn ngữ tự nhiên của task ("pick up the red cup and place it on the plate")
  • Policy hiểu visual features thực tế: ánh sáng thực, màu sắc thực, depth thực
  • Chuẩn bị "mặt nền" để RL không bắt đầu từ zero

Giai đoạn 2: Real-Regularized RL (Học thực sự)

Đây là trái tim của RLinf-Co. Policy được fine-tune bằng PPO (Proximal Policy Optimization) trong simulator, nhưng với một hạn chế quan trọng:

ℒ_Total = ℒ_RL + β · ℒ_SFT(θ; D_real)
  • ℒ_RL: loss từ reinforcement learning trong simulator
  • ℒ_SFT(θ; D_real): supervised loss tính trên dữ liệu thực, dùng như regularizer
  • β = 0.2: trọng số cân bằng giữa RL và neo giữ real-world knowledge

Tại sao cần β · ℒ_SFT? Khi RL chạy trong simulator, policy sẽ dần quên những gì học từ dữ liệu thực (hiện tượng catastrophic forgetting). Term regularization này giống như dây neo — cho phép policy khám phá trong sim nhưng không trôi quá xa khỏi real-world distribution.

Hai kiến trúc VLA được hỗ trợ

RLinf-Co hiện hỗ trợ hai VLA architectures chính:

Model Kiến trúc Backbone Action head
OpenVLA Next-token prediction LLaVA-based Discrete tokenized actions
π₀.₅ Flow matching PaliGemma-based Continuous flow-matching

Cả hai đều chạy được với cùng framework RLinf, nhưng config khác nhau. Bài này tập trung vào π₀.₅ vì kết quả tốt hơn trên các task phức tạp.

Kết quả: Con số thực tế

Phương pháp được đánh giá trên 4 task tabletop manipulation với Franka Panda arm:

Task OpenVLA (baseline) OpenVLA (RLinf-Co) π₀.₅ (baseline) π₀.₅ (RLinf-Co)
Pick & Place ~28% +35.4% ~57% +9.4%
Push Cube ~47% +16.6% ~48% +18.4%
Open Drawer ~29% +35% ~1% +65%
Close Drawer ~54% +10% ~61% +5%
Trung bình 16.5% 64.0% 26.7% 66.2%

Điểm quan trọng: Với OpenVLA, RLinf-Co cải thiện từ 16.5% lên 64.0% average success rate — tức gấp gần 4 lần. Với π₀.₅, từ 26.7% lên 66.2%.

So sánh success rate giữa các phương pháp — nguồn: repo RLinf/misc
So sánh success rate giữa các phương pháp — nguồn: repo RLinf/misc

Generalization — điều ấn tượng nhất

Khi thử với vật thể chưa thấy trong training (unseen objects):

  • RLinf-Co: chỉ giảm 25% performance
  • Real-only SFT: giảm 46.9% performance

RL co-training học được generalizable features thay vì chỉ memorize specific objects.

Data efficiency

Data efficiency curve — càng ít real data, RLinf-Co càng vượt trội — nguồn: repo RLinf/misc
Data efficiency curve — càng ít real data, RLinf-Co càng vượt trội — nguồn: repo RLinf/misc

Đặc biệt khi bạn có ít dữ liệu thực (10-20 trajectories), RLinf-Co vượt xa SFT baseline. Với 50 trajectories, RLinf-Co đạt performance tương đương SFT với 200+ trajectories. Điều này cực kỳ có giá trị trong thực tế khi thu thập dữ liệu robot rất tốn kém.

Cài đặt môi trường

RLinf yêu cầu GPU (khuyến nghị A100/H100 hoặc ít nhất RTX 3090 để chạy thử), CUDA 12+, và Docker hoặc conda.

Cách 1: Docker (Khuyến nghị)

# Pull image có sẵn đầy đủ dependencies
docker run -it --rm --gpus all \
  --shm-size 20g \
  --network host \
  --name rlinf \
  -v .:/workspace/RLinf \
  rlinf/rlinf:agentic-rlinf0.2-maniskill_libero

# Khi vào container, switch sang openpi environment
source switch_env openpi

Docker image đã bao gồm ManiSkill3, openpi (π₀.₅ framework), và tất cả CUDA dependencies. Đây là cách nhanh nhất để bắt đầu.

Cách 2: Cài thủ công

# Clone repo
git clone https://github.com/RLinf/RLinf.git
cd RLinf

# Cài đặt cho embodied RL với π₀.₅ và ManiSkill
bash requirements/install.sh embodied --model openpi --env maniskill_libero
source .venv/bin/activate

Script cài đặt sẽ tạo virtual environment Python và cài tất cả dependencies bao gồm ManiSkill3, LeRobot, và openpi. Quá trình này mất khoảng 15-20 phút tùy tốc độ mạng.

Chuẩn bị dataset

Trước khi train, cần tải 3 loại asset:

1. Tải ManiSkill3 assets (simulator environment)

# Di chuyển vào thư mục assets của ManiSkill
cd <path_to_RLinf>/rlinf/envs/maniskill/assets

# Tải scene assets từ HuggingFace
hf download --repo-type dataset RLinf/RLCo-maniskill-assets \
  --include "custom_assets/*" \
  --local-dir .

2. Tải mixed dataset (thực + simulation) cho Stage 1

# Dataset chứa 50 real + 1,499 sim trajectories
hf download --repo-type dataset RLinf/RLCo-Example-Mix-Data \
  --local-dir RLCo-Example-Mix-Data

Dataset này ở định dạng LeRobot format (HDF5), chứa cả RGB images, joint states, và ngôn ngữ instruction.

3. Tải SFT checkpoint (hoặc train từ đầu)

Có thể skip Stage 1 bằng cách dùng checkpoint đã train sẵn:

# Tải SFT checkpoint π₀.₅ đã được pre-train
hf download RLinf/RLinf-Pi05-RLCo-PandaPutOnPlateInScene25DigitalTwin-V1-SFT \
  --local-dir RLinf-Pi05-RLCo-PandaPutOnPlateInScene25DigitalTwin-V1-SFT

4. Tải real-world data cho Stage 2 regularization

# 50 real trajectories dùng làm regularizer trong RL phase
hf download --repo-type dataset RLinf/RLCo-Example-Real-Data \
  --local-dir RLCo-Example-Real-Data

Cấu hình training

File config YAML cho co-training stage có cấu trúc như sau:

# Phần rollout: policy chạy trong simulator
rollout:
  model:
    model_path: /path/to/RLinf-Pi05-RLCo-PandaPutOnPlateInScene25DigitalTwin-V1-SFT

# Phần actor: policy được update
actor:
  sft_data_path: /path/to/RLCo-Example-Real-Data
  model:
    model_path: /path/to/RLinf-Pi05-RLCo-PandaPutOnPlateInScene25DigitalTwin-V1-SFT
    openpi:
      config_name: "pi05_maniskill_sim_real_co_training"

  # Bật co-training mode
  enable_sft_co_train: True
  sft_loss_weight: 0.2   # β trong công thức ℒ_Total = ℒ_RL + β·ℒ_SFT

Giải thích tham số quan trọng:

  • enable_sft_co_train: True — bật chế độ co-training, tức là dùng cả RL loss + SFT loss
  • sft_loss_weight: 0.2 — đây là β. Giá trị 0.2 là default được tune qua ablation study trong paper. Tăng β → policy ổn định hơn nhưng học RL chậm hơn. Giảm β → policy học RL nhanh hơn nhưng có thể quên real-world features.
  • config_name: "pi05_maniskill_sim_real_co_training" — preset config cho π₀.₅ với ManiSkill3 environment.

Chạy training

Sau khi chuẩn bị xong dataset và config:

# Chạy RL co-training với example script
bash examples/embodiment/run_embodiment.sh maniskill_ppo_co_training_openpi_pi05

Script này khởi chạy toàn bộ pipeline PPO co-training: collector (rollout trong sim), trainer (update policy với PPO + SFT loss), và evaluator (đánh giá định kỳ trong sim).

Theo dõi training với TensorBoard:

tensorboard --logdir ./logs --port 6006

Các metric cần theo dõi:

  • env/success_rate: success rate trong simulator (tăng dần từ ~0 đến ~70-80% sau 100 steps)
  • loss/rl_loss: PPO loss, nên giảm dần
  • loss/sft_loss: SFT regularization loss, nên ổn định (không tăng đột biến)
  • reward/mean: average reward, nên tăng monotonically

Quy trình từ đầu đến cuối

Nếu bạn muốn áp dụng RLinf-Co cho task của mình (không phải task example), đây là workflow đầy đủ:

Bước 1: Thu thập real data

Thu thập 20-50 trajectories thực tế qua teleoperation. Với 20 trajectories, RLinf-Co vẫn hoạt động tốt (xem data efficiency chart ở trên). Format dữ liệu phải là LeRobot format.

Bước 2: Xây dựng digital twin trong ManiSkill3

Tạo scene trong ManiSkill3 tương đối giống môi trường thực. Không cần perfect — paper cho thấy độ chênh lệch nhỏ giữa sim và real vẫn ổn.

Bước 3: Tạo sim data với MimicGen

Dùng MimicGen để generate 1.000+ trajectories từ một vài demonstration gốc. MimicGen tự động randomize vị trí object và tạo diverse data.

Bước 4: Stage 1 — SFT co-training

Train π₀.₅ hoặc OpenVLA trên hỗn hợp real + sim data. Khoảng 50k-100k steps tùy model.

Bước 5: Stage 2 — RL co-training

Fine-tune với PPO trong sim + SFT regularization trên real data. Paper cho thấy chỉ cần ~100 RL steps để thấy cải thiện đáng kể.

Bước 6: Eval trên robot thật

Deploy policy đã train lên Franka arm thực. Framework hỗ trợ Franka arm qua ROS2.

Những điều cần chú ý khi thực hành

1. Domain gap giữa sim và real

ManiSkill3 render ảnh khá thực tế (ray tracing), nhưng vẫn có gap về ánh sáng và texture. Nếu domain gap quá lớn, SFT regularization term β·ℒ_SFT sẽ không đủ mạnh để giữ policy. Giải pháp: tăng số lượng real data hoặc dùng domain randomization trong sim.

2. β là tham số nhạy cảm nhất

Paper thực hiện ablation study với β ∈ {0.05, 0.1, 0.2, 0.5}. β=0.2 cho kết quả tốt nhất trên các task test. Với task của bạn, có thể cần tune lại. Nếu thấy policy "quên" real-world (eval trên robot thật tệ đi), thử tăng β lên 0.3-0.5.

3. Số lượng RL steps không cần nhiều

Một trong những phát hiện đáng ngạc nhiên của paper: chỉ cần 100 RL steps để thấy cải thiện đáng kể. Khác với RL từ scratch (cần hàng triệu steps), co-training từ SFT checkpoint rất data-efficient vì policy đã có nền tảng tốt.

4. Task reward design

PPO cần sparse reward (0/1 cho success/fail). Paper dùng binary reward: 1 nếu object đến được target position trong threshold, 0 nếu không. Không cần dense reward phức tạp.

So sánh với các phương pháp khác

Phương pháp Real data cần Sim cần Có RL? Generalization
Real-only SFT 200+ traj Không Không Yếu
SFT Co-training 50 traj Cần Không Trung bình
RLinf-Co 20-50 traj Cần Có Tốt
RL từ scratch Không Cần nhiều Có Tốt nhưng chậm

RLinf-Co chiếm được vị trí "ngọt ngào" nhất: ít real data, có generalization tốt, và không cần hàng triệu RL steps để converge.

Kết luận

RLinf-Co đại diện cho một hướng đi quan trọng trong VLA training: không chỉ bắt chước, mà còn học cách cải thiện. Với framework open-source, support cho cả OpenVLA lẫn π₀.₅, và kết quả ấn tượng (+24% đến +65% trên các task), đây là công cụ đáng thử nghiệm cho bất kỳ ai đang làm robot manipulation.

Điểm mấu chốt để nhớ: 2 giai đoạn + 1 công thức. SFT co-training để khởi động, rồi ℒ_RL + 0.2·ℒ_SFT để RL học mà không quên thực tế. Đơn giản nhưng hiệu quả.

Bài viết liên quan

  • OpenVLA Deep Dive: Kiến trúc và cách hoạt động
  • π₀.₅ Series: Tổng quan kiến trúc và workflow
  • Expo-FT: Fine-tune π₀.₅ với Online RL trong 19 phút
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

Bài viết liên quan

NEWTutorial
WEAVER: world model cải thiện π0.5 VLA
weaverworld-modelpi0.5
wholebody-vla

WEAVER: world model cải thiện π0.5 VLA

Hướng dẫn WEAVER: world model đa góc nhìn giúp đánh giá, fine-tune và steer π0.5 VLA manipulation nhanh hơn.

15/6/202611 phút đọc
NT
Tutorial
RISE: Hands-on training pipeline tự cải thiện
riseworld-modelvla
wholebody-vla

RISE: Hands-on training pipeline tự cải thiện

Từng bước chạy RISE training pipeline: cài đặt, chuẩn bị data LeRobot, offline policy training, dynamics model, và online self-improvement loop trên 4–8 GPU.

13/6/202612 phút đọc
NT
Deep Dive
VLA-RFT: RL Fine-Tune VLA trong World Simulator
vlavla-rftreinforcement-learning
wholebody-vla

VLA-RFT: RL Fine-Tune VLA trong World Simulator

VLA-RFT dùng world model làm simulator để fine-tune VLA bằng GRPO, reward kiểm chứng và code GitHub trên LIBERO.

3/6/202614 phút đọc
NT
VnRobo logo

Hạ tầng AI cho robot công nghiệp thế hệ mới.

Sản phẩm

  • Tính năng
  • Bảng giá
  • Kiến thức
  • Dịch vụ

Công ty

  • Về chúng tôi
  • Blog
  • Liên hệ

Pháp lý

  • Chính sách bảo mật
  • Điều khoản sử dụng

© 2026 VnRobo. Bảo lưu mọi quyền.

Được tạo với♥tại Việt Nam