LeRobot v0.5: Bản cập nhật lớn nhất từ trước đến nay
Sau hơn 6 tháng phát triển với 200+ pull requests từ 50+ contributors, LeRobot v0.5 đã chính thức ra mắt — và đây không phải một bản cập nhật nhỏ. Đây là bước nhảy vọt lớn nhất kể từ khi Hugging Face phát hành LeRobot, mang đến những thay đổi căn bản từ kiến trúc CLI, policy mới, cho đến cách xử lý dataset và hỗ trợ phần cứng.
Nếu bạn đã theo dõi series VLA-LeRobot của chúng tôi, bạn sẽ nhận ra rằng nhiều giới hạn mà chúng ta phải "work around" trong v0.3/v0.4 giờ đã được giải quyết triệt để. Hãy cùng đi qua từng tính năng quan trọng.
Tổng quan: Những con số ấn tượng
Trước khi đi vào chi tiết, hãy nhìn qua bức tranh toàn cảnh:
- 200+ PRs merged từ cộng đồng
- 50+ contributors trên toàn thế giới
- 6 policies mới bao gồm Pi0-FAST, SmolVLA, Wall-X, X-VLA, SARM, và HIL-SERL
- 5 robots mới được hỗ trợ: Unitree G1 (humanoid đầu tiên!), OpenArm, Earth Rover, SO-100, SO-101
- 10x tốc độ training nhờ streaming video encoding
- Paper được accept tại ICLR 2026 — xác nhận chất lượng nghiên cứu đằng sau framework
LeRobot v0.5 không chỉ là cập nhật phần mềm — đây là tín hiệu rõ ràng rằng open-source robotics AI đang bước vào giai đoạn trưởng thành.
CLI mới: lerobot-train và lerobot-eval
Tạm biệt python -m lerobot.scripts.*
Một trong những thay đổi đầu tiên bạn sẽ nhận thấy là CLI hoàn toàn mới. Thay vì gọi:
# Cách cũ (deprecated)
python -m lerobot.scripts.train --policy.type=act --dataset.repo_id=lerobot/aloha_sim_insertion_human
Bây giờ bạn dùng:
# Cách mới trong v0.5
lerobot-train --policy.type=act --dataset.repo_id=lerobot/aloha_sim_insertion_human
Tương tự cho evaluation:
# Cách mới
lerobot-eval --policy.path=outputs/train/act_aloha_sim/checkpoints/last/pretrained_model
Và thu thập dữ liệu:
# Record dataset
lerobot-record --robot.type=so100 --repo_id=USER/my_dataset --num_episodes=50
Tại sao thay đổi? Lý do chính là developer experience. Các lệnh python -m dài dòng, dễ gõ sai, và khó nhớ. CLI mới được cài đặt tự động khi bạn pip install lerobot, hoạt động như một command-line tool thực thụ với auto-completion và help messages rõ ràng.
Cấu trúc arguments mới
Arguments giờ được tổ chức theo nhóm logic:
lerobot-train \
--policy.type=act \ # Policy configuration
--policy.chunk_size=100 \
--dataset.repo_id=lerobot/aloha_sim \ # Dataset configuration
--dataset.episodes=[0,1,2,3,4] \
--training.batch_size=64 \ # Training configuration
--training.steps=100000 \
--training.lr=1e-5
Cấu trúc này rõ ràng hơn nhiều so với flat arguments trong v0.3/v0.4.
Policies mới: 6 mô hình đột phá
1. Pi0-FAST: Autoregressive VLA, 5x nhanh hơn
Pi0-FAST là sự kết hợp giữa kiến trúc PaliGemma và FAST action tokenizer — một cách tiếp cận hoàn toàn mới để encode robot actions. Thay vì dùng flow matching (iterative denoising) như Pi0 gốc, Pi0-FAST tokenize actions thành discrete tokens và dùng autoregressive decoding với KV-caching.
Kết quả: 5x nhanh hơn inference so với diffusion-based Pi0, với hiệu năng tương đương trên LIBERO benchmark (82.5 average success rate).
# Fine-tune Pi0-FAST
lerobot-train \
--policy.type=pi0_fast \
--policy.pretrained_path=lerobot/pi0_fast_base \
--dataset.repo_id=USER/my_dataset \
--training.steps=20000
2. SmolVLA: VLA cho consumer GPU
SmolVLA giải quyết vấn đề lớn nhất của VLA models: chúng quá nặng cho phần cứng thông thường. Với chỉ 450M parameters (SmolVLM2-500M backbone + 100M Flow Matching action expert), SmolVLA chạy được trên RTX 3060/4060 — GPU mà bất kỳ ai cũng có thể sở hữu.
Điểm đặc biệt: SmolVLA được train hoàn toàn trên open-source data, đạt 78% real-world success rate trên single-arm manipulation tasks.
# Fine-tune SmolVLA
lerobot-train \
--policy.path=lerobot/smolvla_base \
--dataset.repo_id=USER/my_dataset \
--training.batch_size=64 \
--training.steps=20000
3. Wall-X: Cross-embodiment Policy
Wall-X mở rộng khái niệm "train một lần, deploy nhiều robot" — một cross-embodiment policy có thể transfer giữa SO-100, ALOHA, và Franka Panda mà không cần retrain từ đầu.
4. X-VLA: Extended VLA Architecture
X-VLA mở rộng kiến trúc VLA truyền thống với multi-modal reasoning, cho phép model xử lý đồng thời hình ảnh, text instructions, và proprioceptive feedback.
5. SARM: Self-Adaptive Robot Manipulation
SARM tập trung vào adaptation — khả năng tự điều chỉnh behavior dựa trên feedback từ environment mà không cần human intervention.
6. HIL-SERL: Human-in-the-Loop RL
HIL-SERL kết hợp reinforcement learning với human feedback, cho phép robot cải thiện liên tục thông qua interaction với operator. Đây là bước tiến quan trọng cho deployment trong môi trường thực tế.
Real-Time Chunking: Phản hồi nhanh hơn, mượt hơn
Vấn đề với Action Chunking truyền thống
Trong bài về ACT, chúng ta đã thảo luận về action chunking — predict một chunk gồm nhiều actions cùng lúc thay vì từng action một. Tuy nhiên, có một hạn chế: robot phải chờ thực hiện xong toàn bộ chunk trước khi nhận chunk mới. Điều này tạo ra latency và khiến robot phản ứng chậm với thay đổi bất ngờ.
Real-Time Chunking giải quyết như thế nào
Real-Time Chunking (RTC) cho phép robot liên tục cập nhật plan mà không phải chờ chunk hiện tại kết thúc. Cụ thể:
- Model vẫn predict full action chunk (ví dụ: 10 actions)
- Nhưng chỉ execute một vài actions đầu trước khi query model lại
- Actions mới được blend với actions cũ chưa execute, tạo ra trajectory mượt mà hơn
Cách bật RTC rất đơn giản:
lerobot-train \
--policy.type=pi0_fast \
--policy.rtc_config.enabled=true \
--policy.rtc_config.n_steps_warmup=5 \
--dataset.repo_id=USER/my_dataset
RTC đặc biệt hiệu quả khi kết hợp với Pi0-FAST nhờ tốc độ inference nhanh — model có thể replan nhiều lần trong khoảng thời gian mà diffusion-based model chỉ kịp predict một lần.
PEFT/LoRA: Fine-tune VLA lớn với chi phí nhỏ
Tại sao cần PEFT?
Các VLA models lớn như Pi0 (3B params) hay OpenVLA (7B params) đòi hỏi nhiều GPU và RAM để fine-tune toàn bộ. PEFT (Parameter-Efficient Fine-Tuning) cho phép bạn chỉ train một tập con rất nhỏ parameters, giảm đáng kể yêu cầu phần cứng.
LoRA trong LeRobot v0.5
LeRobot v0.5 tích hợp LoRA (Low-Rank Adaptation) trực tiếp vào training pipeline:
lerobot-train \
--policy.type=pi0_fast \
--policy.pretrained_path=lerobot/pi0_fast_base \
--policy.peft_config.use_peft=true \
--policy.peft_config.lora_r=16 \
--policy.peft_config.lora_alpha=32 \
--dataset.repo_id=USER/my_dataset \
--training.steps=10000
Với LoRA rank 16, bạn chỉ train khoảng 0.5% tổng số parameters, giảm VRAM từ 40GB xuống còn 8-12GB — vừa đủ cho một RTX 4090 hoặc thậm chí RTX 3090.
Nếu bạn đã đọc bài về VLA models, bạn sẽ thấy PEFT/LoRA là giải pháp thực tế nhất để democratize VLA fine-tuning cho cộng đồng.
Robots mới: Từ single-arm đến humanoid
Unitree G1: Humanoid đầu tiên trong LeRobot
Đây có lẽ là tính năng được mong đợi nhất: LeRobot giờ hỗ trợ Unitree G1 — humanoid robot đầu tiên trong framework. Bạn có thể:
- Thu thập dữ liệu teleop cho whole-body control
- Train VLA policies cho manipulation tasks
- Chạy sim-to-real transfer với MJPC environments
# Record trên Unitree G1
lerobot-record \
--robot.type=unitree_g1 \
--repo_id=USER/g1_dataset \
--num_episodes=20
OpenArm: Low-cost open-source arm
OpenArm là cánh tay robot giá rẻ mới, thiết kế cho giáo dục và nghiên cứu. Hoàn toàn 3D-printable, dùng servo giá rẻ, và tương thích đầy đủ với LeRobot pipeline.
Earth Rover: Mobile robotics
Earth Rover mở rộng LeRobot ra ngoài manipulation — bây giờ bạn có thể dùng cùng framework cho mobile robotics, navigation, và exploration.
SO-100 và SO-101
SO-100 và SO-101 là evolution của SO-100 arm, với cải tiến về accuracy, build quality, và tích hợp camera tốt hơn.
Dataset Improvements: 10x tốc độ training
Streaming Video Encoding
Đây là thay đổi âm thầm nhưng ảnh hưởng lớn nhất đến trải nghiệm sử dụng hàng ngày. Trước v0.5, LeRobot lưu images dưới dạng individual PNG/JPEG files — mỗi frame là một file riêng. Với dataset 1000 episodes ở 30 FPS, bạn có thể có hàng triệu files nhỏ, gây:
- Chậm khi load từ disk (I/O overhead)
- Tốn dung lượng (PNG không nén hiệu quả)
- Chậm khi upload/download từ Hugging Face Hub
V0.5 chuyển sang streaming video encoding — toàn bộ visual observations được encode thành video files (MP4/WebM), và được decode on-the-fly trong training. Kết quả:
- 10x tốc độ data loading nhờ giảm I/O
- 5-8x giảm dung lượng nhờ video compression
- Seamless streaming từ Hugging Face Hub mà không cần download toàn bộ
Subtask Annotation
V0.5 cho phép annotate subtasks trong mỗi episode, giúp model học hierarchical behavior:
# Ví dụ annotation
{
"episode_0": {
"subtasks": [
{"start": 0, "end": 45, "label": "reach_object"},
{"start": 45, "end": 90, "label": "grasp_object"},
{"start": 90, "end": 150, "label": "place_object"}
]
}
}
Điều này đặc biệt hữu ích cho long-horizon tasks và multi-step manipulation.
EnvHub: Sim environments từ Hugging Face
EnvHub cho phép bạn load simulation environments trực tiếp từ Hugging Face Hub, giống như cách bạn load models và datasets:
# Load environment từ Hub
lerobot-eval \
--policy.path=USER/my_policy \
--env.type=hub \
--env.repo_id=lerobot/libero_object
Điều này giải quyết vấn đề lớn: trước đây, setup simulation environments là rào cản lớn nhất cho người mới. Bạn phải cài MuJoCo, Isaac Gym, hoặc PyBullet riêng, configure paths, install dependencies — tất cả trước khi chạy được dòng code đầu tiên.
Với EnvHub, bạn chỉ cần pip install lerobot và mọi thứ hoạt động.
Yêu cầu hệ thống mới
Python 3.12+ bắt buộc
V0.5 yêu cầu Python 3.12 trở lên. Nếu bạn đang dùng Python 3.10 hoặc 3.11, cần nâng cấp trước khi update.
# Kiểm tra version
python --version
# Nếu cần, cài Python 3.12
# Ubuntu/Debian
sudo apt install python3.12 python3.12-venv
Transformers v5
LeRobot v0.5 yêu cầu Hugging Face Transformers v5, đi kèm nhiều cải tiến về performance và support cho các model mới.
Quick Start: Từ cài đặt đến training
Bước 1: Cài đặt LeRobot v0.5
# Tạo virtual environment
python3.12 -m venv lerobot-env
source lerobot-env/bin/activate
# Cài đặt LeRobot
pip install lerobot
# Hoặc từ source (khuyến nghị cho development)
git clone https://github.com/huggingface/lerobot.git
cd lerobot
pip install -e ".[dev]"
Bước 2: Train ACT trên simulation
lerobot-train \
--policy.type=act \
--dataset.repo_id=lerobot/aloha_sim_insertion_human \
--training.batch_size=8 \
--training.steps=100000
Bước 3: Train Pi0-FAST
pip install -e ".[pi]"
lerobot-train \
--policy.type=pi0_fast \
--policy.pretrained_path=lerobot/pi0_fast_base \
--dataset.repo_id=lerobot/aloha_sim_insertion_human \
--training.steps=20000 \
--training.dtype=bfloat16
Bước 4: Train SmolVLA
pip install -e ".[smolvla]"
lerobot-train \
--policy.path=lerobot/smolvla_base \
--dataset.repo_id=USER/my_dataset \
--training.batch_size=64 \
--training.steps=20000
Bước 5: Evaluate
lerobot-eval \
--policy.path=outputs/train/checkpoints/last/pretrained_model \
--env.type=libero \
--env.task=libero_object
Migration Guide: Từ v0.3/v0.4 lên v0.5
Breaking changes quan trọng
- CLI hoàn toàn mới:
python -m lerobot.scripts.trainthay bằnglerobot-train - Python 3.12+ bắt buộc: Không còn hỗ trợ Python 3.10/3.11
- Dataset format mới: Video encoding thay vì image files
- Config system mới: Arguments tổ chức theo groups (policy., dataset., training.)
- Policy API changes: Một số class names và method signatures đã thay đổi
Chuyển đổi dataset cũ
# Convert dataset từ v0.3/v0.4 format sang v0.5
lerobot-convert-dataset \
--repo_id=USER/old_dataset \
--output_repo_id=USER/new_dataset \
--encode_videos=true
Chuyển đổi training scripts
Nếu bạn có custom training scripts, cần cập nhật imports:
# Cũ (v0.3/v0.4)
from lerobot.common.policies.act.configuration_act import ACTConfig
from lerobot.common.policies.act.modeling_act import ACTPolicy
# Mới (v0.5) - vẫn tương thích nhưng khuyến nghị dùng CLI
# Hoặc dùng API mới:
from lerobot.policies import ACTPolicy, ACTConfig
Lộ trình phía trước
LeRobot v0.5 đặt nền tảng cho những phát triển tiếp theo:
- v0.6 (dự kiến): Multi-task learning, shared representations across tasks
- v0.7+: Multi-robot coordination, fleet learning
- Dài hạn: Foundation models cho robotics, zero-shot transfer
Nếu bạn muốn đi sâu vào từng policy mới, hãy theo dõi hai bài tiếp theo trong series: SmolVLA training guide và Pi0-FAST training guide.
Kết luận
LeRobot v0.5 đánh dấu bước chuyển từ "research framework" sang "production-ready platform". Với CLI mới dễ dùng, policies mạnh mẽ chạy được trên consumer hardware, và dataset pipeline nhanh gấp 10 lần, rào cản để bắt đầu với robot learning chưa bao giờ thấp đến thế.
Đặc biệt, sự xuất hiện của SmolVLA (450M params, chạy trên RTX 3060) và PEFT/LoRA support có nghĩa là bất kỳ ai có một GPU tầm trung cũng có thể train VLA model cho robot thật. Đây là democratization thực sự của robot AI.
Nếu bạn quan tâm đến nền tảng lý thuyết của các mô hình này, hãy đọc bài về Diffusion Policy và tổng quan về VLA models để hiểu rõ hơn.
Bài viết liên quan
- LeRobot Framework: Giới thiệu và kiến trúc — Bắt đầu từ đây nếu bạn mới với LeRobot
- VLA Models: Từ lý thuyết đến thực hành — Hiểu nền tảng VLA trước khi dùng Pi0-FAST hay SmolVLA
- Hệ sinh thái LeRobot: Hướng dẫn toàn diện — Tổng quan hardware, software, và community