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. GalaxeaVLA G0.5: Hướng Dẫn Fine-Tune & Deploy
wholebody-vlagalaxeavlag0-5vlaautoregressivefine-tuningmanipulationhuggingfaceqwenlerobotopen-source

GalaxeaVLA G0.5: Hướng Dẫn Fine-Tune & Deploy

Hướng dẫn fine-tune và deploy GalaxeaVLA G0.5 — VLA autoregressive thống nhất Qwen3.5 2B, đạt 98.9% LIBERO, 82.5% zero-shot DROID, mã nguồn mở.

Nguyễn Anh Tuấn20 tháng 7, 202610 phút đọc
GalaxeaVLA G0.5: Hướng Dẫn Fine-Tune & Deploy

Nếu bạn đã từng tự hỏi tại sao robot cần hai não (một não lập kế hoạch, một não thực thi), câu trả lời của Galaxea cho G0.5 là: không cần. GalaxeaVLA G0.5 dồn tất cả vào một dòng token thống nhất — lý luận, lên kế hoạch, và ra lệnh cho từng khớp robot, tất cả trong cùng một transformer decoder.

Bài viết này sẽ dẫn bạn qua kiến trúc, cách cài đặt, fine-tune, và deploy G0.5 từ HuggingFace xuống robot thực — kể cả Galaxea R1 Lite/Pro, SO-100/101, và Franka DROID.

Repo: github.com/OpenGalaxea/GalaxeaVLA | Checkpoint: huggingface.co/OpenGalaxea/G05 | Technical Report: opengalaxea.github.io/G05/Galaxea_G0_5.pdf

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ừ G0 Dual-System đến G0.5 Unified — Tại Sao Lại Thay Đổi?

GalaxeaVLA G0 Plus dùng kiến trúc dual-system kinh điển: System 2 (VLM planner, chạy ~1 Hz) phân tách nhiệm vụ dài thành subtask; System 1 (VLA executor, chạy 10–50 Hz) thực thi từng bước. Hai hệ thống giao tiếp qua chuỗi subtask ngôn ngữ — đơn giản nhưng tồn tại độ trễ phối hợp.

G0.5 gộp hai hệ thống lại. Một decoder duy nhất sinh ra chuỗi token: ảnh → ngôn ngữ → lý luận (chain-of-thought) → action token. Không có handshake, không có latency phối hợp. Ý tưởng này giống với cách não người xử lý: không có luồng riêng "tôi sẽ làm gì" và "tôi đang làm gì" — chúng xảy ra trong cùng một dòng nhận thức.

Demo GalaxeaVLA G0.5 trên Galaxea R1 — nguồn: OpenGalaxea project page

Kiến Trúc Thống Nhất: Một Decoder Cho Tất Cả

Backbone: Qwen3.5 2B

G0.5 được khởi tạo từ Qwen3.5 2B — một VLM mạnh của Alibaba với khả năng lý luận tốt (không phải PaliGemma-3B như G0 Plus). Qwen3.5 được chọn vì khả năng multilingual mạnh (tiếng Việt, tiếng Trung, tiếng Anh đều tốt) và chain-of-thought reasoning native.

ActionCodec: Học Cách Nói Ngôn Ngữ Robot

Vấn đề lớn nhất khi gộp action vào token stream là: action liên tục (góc khớp, vận tốc) không thể trộn với token rời rạc của LLM. G0.5 giải quyết bằng ActionCodec — một VQ (Vector Quantization) tokenizer học được, không phải hand-crafted.

ActionCodec ánh xạ các robot khác nhau (R1 Lite, SO-100, Franka, v.v.) vào không gian action 27 chiều thống nhất:

left_control(9) | left_gripper(1) | right_control(9) | right_gripper(1) | lower_body(7)

Robot nào không có tay trái hoặc chân sẽ điền zero vào các chiều tương ứng. Nhờ vậy, G0.5 pre-train cùng lúc trên 14 embodiment khác nhau — một codebook token action dùng chung cho tất cả.

Điều này khác căn bản với FAST tokenizer (DCT-based) của π0-FAST: FAST dùng phép biến đổi DCT cố định và áp riêng cho từng robot, không học được cross-embodiment. ActionCodec của G0.5 được học end-to-end và cross-embodiment by design.

Token Sequence: Lý Luận Trước Khi Hành Động

Đây là điểm hay nhất của G0.5. Mỗi bước suy luận của mô hình có cấu trúc rõ ràng:

