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. DyPES-VLA: Train Cross-Embodiment Policy 98% LIBERO với Dynamics Prior và MoE
wholebody-vlavlacross-embodimentmanipulationmoedynamics-priorliberodiffusion-transformerqwenarxiv-2026

DyPES-VLA: Train Cross-Embodiment Policy 98% LIBERO với Dynamics Prior và MoE

Hướng dẫn DyPES-VLA — VLA cross-embodiment SOTA: 98% LIBERO, 89% RoboTwin 2.0, 75.6% real-world với Dynamics Prior và MoE Action Head trên 3 embodiments.

Nguyễn Anh Tuấn14 tháng 8, 202612 phút đọc
DyPES-VLA: Train Cross-Embodiment Policy 98% LIBERO với Dynamics Prior và MoE

DyPES-VLA: Học Dynamics Prior Chung và Kiểm Soát Riêng Từng Embodiment cho Cross-Embodiment Manipulation

Hãy thử tưởng tượng bạn phải dạy ba học sinh cùng một lúc: một đứa có tay ngắn, một đứa tay dài, và một đứa có hai tay. Cùng bài học, cùng bộ não — nhưng cách mỗi đứa cầm bút thì hoàn toàn khác nhau.

Đó chính xác là bài toán cross-embodiment manipulation trong robotics: làm sao để một policy duy nhất có thể điều khiển Franka Panda 7-DoF, Unitree G1 humanoid 29-DoF, và dual-arm robot 14-DoF — cùng lúc, từ cùng một model weight?

DyPES-VLA (arXiv 2608.06374, August 2026 — HKUST Guangzhou & COCO Matrix) trả lời câu hỏi này với hai đột phá:

  1. Dynamics Prior: Để VLM học "vật lý" của thao tác từ video không có label robot action — cách vật thể di chuyển, cách tay cầm tiếp xúc bề mặt, cách cảnh thay đổi sau khi manipulation.
  2. Mixture-of-Experts (MoE) Action Head: Mỗi embodiment có "chuyên gia" FFN riêng — không cần align action space bằng tay, không cần preprocessing.

Kết quả: 98.0% trên LIBERO, 89.02% trên RoboTwin 2.0, 59.25% trên RoboCasa-GR1, và 75.6% trên real-world với 3 robot thực tế, vượt xa GR00T-N1.6 (59.6%) và ACT (32.4%).

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 →

Tại Sao Cross-Embodiment Manipulation Khó?

Hầu hết các VLA hiện tại — từ Qwen-VLA đến X-VLA — đều được train trên một loại robot hoặc phải chuẩn hóa action space bằng tay (ví dụ: map tất cả về end-effector Cartesian). Điều đó có hai vấn đề lớn:

Vấn đề 1 — Waste of shared knowledge: Mọi robot đều tuân thủ cùng quy luật vật lý. Khi bạn kéo một hộp ra khỏi kệ, bất kể dùng tay người, cánh tay Franka, hay tay humanoid, hộp đều di chuyển theo cùng cách. Nhưng các model hiện tại lại train action policy từ đầu cho từng embodiment, bỏ phí "knowledge vật lý" chung này.

Vấn đề 2 — Manual preprocessing burden: Chuyển joint-space action của humanoid 29-DoF về end-effector Cartesian của Franka 7-DoF không đơn giản. Thường cần pipeline IK/FK phức tạp, gây lỗi và mất information.

DyPES-VLA giải quyết cả hai bằng cách tách rõ hai phase:

  • Phase học "physics chung" (Dynamics Prior) → dùng video data, không cần robot labels
  • Phase học "cách dùng physics đó cho từng robot" (MoE Action Head) → embodiment-specific, không cần preprocessing

Kiến Trúc DyPES-VLA

Kiến trúc tổng thể DyPES-VLA với Dynamics Prior và MoE Action Head
Kiến trúc tổng thể DyPES-VLA với Dynamics Prior và MoE Action Head
Kiến trúc DyPES-VLA — nguồn: arXiv 2608.06374

