Vấn đề với các VLA hiện tại
Trong hai năm qua, cộng đồng robotics đã chứng kiến sự bùng nổ của các mô hình Vision-Language-Action (VLA) — những kiến trúc kết hợp khả năng hiểu ngôn ngữ, nhận diện hình ảnh và sinh ra hành động điều khiển robot. Từ RT-2 của Google DeepMind cho đến Spatial VLA, mỗi thế hệ VLA đều mang lại tiến bộ đáng kể. Tuy nhiên, tất cả đều chia sẻ một hạn chế kiến trúc cơ bản: sự phân tách giữa hiểu và hành động.
Các VLA thế hệ trước thường hoạt động theo kiểu "pipeline" — mô hình ngôn ngữ xử lý text instruction và hình ảnh đầu vào, rồi một "action head" riêng biệt (thường là MLP hoặc diffusion head) chịu trách nhiệm sinh ra chuỗi hành động. Điều này tạo ra một khoảng cách ngữ nghĩa: phần hiểu ngôn ngữ và phần sinh hành động sống trong hai không gian biểu diễn khác nhau, giao tiếp qua một bottleneck.
Hậu quả? Khi robot cần thực hiện các chuỗi hành động dài (long-horizon tasks), sự mất mát thông tin qua bottleneck này tích lũy dần, dẫn đến sai lệch ngày càng lớn. Robot có thể hiểu đúng "hãy xếp khối đỏ lên khối xanh" nhưng lại mất coherence giữa các bước thực hiện.
MMaDA-VLA (Multi-Modal Diffusion Action VLA) giải quyết vấn đề này bằng một ý tưởng táo bạo: gộp tất cả — ngôn ngữ, hình ảnh, và hành động robot — vào cùng một không gian token rời rạc, rồi dùng discrete diffusion để sinh tất cả song song.
Ý tưởng cốt lõi: Native Discrete Diffusion
Tại sao "native" là quan trọng?
Nhiều mô hình trước đây cũng dùng diffusion cho robot actions — ví dụ Diffusion Policy hoạt động trong không gian liên tục (continuous). MMaDA-VLA khác biệt ở chỗ nó dùng discrete diffusion — một quá trình khử nhiễu trên các token rời rạc, giống như cách mà các mô hình ngôn ngữ làm việc với text tokens.
Điều này có nghĩa là gì? Thay vì có hai hệ thống riêng biệt — một hệ thống autoregressive cho ngôn ngữ và một hệ thống diffusion liên tục cho actions — MMaDA-VLA dùng một cơ chế duy nhất cho tất cả. Text tokens, image tokens (được lượng tử hóa từ visual encoder), và action tokens (được rời rạc hóa từ không gian hành động) đều sống trong cùng một vocabulary, được xử lý bởi cùng một backbone transformer.
Masked Token Denoising
Quá trình sinh (generation) của MMaDA-VLA hoạt động qua masked token denoising — một biến thể của discrete diffusion:
- Bắt đầu: Tất cả output tokens (bao gồm cả future goal images và action chunks) đều được mask hoàn toàn — tức là ở trạng thái "nhiễu tối đa"
- Lặp lại nhiều bước: Tại mỗi bước denoising, mô hình dự đoán đồng thời tất cả các masked tokens, sau đó unmask một tập con dựa trên confidence score
- Kết thúc: Sau T bước (thường 10-20 bước), tất cả tokens đều được unmask, cho ra output hoàn chỉnh
Điểm then chốt là parallel generation — khác với autoregressive models phải sinh từng token một từ trái sang phải, discrete diffusion sinh tất cả tokens cùng lúc và tinh chỉnh dần. Điều này mang lại hai lợi thế:
- Tốc độ: Sinh song song nhanh hơn nhiều so với autoregressive
- Global coherence: Mỗi token được tinh chỉnh dựa trên context của TẤT CẢ các tokens khác (cả đã unmask và chưa unmask), thay vì chỉ nhìn thấy các tokens phía trước
Sinh đồng thời ảnh mục tiêu và hành động
Một trong những đổi mới quan trọng nhất của MMaDA-VLA là khả năng sinh đồng thời future goal observations và action chunks. Khi nhận instruction "xếp khối đỏ lên khối xanh", mô hình không chỉ sinh ra chuỗi hành động mà còn sinh ra hình ảnh dự đoán của trạng thái tương lai — robot sẽ nhìn thấy gì sau khi hoàn thành task.
Tại sao điều này hữu ích? Vì nó tạo ra một self-consistency check tự nhiên. Nếu mô hình sinh ra actions đặt khối đỏ sang bên phải nhưng goal image lại hiển thị khối đỏ ở trên khối xanh, quá trình denoising sẽ tự điều chỉnh trong các bước tiếp theo — vì cả action tokens và image tokens đều ảnh hưởng lẫn nhau trong cùng quá trình denoising.
Kiến trúc tổng quan
MMaDA-VLA được xây dựng trên kiến trúc MMaDA (Multi-Modal Diffusion Architecture) với các thành phần chính:
1. Unified Tokenizer
- Text: Tokenizer chuẩn (tương tự LLaMA/GPT)
- Vision: Visual encoder (SigLIP hoặc tương đương) + vector quantization để chuyển ảnh thành discrete tokens
- Actions: Binning discretization — chia không gian hành động liên tục thành các bins rời rạc, mỗi bin tương ứng với một token
Tất cả đều chia sẻ cùng một vocabulary, cho phép mô hình xử lý chúng đồng nhất.
2. Single Transformer Backbone
Một transformer duy nhất (dựa trên kiến trúc tương tự LLaMA) nhận tất cả input tokens và sinh tất cả output tokens. Không có "action head" riêng biệt, không có decoder riêng cho vision. Mọi thứ đều đi qua cùng một mạng.
3. Iterative Denoising Loop
Quá trình inference chạy T bước denoising, mỗi bước:
- Forward pass qua transformer
- Dự đoán probability distribution cho mỗi masked token
- Unmask top-k tokens có confidence cao nhất
- Lặp lại cho đến khi tất cả tokens được giải mã
Pre-training trên Open-X Embodiment
MMaDA-VLA được pre-train trên Open-X Embodiment — bộ dataset khổng lồ tổng hợp dữ liệu từ hàng chục phòng lab robotics trên toàn thế giới, bao gồm nhiều loại robot khác nhau (robot arms, mobile manipulators, humanoids) với hàng triệu trajectories.
Quá trình pre-training sử dụng masked language modeling objective mở rộng cho cả ba modalities:
- Mask ngẫu nhiên một phần text, image, và action tokens
- Yêu cầu mô hình dự đoán các tokens bị mask
- Loss function kết hợp cross-entropy cho cả ba loại tokens
Đây là giai đoạn tốn tài nguyên nhất, sử dụng 8-node cluster, mỗi node 8 GPU với DeepSpeed ZeRO Stage-2 để tối ưu bộ nhớ. Quá trình này giúp mô hình học được biểu diễn chung cho ngôn ngữ, hình ảnh và hành động.
Fine-tuning trên CALVIN và LIBERO
Sau pre-training, MMaDA-VLA được fine-tune trên hai benchmark phổ biến:
CALVIN
CALVIN là benchmark đánh giá khả năng thực hiện chuỗi dài các nhiệm vụ manipulation theo ngôn ngữ tự nhiên. Robot phải hoàn thành 5 nhiệm vụ liên tiếp mà không reset — ví dụ: "mở ngăn kéo", "đặt khối vào ngăn kéo", "đóng ngăn kéo", "bật đèn", "xoay lever".
LIBERO
LIBERO gồm nhiều suite con (LIBERO-Spatial, LIBERO-Object, LIBERO-Goal, LIBERO-Long) đánh giá khả năng generalization của mô hình trên các chiều khác nhau: spatial reasoning, object recognition, goal understanding, và long-horizon planning.
Fine-tuning chỉ cần single-node 8-GPU, nhanh hơn nhiều so với pre-training.
Kết quả và so sánh
MMaDA-VLA đạt kết quả ấn tượng trên cả hai benchmark:
- CALVIN: Cải thiện đáng kể tỉ lệ hoàn thành chuỗi 5 nhiệm vụ liên tiếp so với các VLA baseline. Đặc biệt, tỉ lệ thành công ở task thứ 4 và thứ 5 (nơi mà long-horizon consistency quan trọng nhất) có cải thiện rõ rệt
- LIBERO: Đạt state-of-the-art trên LIBERO-Long, cho thấy khả năng xử lý nhiệm vụ dài mà không mất coherence
Điểm nổi bật trong kết quả là iterative refinement thực sự giúp ích — khi tăng số bước denoising, chất lượng action tăng lên, đặc biệt với các nhiệm vụ phức tạp. Điều này xác nhận giả thuyết rằng discrete diffusion cho phép "suy nghĩ lại" nhiều lần trước khi commit hành động, tương tự như cách con người cân nhắc trước khi hành động.
So với các phương pháp VLA dùng action head riêng biệt (như RT-2 với token binning hoặc Octo với diffusion head), MMaDA-VLA cho thấy ưu điểm rõ ràng trong các tình huống đòi hỏi sự nhất quán dài hạn.
Hướng dẫn cài đặt và sử dụng
MMaDA-VLA được phát hành mã nguồn mở dưới giấy phép MIT tại github.com/yliu-cs/MMaDA-VLA. Dưới đây là hướng dẫn từng bước.
Cài đặt môi trường
# Clone repository
git clone https://github.com/yliu-cs/MMaDA-VLA.git
cd MMaDA-VLA
# Tạo conda environment
conda create -n mmada-vla python=3.11 -y
conda activate mmada-vla
# Cài đặt dependencies
pip install -r requirements.txt
Tải pre-trained checkpoints
Checkpoints được công bố trên HuggingFace. Tải về bằng:
# Cài huggingface-cli nếu chưa có
pip install huggingface_hub
# Tải checkpoint (kiểm tra README trên GitHub để biết chính xác model name)
huggingface-cli download yliu-cs/MMaDA-VLA --local-dir ./checkpoints
Tiền xử lý dữ liệu
Đối với CALVIN benchmark:
# Tải CALVIN dataset
# Tham khảo https://github.com/mees/calvin cho instructions chi tiết
# Tiền xử lý dữ liệu cho MMaDA-VLA format
python preprocess/calvin_preprocess.py \
--data_dir /path/to/calvin/dataset \
--output_dir /path/to/processed/data
Đối với LIBERO benchmark:
# Tải LIBERO dataset
python preprocess/libero_preprocess.py \
--data_dir /path/to/libero/dataset \
--output_dir /path/to/processed/data
Training
Pre-training (cần multi-node cluster):
# Pre-training trên Open-X Embodiment
# Sử dụng DeepSpeed ZeRO Stage-2
# 8 nodes x 8 GPUs = 64 GPUs
deepspeed --num_nodes 8 --num_gpus 8 \
train.py \
--config configs/pretrain.yaml \
--deepspeed configs/ds_zero2.json \
--data_dir /path/to/openx/data \
--output_dir /path/to/pretrain/output
Fine-tuning (single node):
# Fine-tuning trên CALVIN
deepspeed --num_gpus 8 \
train.py \
--config configs/finetune_calvin.yaml \
--deepspeed configs/ds_zero2.json \
--pretrained_model /path/to/pretrain/checkpoint \
--data_dir /path/to/calvin/processed \
--output_dir /path/to/finetune/output
# Fine-tuning trên LIBERO
deepspeed --num_gpus 8 \
train.py \
--config configs/finetune_libero.yaml \
--deepspeed configs/ds_zero2.json \
--pretrained_model /path/to/pretrain/checkpoint \
--data_dir /path/to/libero/processed \
--output_dir /path/to/finetune/output
Evaluation
MMaDA-VLA sử dụng Flask server để đánh giá trên các benchmark:
# Khởi động evaluation server
python eval_server.py \
--model_path /path/to/finetuned/checkpoint \
--port 5000
# Chạy CALVIN evaluation (trong terminal khác)
python eval/calvin_eval.py \
--server_url http://localhost:5000 \
--eval_episodes 1000
# Chạy LIBERO evaluation
python eval/libero_eval.py \
--server_url http://localhost:5000 \
--suite libero_long \
--eval_episodes 500
Tại sao MMaDA-VLA quan trọng?
1. Bước tiến tới mô hình thống nhất thực sự
MMaDA-VLA là một trong những nỗ lực đầu tiên xây dựng VLA mà mọi modality đều là first-class citizen trong cùng một không gian biểu diễn. Không có "action head" nào được ghép vào — actions được sinh ra bởi cùng quá trình sinh ra text và images. Đây là bước tiến quan trọng hướng tới các foundation models cho robotics thực sự đa năng.
2. Iterative refinement mở ra khả năng "suy nghĩ"
Discrete diffusion cho phép mô hình "xem xét lại" quyết định của mình qua nhiều bước denoising. Điều này tương tự như "chain-of-thought" trong các LLM, nhưng áp dụng cho hành động vật lý. Robot không cần commit hành động ngay từ lần dự đoán đầu tiên — nó có thể tinh chỉnh dần dần.
3. Sinh ảnh mục tiêu như cơ chế planning
Việc sinh future goal images song song với actions tạo ra một hình thức implicit planning — mô hình phải hình dung kết quả trước khi hành động. Đây là bước đi đúng hướng để robot có khả năng "tưởng tượng" tương lai, tương tự như cách con người lập kế hoạch.
4. Mã nguồn mở, MIT license
Toàn bộ code, pre-trained checkpoints, và training pipeline đều được công bố công khai. Điều này cho phép cộng đồng nhanh chóng reproduce, mở rộng, và xây dựng trên nền tảng này.
Hạn chế và hướng phát triển
Tuy nhiên, MMaDA-VLA cũng có những hạn chế cần lưu ý:
- Tài nguyên tính toán: Pre-training cần 64 GPUs — vượt quá khả năng của hầu hết các lab nhỏ. Fine-tuning khả thi hơn với 8 GPUs nhưng vẫn đòi hỏi phần cứng đáng kể
- Discrete tokens vs continuous actions: Việc rời rạc hóa actions thành tokens inevitably mất một phần precision. Đối với các nhiệm vụ đòi hỏi điều khiển cực kỳ chính xác (sub-millimeter), đây có thể là bottleneck
- Inference speed: Nhiều bước denoising nghĩa là inference chậm hơn so với feedforward action heads. Trong real-time robotics (control loop 100Hz+), điều này có thể là thách thức
- Chưa thử nghiệm trên robot thật: Kết quả hiện tại chủ yếu trên simulation benchmarks. Sim-to-real gap vẫn là câu hỏi mở
Kết luận
MMaDA-VLA đại diện cho một hướng đi thú vị trong nghiên cứu VLA: thay vì ghép các component chuyên biệt lại với nhau, hãy thiết kế một hệ thống thống nhất từ đầu. Discrete diffusion là công cụ cho phép thực hiện điều này — biến mọi thứ thành tokens và để một quá trình denoising duy nhất xử lý tất cả.
Dù còn xa mới đạt tới mô hình "AGI cho robot", MMaDA-VLA là một bước tiến quan trọng trên con đường đó. Với mã nguồn mở và checkpoints sẵn có, đây là thời điểm tốt để các nhà nghiên cứu và kỹ sư Việt Nam bắt đầu thử nghiệm.
Paper: MMaDA-VLA: Multi-Modal Diffusion Action VLA — Liu, Yang et al., 2026
GitHub: yliu-cs/MMaDA-VLA (MIT License)
Bài viết liên quan
- Diffusion Policy — khi Diffusion Model điều khiển robot — Nền tảng về diffusion models trong robotics, prerequisite để hiểu MMaDA-VLA
- VLA Models — từ RT-2 đến OpenVLA — Tổng quan về các thế hệ VLA trước MMaDA-VLA
- Manipulation series: VLA cho Manipulation — Ứng dụng VLA vào các bài toán manipulation thực tế