Token sequence template của GalaxeaVLA G0.5 — nguồn: repo OpenGalaxea/GalaxeaVLA
Token sequence template của GalaxeaVLA G0.5 — nguồn: repo OpenGalaxea/GalaxeaVLA

[Image tokens] [Language instruction] 
→ <Subtask>: "reach for the red cup"
→ <BBox>: [0.3, 0.4, 0.5, 0.6]
→ <Trace>: waypoint trajectory hint
→ <ActionHint>: movement direction prediction  
→ <Action>: [discrete VQ action tokens × 16 steps]

Mô hình không "nhảy thẳng" từ ảnh sang action như OpenVLA hay chuỗi action chunk của π0. Nó lý luận công khai — đặt tên subtask, khoanh vùng object bằng bounding box, phác waypoint trace, rồi mới ra action. Đây là lý do G0.5 xử lý được task dài hạn và ít bị confused khi gặp scene phức tạp.

Visual Memory: 6 Khung Hình, 5 Giây Lịch Sử

Để giải quyết task dài (pick-and-place nhiều bước, lồng vật vào nhau), G0.5 không chỉ nhìn khung hiện tại. Nó nhìn 6 frame trải dài 5 giây trước đó, xử lý qua vision encoder với factorized spatial-temporal attention — spatial attention tập trung vào vị trí trong từng frame, temporal attention theo dõi chuyển động theo thời gian.

Galaxea R1 robot platform — nguồn: repo OpenGalaxea/GalaxeaVLA
Galaxea R1 robot platform — nguồn: repo OpenGalaxea/GalaxeaVLA

Checkpoints & Kết Quả Benchmark

Các Checkpoint Có Sẵn Trên HuggingFace

Checkpoint Kích thước Dùng cho
g05-base ~11 GB Fine-tune custom task; zero-shot R1 Lite/Pro
g05-so101 ~11 GB SO-100/101 robot deployment
g05-droid ~11 GB DROID/Franka deployment
g05-libero ~11 GB LIBERO simulation
g05-robotwin20 ~11 GB RoboTwin 2.0 evaluation
action_tokenizer.pt ~484 MB VQ tokenizer (bắt buộc download)
qwen3_5_2b_base_processor ~22 MB Vision processor

Download tất cả hoặc chọn checkpoint phù hợp:

# Download base + tokenizer (bắt buộc)
huggingface-cli download OpenGalaxea/G05 \
  --local-dir ./checkpoints/g05-base \
  --include "g05-base/*" "action_tokenizer.pt" "qwen3_5_2b_base_processor/*"

Kết Quả Benchmark

Benchmark Điều kiện Thành công
LIBERO Fine-tune, 50 trial/task 98.9%
RoboTwin 2.0 Fine-tune 93.3%
Bridge-SimplerEnv Zero-shot 87.3%
DROID Zero-shot 82.5%
BEHAVIOR-1K Zero-shot 0.3136 TSS
Real robot (R1 Lite/Pro) Fine-tune 76.7% trung bình

Kết quả LIBERO 98.9% là mức rất cao — hầu hết các VLA hiện tại như OpenVLA đạt 60–70% trên bộ test này. DROID zero-shot 82.5% thậm chí ấn tượng hơn vì G0.5 không cần fine-tune để đạt mức này.

Cài Đặt

Yêu Cầu Hệ Thống

  • Linux (Ubuntu 22.04+)
  • Python 3.10.x (chú ý: >=3.10.16, <3.11)
  • CUDA 12.8, PyTorch 2.7.1
  • GPU: ≥8 GB VRAM cho inference; ≥70 GB cho full fine-tune
  • FFmpeg (xử lý video trong dataset)

Cài Đặt Với uv

G0.5 dùng uv thay vì pip để quản lý dependency — nhanh hơn ~10-100x, tránh conflict version:

# Cài uv nếu chưa có
curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.local/bin/env

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

# Tạo virtualenv + install tất cả dependencies
uv sync --index-strategy unsafe-best-match
source .venv/bin/activate

# Cài ffmpeg
sudo apt update && sudo apt install -y ffmpeg

# Verify
python -c "import torch; print(torch.__version__, torch.cuda.is_available())"

Fine-Tune G0.5 Trên Task Của Bạn

Đây là luồng chính mà hầu hết người dùng sẽ làm: thu thập ~50–200 demo bằng VR teleop, convert sang định dạng LeRobot, rồi fine-tune G0.5 base.

Xem thêm hướng dẫn thu thập data và format LeRobot trong bài LeRobot hands-on.

Bước 1: Chuẩn Bị Dataset Theo Định Dạng LeRobot