Model gồm 3 thành phần chính:

1. Vision-Language Model (VLM) với Shared Query Tokens

Backbone là Qwen3-VL-2B, nhận vào:

  • Visual observations (hình ảnh camera)
  • Language instruction ("pick up the red cube")
  • Embodiment metadata (loại robot, action format)
  • N=96 learnable query tokens — đây là "giao diện" trung gian quan trọng nhất

96 query tokens này được training để capture shared dynamics: chuyển động của vật thể, tiếp xúc tay-vật, thay đổi cảnh sau manipulation. Chúng là "ngôn ngữ chung" mà cả Franka, humanoid, và dual-arm đều hiểu.

2. Future Generation Head (Dynamics Prior)

Đây là trái tim của DyPES-VLA. Thay vì chỉ học từ robot demonstration data, model được train để dự đoán khung hình tương lai — task không cần robot action labels.

Generator dùng SANA-600M (image diffusion model) với mục tiêu rectified-flow:

$$\mathcal{L}\text{future} = \mathbb{E}{\tau, \epsilon}\left[|g_\psi(z_\tau, \tau, p_\omega(Z)) - (z - \epsilon)|_2^2\right]$$

Trong đó:

  • $z_\tau$ là noisy latent của future frame
  • $p_\omega(Z)$ là query states từ VLM (96 tokens)
  • $g_\psi$ là SANA-600M conditioned trên query states

Mục tiêu: buộc 96 query tokens phải encode đủ thông tin để dự đoán tương lai — qua đó chúng tự nhiên học được dynamics của thao tác.

3. Embodiment-Specific MoE Action Head

Đây là component dịch "language dynamics chung" sang "robot commands cụ thể". Thiết kế là 16-layer Diffusion Transformer với K=3 experts:

  • Per-Embodiment Encoder-Decoder: Lightweight adapter map native action space (joint angles, end-effector pose, etc.) vào/ra một common latent space
  • Shared Attention Layers: Cross-attention đến 96 query tokens; self-attention trên action sequence — cả hai dùng Adaptive LayerNorm (AdaLN). Phần này chia sẻ giữa mọi embodiment
  • Static Routing: Router chọn 1 trong K=3 FFN experts dựa trên embodiment metadata — không cần gating phức tạp
  • Embodiment-Specific FFN Experts: Mỗi expert chuyên về một embodiment, xử lý kinematic constraints riêng

Training objective ở Stage 2:

$$\mathcal{L} = \mathcal{L}\text{action} + \lambda_w \mathcal{L}\text{future}, \quad \lambda_w = 0.05$$

Tỉ lệ 0.05 giữ balance: action loss chính, future loss giữ dynamics prior không bị forgetting.

Hai Giai Đoạn Training

Stage 1: Pretraining Dynamics Prior (100K steps)

Mục tiêu: Học dynamics chung từ video — KHÔNG cần robot action labels.

Hardware: 16 H100 GPUs, batch size 512.

Data mixture:

Dataset Tỉ lệ Mô tả
EgoDex 50% Video người làm thao tác tay (egocentric)
RoboTwin 2.0 20% Dual-arm simulation demos
RoboCasa-GR1 20% Humanoid simulation demos
LIBERO 10% Single-arm simulation demos

Tại sao EgoDex chiếm 50%? Vì video người làm thao tác chứa phong phú dynamics thực tế nhất — cách tay người cầm vật, tiếp xúc, và thao tác có thể transfer sang robot.

Chỉ train Future Generation Head và Query Tokens. VLM backbone freeze hoặc fine-tune nhẹ. Action Head chưa train.

Stage 2: Co-training với MoE Action Head (200K steps)

Mục tiêu: Train action policy với embodiment-specific experts, giữ dynamics prior bằng joint loss.

Data mixture (chỉ robot demonstration data):

Dataset Tỉ lệ Robot
RoboTwin 2.0 40% 14-DoF dual-arm
RoboCasa-GR1 40% 29-DoF humanoid
LIBERO 20% 7-DoF Franka Panda

Action horizons khác nhau theo embodiment:

  • Single-arm (Franka): 8 steps
  • Humanoids: 16 steps
  • Dual-arm: 50 steps

Inference: 4 Euler steps cho flow integration — nhanh hơn DDPM truyền thống.

Real-World Finetuning (5K steps)

Sau khi train simulation xong, finetuning cho 3 robot thực:

  • FR3 (Franka Research 3)
  • COBOT Magic
  • Unitree G1 (humanoid)

Chỉ cần 1,800 demonstrations — tương đối ít so với train from scratch.

Kết Quả Benchmark

Simulation Benchmarks (single checkpoint — cùng weight cho cả 3)

LIBERO (7-DoF Franka Panda):

Subset DyPES-VLA π₀ GR00T-N1.6
Spatial 98.8% 97.6% —
Object 99.4% 98.5% —
Goal 97.0% 95.9% —
Long Horizon 96.8% 88.9% —
Average 98.0% 95.2% 92.3%

RoboCasa-GR1 (29-DoF humanoid):

Model Success Rate
DyPES-VLA 59.25%
ABot-M0 58.3%
Qwen-VLA 56.7%
LDA-1B 55.4%

RoboTwin 2.0 (14-DoF dual-arm):

Model Clean Randomized Average
DyPES-VLA 88.78% 89.26% 89.02%
Qwen-VLA 86.4% 86.8% 86.6%

Real-World Performance

Triển khai DyPES-VLA trên 3 robot thực tế: FR3, COBOT Magic, Unitree G1
Triển khai DyPES-VLA trên 3 robot thực tế: FR3, COBOT Magic, Unitree G1
DyPES-VLA trên 3 robot thực: FR3, COBOT Magic, Unitree G1 — nguồn: arXiv 2608.06374

Model FR3 COBOT Magic Unitree G1 Average
DyPES-VLA — — — 75.6%
GR00T-N1.6 — — — 59.6%
ACT — — — 32.4%

DyPES-VLA vượt GR00T-N1.6 +16 điểm và vượt ACT +43 điểm — khoảng cách rất lớn.

Ablation Study: Từng Component Quan Trọng Đến Đâu?

Configuration RoboTwin 2.0 RoboCasa-GR1 LIBERO
Full DyPES-VLA 89.02% 59.25% 98.0%
Không có Future Prediction -2.4% -2.5% nhỏ
Dense Head (không MoE) -1.2% -2.1% nhỏ
Không có Embodiment Metadata -0.5% -0.5% nhỏ

Bài học:

  • Future Prediction quan trọng nhất cho humanoid và dual-arm (task phức tạp hơn, dynamics harder)
  • MoE quan trọng hơn với humanoid (29-DoF, kinematic constraints khác xa single-arm)
  • LIBERO ít bị ảnh hưởng vì là task single-arm đơn giản, dynamics ít phức tạp hơn

Cách Reproduce và Sử Dụng DyPES-VLA

Hiện tại code chưa public tại thời điểm bài viết (August 2026), nhưng từ paper bạn có thể implement lại theo approach sau:

Chuẩn bị môi trường

# Install dependencies chính
pip install torch torchvision
pip install transformers  # cho Qwen3-VL-2B
pip install diffusers     # cho SANA-600M
pip install lerobot       # cho LIBERO, RoboTwin data loading

# LIBERO benchmark
pip install libero

Stage 1: Train Dynamics Prior

import torch
from transformers import Qwen3VLForConditionalGeneration

# Load Qwen3-VL-2B backbone
vlm = Qwen3VLForConditionalGeneration.from_pretrained("Qwen/Qwen3-VL-2B")

# Thêm 96 learnable query tokens
query_tokens = torch.nn.Parameter(
    torch.randn(1, 96, vlm.config.hidden_size)
)