G0.5 dùng định dạng LeRobot (video + Parquet):

my_task_dataset/
  meta/
    info.json          # camera names, fps, action dim
    tasks.jsonl        # ["Pick up the red block and place on tray"]
    episodes.jsonl     # episode metadata
  data/
    chunk-000/
      episode_000000.parquet
      episode_000001.parquet
      ...
  videos/
    chunk-000/
      observation.images.head_rgb/
        episode_000000.mp4
      observation.images.wrist_rgb/
        episode_000000.mp4

Bước 2: Tạo Task Config

# Copy template config
cp configs/task/r1lite.yaml configs/task/my_pick_task.yaml

Sửa configs/task/my_pick_task.yaml:

# @package _global_
defaults:
  - override /data: r1lite/eef_torso   # hoặc custom robot config
  - override /model: vla/g05

model:
  pretrained_ckpt: ./checkpoints/g05-base/checkpoints/model_state_dict.pt
  action_tokenizer_path: ./checkpoints/g05-base/action_tokenizer.pt

data:
  dataset:
    dataset_dirs:
      - /path/to/my_task_dataset
  # Chuẩn hóa action (lấy từ dataset stats)
  action_norm:
    type: "gaussian"

training:
  num_epochs: 50
  batch_size: 8
  learning_rate: 1.0e-5
  grad_accumulation_steps: 4
  precision: "bf16"

Bước 3: Chạy Fine-Tuning

# Thiết lập biến môi trường
export G05_OUTPUT_DIR=./outputs/my_pick_task
export HF_HOME=./hf_cache
export HF_HUB_CACHE=./hf_cache

# Fine-tune với 1 GPU (+ gradient accumulation)
bash scripts/run/finetune.sh 1 configs/task/my_pick_task.yaml \
  model.batch_size=4 \
  model.grad_accumulation_steps=8

# Fine-tune với 8 GPU
bash scripts/run/finetune.sh 8 configs/task/my_pick_task.yaml

Thời gian thực tế: Với 100 demo, 1 GPU RTX 4090, fine-tune ~50 epoch mất khoảng 4–6 giờ.

Theo dõi training:

tensorboard --logdir ./outputs/my_pick_task/tensorboard

Debug Thường Gặp Khi Fine-Tune

Triệu chứng Nguyên nhân Giải pháp
NaN loss từ epoch đầu bf16 overflow Giảm learning_rate xuống 5e-6
CUDA OOM Batch size quá lớn Giảm batch_size, tăng grad_accumulation_steps
Robot không hiểu lệnh tasks.jsonl format sai Dùng câu ngắn gọn: "Pick up the cup"
Action sai chiều Wrong coordinate frame Check action_space: absolute vs relative trong config

Deploy Lên Robot Thực

Xem thêm pipeline deploy đầy đủ trong bài G0Tiny fine-tune và deploy trên R1 Pro.

Galaxea R1 Lite (Phổ Biến Nhất)

# Khởi động policy server (trên GPU machine)
python scripts/serve_policy.py \
    --ckpt_path ./outputs/my_pick_task/checkpoints/model_state_dict.pt \
    --host 0.0.0.0 \
    --port 8080 \
    --device cuda \
    eval_embodiment=galaxea_r1lite

# Robot-side: nhận lệnh từ server qua ROS2/HTTP

Galaxea R1 Pro (Có Visual Memory)

R1 Pro cần serve_policy_mem.py vì nó gửi multi-frame:

python scripts/serve_policy_mem.py \
    --ckpt_path ./outputs/my_pick_task/checkpoints/model_state_dict.pt \
    --host 0.0.0.0 \
    --port 8080 \
    --device cuda \
    eval_embodiment=galaxea_r1pro \
    num_history_frames=6

SO-100/SO-101 (LeRobot Native)

SO-101 dùng client LeRobot tích hợp sẵn:

cd experiments/so100/

# Cấu hình trong so100_config.yaml
python run_so100_client.py \
    --server_host 192.168.1.100 \
    --server_port 8080 \
    --task "Pick up the block and place it in the box"

DROID / Franka (Repo Riêng)

# Clone Franka client (repo riêng)
git clone https://github.com/OpenGalaxea/droid-franka-client
cd droid-franka-client
pip install -e .

python run_droid_client.py \
    --policy_host 192.168.1.100 \
    --policy_port 8080 \
    --task "place the mug on the plate"

So Sánh G0.5 Với Các VLA Khác