# Future generation head (SANA-600M conditioned on query tokens)
# Objective: rectified-flow regression
def compute_future_loss(query_states, future_frame_latent, noise):
    """
    query_states: [B, 96, D] — output từ VLM
    future_frame_latent: z — latent của future frame
    noise: epsilon ~ N(0, I)
    """
    t = torch.rand(query_states.shape[0])  # random timestep
    z_t = (1 - t[:, None, None]) * noise + t[:, None, None] * future_frame_latent
    velocity_pred = sana_generator(z_t, t, conditioning=query_states)
    velocity_target = future_frame_latent - noise
    return ((velocity_pred - velocity_target) ** 2).mean()

Data loading: Mix EgoDex (50%) + simulation videos (50%) không cần action labels — chỉ cần (current_frame, future_frame) pairs.

Stage 2: Train MoE Action Head

class MoEActionHead(torch.nn.Module):
    """
    16-layer Diffusion Transformer với K=3 embodiment-specific experts.
    """
    def __init__(self, n_layers=16, n_experts=3, d_model=512):
        super().__init__()
        self.n_experts = n_experts
        
        # Shared layers (cross-attention + self-attention)
        self.shared_attention = torch.nn.ModuleList([
            SharedAttentionBlock(d_model) for _ in range(n_layers)
        ])
        
        # Per-embodiment experts (FFN)
        self.experts = torch.nn.ModuleList([
            torch.nn.Sequential(
                torch.nn.Linear(d_model, d_model * 4),
                torch.nn.GELU(),
                torch.nn.Linear(d_model * 4, d_model)
            ) for _ in range(n_experts)
        ])
        
        # Static router (based on embodiment metadata)
        self.router = torch.nn.Embedding(n_experts, 1)
    
    def forward(self, action_noisy, query_states, embodiment_id):
        # Shared attention qua tất cả layers
        x = action_noisy
        for layer in self.shared_attention:
            x = layer(x, cross_kv=query_states)
        
        # Route to embodiment-specific expert
        x = self.experts[embodiment_id](x)
        return x  # predicted velocity

# Training co-objective
def training_step(batch):
    action_loss = compute_action_loss(batch)
    future_loss = compute_future_loss(batch)
    return action_loss + 0.05 * future_loss  # lambda_w = 0.05

Inference

# 4 Euler steps — nhanh hơn DDPM
def inference(observation, instruction, embodiment_id, n_steps=4):
    # VLM encode
    query_states = vlm(observation, instruction)  # [B, 96, D]
    
    # Sample từ noise
    action = torch.randn(batch_size, action_horizon, action_dim)
    
    # Euler integration
    dt = 1.0 / n_steps
    for i in range(n_steps):
        t = torch.tensor(i * dt)
        velocity = moe_head(action, query_states, embodiment_id)
        action = action + velocity * dt
    
    return action

Action Horizons theo Embodiment

ACTION_HORIZONS = {
    "single_arm": 8,   # Franka Panda, COBOT Magic
    "humanoid": 16,    # Unitree G1, GR1
    "dual_arm": 50,    # RoboTwin dual-arm
}

So Sánh với Các Phương Pháp Khác

Nếu bạn đang cân nhắc giữa các VLA cho cross-embodiment task:

Approach Ưu điểm Nhược điểm
DyPES-VLA Không cần align action space, dùng được video data, MoE scalable Phức tạp 2-stage training, cần 16 H100
RDT2 zero-shot Zero-shot transfer Chỉ dual-arm bimanual
HEX-VLA Whole-body loco-manipulation Tập trung humanoid
Qwen-VLA (generalist) Đơn giản train Kém hơn DyPES-VLA trên mọi benchmark
Per-embodiment specialist Highest peak performance Không scalable, cần train riêng từng robot

DyPES-VLA lý tưởng khi: Bạn có ≥2 loại robot khác nhau và muốn một policy chung, hoặc có nhiều action-free video data để leverage.

DyPES-VLA không phải lựa chọn tốt khi: Chỉ có một loại robot duy nhất — lúc đó specialist policy (Diffusion Policy, ACT) đơn giản hơn và đủ tốt.

Điểm Sáng Tạo Của Paper

Có ba insight thực sự đáng để học từ DyPES-VLA:

Insight 1: Video data là gold mine chưa khai thác đủ. EgoDex và video manipulation người/robot tồn tại rất nhiều — chúng chứa phong phú dynamics information hơn robot demonstration data. DyPES-VLA exploit điều này bằng future prediction pretraining.

Insight 2: Tách "physics" khỏi "control". Dynamics Prior học vật lý chung, MoE Action Head học control riêng. Đây là inductive bias rất clean và align với cách người ta thực sự nghĩ về manipulation.

Insight 3: Static routing đủ dùng. Thay vì learned gating phức tạp (như trong LLM MoE), static routing dựa trên embodiment metadata đơn giản hơn và hiệu quả không kém — vì không cần "route" giữa nhiều tasks, chỉ cần phân biệt embodiment.

Hạn Chế Và Hướng Mở Rộng

Paper thừa nhận một số hạn chế:

  • Số lượng embodiments còn hạn chế: 3 embodiments trong real-world (FR3, COBOT, G1). Scale lên 10-20 embodiments chưa được test.
  • K=3 experts phù hợp với 3 embodiments nhưng cần thêm experts khi scale.
  • RoboCasa-GR1 chỉ đạt 59.25% — humanoid manipulation vẫn là hard problem, đặc biệt với tasks cần balance tốt.
  • Inference speed: Chưa có số liệu real-time inference Hz — 4 Euler steps có thể vẫn chậm với diffusion Transformer 16 layers.

Hướng mở rộng hấp dẫn:

  • Thêm data từ sim (Isaac Lab, MuJoCo) để tăng diversity
  • Fine-tune cho mobile manipulation robot (wheel + arm)
  • Kết hợp với Diffusion Policy approaches cho action head

Kết Luận

DyPES-VLA là một bước tiến rõ ràng trong cross-embodiment manipulation. Điểm mấu chốt không phải là con số 98% LIBERO (đây là benchmark tương đối easy với model lớn) — mà là 75.6% real-world trên 3 robot khác nhau với một single checkpoint.

Hai ý tưởng cốt lõi — học dynamics chung từ video qua future prediction, và routing về expert riêng của từng embodiment — là những building blocks mà cộng đồng sẽ tiếp tục xây dựng lên trong 2026-2027.

Link paper: arXiv 2608.06374 | Project page: DyPES-VLA Release


Bài Viết Liên Quan

  • Qwen-VLA: Train Robot Manipulation Đa Nhiệm trên LIBERO Đạt 97.9%
  • X-VLA ICLR 2026: Cross-Embodiment VLA với LeRobot
  • RDT-2: Zero-Shot Cross-Embodiment Bimanual Manipulation
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

Nghiên cứu
Qwen-VLA: Mô hình VLA generalist của Alibaba
vlaalibabaqwen
wholebody-vla

Qwen-VLA: Mô hình VLA generalist của Alibaba

Khám phá Qwen-VLA — VLA generalist Alibaba dùng Qwen3.5-4B + DiT decoder, một bộ weight cho manipulation, navigation và đa robot dị cấu hình.

29/6/202612 phút đọc
NT
Tutorial
HEX: VLA Toàn Thân Đa Embodiment cho Humanoid
vlawhole-bodyhumanoid
wholebody-vla

HEX: VLA Toàn Thân Đa Embodiment cho Humanoid

Hướng dẫn chi tiết HEX — VLA whole-body manipulation đầu tiên cho humanoid full-size, hỗ trợ 7 embodiment, open-source với Qwen3-VL + MoE + DiT flow-matching.

10/6/202610 phút đọc
NT
Tutorial
X-VLA ICLR 2026: Soft-Prompted VLA 0.9B cho beginner LeRobot
x-vlavlaiclr-2026
wholebody-vla

X-VLA ICLR 2026: Soft-Prompted VLA 0.9B cho beginner LeRobot

Hướng dẫn X-VLA — flow-matching VLA 0.9B đạt SOTA trên 6 sim + 3 robot thật, native LeRobot, code open-source HuggingFace.

20/5/202611 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