G0.5 G0 Plus OpenVLA-OFT π0-FAST
Kiến trúc Unified AR Dual-system Transformer + flow Flow-matching
Backbone Qwen3.5 2B PaliGemma 3B Llama 2 7B PaliGemma 3B
Embodiment 14 (cross) 1 (single) Cross (OXE) Benchmark only
LIBERO 98.9% N/A ~82% ~95%
DROID zero-shot 82.5% N/A ~45% ~60%
Chain-of-Thought ✅ Native ❌ ❌ ❌
Open-source ✅ ✅ ✅ ❌
Edge deploy G0Tiny (250M) G0Tiny Không Không

Điểm khác biệt lớn nhất: G0.5 có chain-of-thought native — nó không chỉ ra lệnh, nó giải thích tại sao. Khi robot thất bại, bạn đọc được lý luận trong log để debug. Các VLA khác không làm được điều này.

Để hiểu bức tranh toàn cảnh các VLA hiện tại, đọc thêm AI Series #5: Tổng Quan Các Mô Hình VLA.

Giấy Phép & Khi Nào Dùng Được Thương Mại

G0.5 dùng G0.5 Community License (áp dụng cho code commit từ 16/6/2026 trở đi):

  • ✅ Được phép: Nghiên cứu, phi thương mại, demo nội bộ
  • ❌ Cần xin phép: Deploy thương mại, tích hợp sản phẩm bán ra
  • ✅ Qwen3.5 components: Apache 2.0

Nếu bạn dùng cho nghiên cứu hoặc prototyping: hoàn toàn miễn phí. Nếu muốn thương mại hóa: liên hệ Galaxea để xin commercial license.

Kết Luận

GalaxeaVLA G0.5 đánh dấu một bước chuyển quan trọng: từ dual-system (hai não) sang unified autoregressive (một não, một dòng suy nghĩ). Kết quả 98.9% LIBERO và 82.5% zero-shot DROID chứng minh rằng cách tiếp cận này không chỉ đẹp về lý thuyết mà thực sự hiệu quả.

Ba điều bạn nên nhớ từ bài này:

  1. ActionCodec là chìa khóa: Học cách tokenize action cross-embodiment cho phép G0.5 pre-train trên 14 robot cùng lúc — và benefitcủa cross-embodiment transfer thực sự mang lại
  2. Chain-of-Thought native = debuggable: Khi robot thất bại, bạn đọc được reasoning trong log. Đây là ưu điểm thực tiễn cực kỳ lớn khi deploy production
  3. uv + config YAML: Pipeline fine-tune của G0.5 sạch và reproducible hơn nhiều so với các VLA framework trước đây

Bài Viết Liên Quan

  • GalaxeaVLA G0 Plus: Deploy Pick Up Anything Trong 30 Phút
  • G0Tiny 250M: Fine-Tune LeRobot Trên Galaxea R1 Pro Orin
  • AI Series #5: Tổng Quan Các Mô Hình VLA — Từ OpenVLA đến π0
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
Isaac Teleop + GR00T N1.7 + LeRobot v0.6: Pipeline Thu Thập, Fine-tune và Deploy
gr00tnvidialerobot
wholebody-vla

Isaac Teleop + GR00T N1.7 + LeRobot v0.6: Pipeline Thu Thập, Fine-tune và Deploy

Pipeline đầy đủ Isaac Teleop → LeRobot v0.6 → GR00T N1.7: thu thập dữ liệu teleop, fine-tune VLA manipulation policy và deploy trên robot arm — cập nhật tháng 7/2026.

15/7/202613 phút đọc
NT
Tutorial
Hướng dẫn VLA-JEPA: VLA với Latent World Model V-JEPA2
vlajepaworld-model
wholebody-vla

Hướng dẫn VLA-JEPA: VLA với Latent World Model V-JEPA2

VLA-JEPA kết hợp Qwen3-VL với V-JEPA2 latent world model, chạy 10Hz trên RTX 3080, fine-tune chỉ cần 13 demo. Hướng dẫn cài đặt và training trên LeRobot.

22/6/202612 phút đọc
NT
Tutorial
LabVLA: VLA Mã Nguồn Mở cho Robot Phòng Lab
lerobotvlaqwen3-vl
wholebody-vla

LabVLA: VLA Mã Nguồn Mở cho Robot Phòng Lab

Hướng dẫn chạy LabVLA — mô hình VLA đầu tiên cho lab khoa học, kết hợp Qwen3-VL-4B với DiT flow-matching và LeRobot v2 format. 71.1% trên LabUtopia benchmark.

12/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