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. Fine-Tune GR00T N1.6 với Cosmos Reason 2
wholebody-vlagrootnvidiavlacosmosfine-tuninghumanoidisaac

Fine-Tune GR00T N1.6 với Cosmos Reason 2

Hướng dẫn chi tiết fine-tune NVIDIA GR00T N1.6 — VLA model 3B tham số kết hợp Cosmos Reason 2 để điều khiển humanoid robot từ ảnh và ngôn ngữ.

Nguyễn Anh Tuấn15 tháng 4, 202611 phút đọcCập nhật: 16 thg 6, 2026

NVIDIA vừa phát hành GR00T N1.6 — phiên bản nâng cấp đáng kể của foundation model cho robot tổng quát. Với kiến trúc dual-system kết hợp Cosmos Reason 2 làm "bộ não" suy luận và Diffusion Transformer 32 lớp sinh hành động, N1.6 đạt hiệu suất vượt trội trên nhiều benchmark thực tế. Bài viết này sẽ hướng dẫn bạn từ A đến Z: hiểu kiến trúc, chuẩn bị dữ liệu, fine-tune, và chạy inference.

GR00T N1.6 là gì?

GR00T (Generalist Robot 00 Technology) N1.6 là Vision-Language-Action (VLA) model mã nguồn mở với 3 tỷ tham số. Model nhận đầu vào đa phương thức — hình ảnh RGB từ camera, câu lệnh ngôn ngữ tự nhiên, và trạng thái proprioception của robot — rồi xuất ra chuỗi hành động liên tục để điều khiển robot.

Paper gốc: GR00T N1: An Open Foundation Model for Generalist Humanoid Robots — Johan Bjorck et al., NVIDIA GEAR Lab, 2025.

Điểm đặc biệt của N1.6 so với phiên bản trước (N1.5):

  • DiT lớn gấp đôi: 32 lớp thay vì 16 lớp
  • VLM backbone mới: Cosmos Reason 2B thay thế Eagle + SmolLM
  • Relative actions: xuất hành động tương đối thay vì tuyệt đối, giúp chuyển động mượt hơn
  • Hội tụ nhanh hơn khi fine-tune trên embodiment mới

Kiến trúc dual-system của GR00T N1.6 kết hợp VLM suy luận và DiT sinh hành động
Kiến trúc dual-system của GR00T N1.6 kết hợp VLM suy luận và DiT sinh hành động

Kiến trúc Dual-System

GR00T N1.6 lấy cảm hứng từ lý thuyết nhận thức con người với hai hệ thống:

System 2 — Cosmos Reason (Suy luận)

Đây là phần "bộ não" của model, dựa trên Cosmos Reason 2B — một Vision-Language Model được NVIDIA phát triển riêng cho physical AI:

  • Vision Encoder: SigLip2 (pretrained ViT) xử lý ảnh RGB ở mọi độ phân giải
  • Language Encoder: T5 transformer mã hoá câu lệnh ngôn ngữ
  • 4 lớp VLM trên cùng được unfreeze trong quá trình pretraining, cho phép model tinh chỉnh biểu diễn vision-language

Cosmos Reason 2 còn có phiên bản 8B tham số lớn hơn (Hugging Face) phục vụ cho planning và suy luận phức tạp hơn, nhưng trong GR00T N1.6 dùng bản 2B để đảm bảo tốc độ inference thời gian thực.

System 1 — Diffusion Transformer (Hành động)

Phần sinh hành động sử dụng DiT 32 lớp với:

  • Adaptive LayerNorm (AdaLN) cho diffusion step conditioning
  • Self-attention trên proprioception/actions xen kẽ với cross-attention tới vision-language embeddings
  • 4-step denoising để sinh chuỗi hành động
  • Flow matching kết hợp world-modeling objectives trong training
  • Xuất state-relative action chunks (hành động tương đối so với trạng thái hiện tại)

Proprioception Encoder

MLP đơn giản nhưng được index theo embodiment ID, cho phép model tổng quát hoá qua nhiều loại robot khác nhau — từ cánh tay SO-100 đến humanoid Unitree G1.

Yêu cầu phần cứng

Mục đích GPU tối thiểu Khuyến nghị
Fine-tuning 48GB VRAM (RTX A6000, L40) H100 80GB
Inference RTX 4090 24GB Jetson AGX Thor

Hỗ trợ kiến trúc GPU: Ampere, Hopper, Lovelace, Blackwell, và Jetson.

Hiệu năng inference (1 camera, 4 bước denoising):

Thiết bị Độ trễ E2E Tần suất
RTX 5090 + torch.compile 37ms 27.3 Hz
H100 + torch.compile 38ms 26.3 Hz
RTX 4090 + torch.compile 44ms 22.8 Hz
Jetson AGX Thor 105ms 9.5 Hz

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

Bước 1: Clone repo và cài dependencies

git clone --recurse-submodules https://github.com/NVIDIA/Isaac-GR00T
cd Isaac-GR00T
bash scripts/deployment/dgpu/install_deps.sh
source .venv/bin/activate

Script cài đặt tự tạo virtual environment và cài PyTorch, transformers, diffusers, cùng các dependency cần thiết.

Bước 2: Tải model pretrained

# Model sẽ tự tải từ Hugging Face khi chạy lần đầu
# Hoặc tải trước:
huggingface-cli download nvidia/GR00T-N1.6-3B --local-dir ./models/GR00T-N1.6-3B

Model phát hành dưới NVIDIA OneWay Noncommercial License (base model) và Apache 2.0 (codebase).

Chuẩn bị dữ liệu

GR00T N1.6 sử dụng format GR00T-flavored LeRobot v2 — bộ ba (video, state, action) lưu dưới dạng Parquet episode files.

Cấu trúc thư mục

dataset/
├── data/
│   ├── chunk-000/
│   │   ├── episode_000000.parquet
│   │   ├── episode_000001.parquet
│   │   └── ...
│   └── ...
├── videos/
│   ├── chunk-000/
│   │   ├── front/
│   │   │   ├── episode_000000.mp4
│   │   │   └── ...
│   │   └── wrist/
│   │       └── ...
│   └── ...
├── meta/
│   ├── modality.json
│   ├── stats.json
│   ├── relative_stats.json
│   ├── episodes.jsonl
│   └── info.json
└── README.md

Cấu hình Modality

File modality.json định nghĩa mapping giữa dữ liệu thô và đầu vào model. Ví dụ cho cánh tay SO-100:

from gr00t.configs.data.embodiment_configs import register_modality_config
from gr00t.data.types import ModalityConfig, ActionConfig
from gr00t.data.types import ActionRepresentation, ActionType, ActionFormat
from gr00t.data.types import EmbodimentTag

so100_config = {
    "video": ModalityConfig(
        delta_indices=[0],
        modality_keys=["front", "wrist"]
    ),
    "state": ModalityConfig(
        delta_indices=[0],
        modality_keys=["single_arm", "gripper"]
    ),
    "action": ModalityConfig(
        delta_indices=list(range(0, 16)),
        modality_keys=["single_arm", "gripper"],
        action_configs=[
            ActionConfig(
                rep=ActionRepresentation.RELATIVE,
                type=ActionType.NON_EEF,
                format=ActionFormat.DEFAULT
            ),
            ActionConfig(
                rep=ActionRepresentation.ABSOLUTE,
                type=ActionType.NON_EEF,
                format=ActionFormat.DEFAULT
            ),
        ],
    ),
    "language": ModalityConfig(
        delta_indices=[0],
        modality_keys=["annotation.human.action.task_description"]
    ),
}

register_modality_config(so100_config, embodiment_tag=EmbodimentTag.NEW_EMBODIMENT)

Giải thích các trường quan trọng:

  • delta_indices: Chỉ số thời gian. [0] nghĩa là frame hiện tại, list(range(0, 16)) nghĩa là dự đoán 16 bước hành động tiếp theo
  • modality_keys: Tên các kênh dữ liệu (camera names, joint groups)
  • ActionRepresentation.RELATIVE: N1.6 ưu tiên relative actions — chuyển động so với vị trí hiện tại, không phải tọa độ tuyệt đối
  • EmbodimentTag.NEW_EMBODIMENT: Tag cho robot mới, model sẽ tự học adapter phù hợp

Chuyển đổi từ LeRobot dataset

Nếu bạn đã có dataset ở format LeRobot chuẩn, dùng script chuyển đổi:

uv run python scripts/data/convert_lerobot_to_groot.py \
    --input-path <LEROBOT_DATASET> \
    --output-path <GROOT_DATASET> \
    --embodiment-tag NEW_EMBODIMENT

Fine-Tuning

Lệnh fine-tune cơ bản

export NUM_GPUS=1

CUDA_VISIBLE_DEVICES=0 uv run python \
    gr00t/experiment/launch_finetune.py \
    --base-model-path nvidia/GR00T-N1.6-3B \
    --dataset-path ./my_robot_data \
    --embodiment-tag NEW_EMBODIMENT \
    --modality-config-path ./configs/so100_modality.json \
    --num-gpus $NUM_GPUS \
    --output-dir ./checkpoints/groot-so100 \
    --save-total-limit 5 \
    --save-steps 2000 \
    --max-steps 10000 \
    --use-wandb \
    --global-batch-size 32 \
    --color-jitter-params brightness 0.3 contrast 0.4 saturation 0.5 hue 0.08 \
    --dataloader-num-workers 4

Fine-tuning pipeline từ dữ liệu thu thập đến model triển khai
Fine-tuning pipeline từ dữ liệu thu thập đến model triển khai

Giải thích tham số

Tham số Mô tả Giá trị khuyến nghị
--max-steps Tổng số bước training 2,000–30,000 tuỳ dataset
--global-batch-size Batch size tổng (chia đều qua GPUs) 32–64
--save-steps Lưu checkpoint mỗi N bước 2,000
--save-total-limit Giữ tối đa N checkpoints 5
--color-jitter-params Data augmentation cho ảnh Tuỳ điều kiện ánh sáng
--use-wandb Log metrics lên Weights & Biases Nên bật

Tips fine-tune hiệu quả

  1. Bắt đầu ít bước: 2,000 bước thường đủ để thấy kết quả ban đầu. Tăng dần nếu loss chưa hội tụ.

  2. Kết hợp dữ liệu thật + synthetic: NVIDIA báo cáo 40% cải thiện khi kết hợp synthetic data từ Isaac Sim với real data. Dùng GR00T-Dreams blueprint để sinh trajectory giả lập.

  3. Relative actions là mặc định: N1.6 hoạt động tốt nhất với relative actions. Chỉ dùng absolute nếu task yêu cầu (vd: đặt vật ở vị trí cố định).

  4. Freeze VLM khi data ít: Nếu dataset dưới 100 episodes, cân nhắc chỉ fine-tune DiT phần hành động, giữ VLM frozen.

Fine-tune qua LeRobot (API đơn giản hơn)

Nếu quen thuộc với Hugging Face LeRobot, bạn có thể fine-tune GR00T N1.6 qua API tích hợp:

lerobot-train \
    --policy.type=groot \
    --dataset.repo_id=<HF_DATASET> \
    --batch_size=32 \
    --steps=20000 \
    --policy.tune_diffusion_model=false \
    --output_dir=./outputs/groot-finetune

Tham số --policy.tune_diffusion_model=false giữ DiT frozen, chỉ fine-tune adapter — tiết kiệm VRAM và phù hợp cho dataset nhỏ.

Inference

Khởi động policy server

uv run python gr00t/eval/run_gr00t_server.py \
    --embodiment-tag NEW_EMBODIMENT \
    --model-path ./checkpoints/groot-so100/checkpoint-10000

Client code điều khiển robot

from gr00t.policy.server_client import PolicyClient

# Kết nối tới server
policy = PolicyClient(host="localhost", port=5555)

# Vòng lặp điều khiển
obs, info = env.reset()
while not done:
    action, info = policy.get_action(obs)
    obs, reward, done, info = env.step(action)

Standalone inference (test nhanh)

uv run python scripts/deployment/standalone_inference_script.py \
    --model-path nvidia/GR00T-N1.6-3B \
    --dataset-path demo_data/gr1.PickNPlace \
    --embodiment-tag GR1 \
    --traj-ids 0 1 2 \
    --inference-mode pytorch \
    --action-horizon 8

Tham số --action-horizon 8 nghĩa là model dự đoán 8 bước hành động mỗi lần inference. Giá trị lớn hơn (16) cho chuyển động mượt hơn nhưng phản ứng chậm hơn với thay đổi môi trường.

Kết quả Benchmark

Simulation (100 demos mỗi task)

Benchmark Tỷ lệ thành công
RoboCasa 32.1%
DexMG 66.5%
GR-1 50.0%
Trung bình 45.0%

Thực tế (robot GR-1, full data)

Task Tỷ lệ thành công
Pick-and-Place 82.0%
Articulated (mở tủ, ngăn kéo) 70.9%
Industrial (lắp ráp) 70.0%
Coordination (phối hợp 2 tay) 82.5%
Trung bình 76.8%

LIBERO Benchmark (qua LeRobot)

Benchmark GR00T LeRobot GR00T gốc
LIBERO-Spatial 82.0% 92.0%
LIBERO-Object 99.0% 92.0%
LIBERO-Long 82.0% 76.0%
Trung bình 87.0% 76.0%

Đặc biệt ấn tượng là kết quả LIBERO-Object đạt 99% — gần như hoàn hảo trong nhận dạng và thao tác với các vật thể khác nhau.

Cosmos Reason 2 — Bộ não suy luận

Ngoài phiên bản 2B tích hợp trong GR00T, NVIDIA phát hành Cosmos Reason 2 (8B) như model suy luận độc lập:

import transformers
import torch

model_name = "nvidia/Cosmos-Reason2-8B"
model = transformers.Qwen3VLForConditionalGeneration.from_pretrained(
    model_name,
    dtype=torch.float16,
    device_map="auto",
    attn_implementation="sdpa"
)
processor = transformers.AutoProcessor.from_pretrained(model_name)

messages = [
    {
        "role": "user",
        "content": [
            {"type": "video", "video": "file:///path/to/robot_task.mp4", "fps": 4},
            {"type": "text", "text": "Robot cần làm gì tiếp theo?"}
        ]
    }
]

inputs = processor.apply_chat_template(
    messages, tokenize=True,
    add_generation_prompt=True,
    return_dict=True, return_tensors="pt", fps=4
)
output = model.generate(**inputs.to(model.device), max_new_tokens=4096)

Cosmos Reason 2 hỗ trợ chain-of-thought reasoning với format <think>...</think><answer>...</answer>, cho phép model giải thích quá trình suy luận trước khi đưa ra câu trả lời. Model có khả năng:

  • Hiểu video dài với độ chính xác timestamp
  • Phát hiện vật thể và định vị 2D/3D
  • Suy luận vật lý (vật thể di chuyển, tương tác như thế nào)
  • Phân tách task phức tạp thành các bước nhỏ

Embodiments được hỗ trợ

GR00T N1.6 đã được pretrain và fine-tune cho nhiều loại robot:

Robot Loại Checkpoint
WidowX (Bridge) Cánh tay GR00T-N1.6-bridge
Google Robot (Fractal) Mobile manipulator Có sẵn
Galaxea R1 Pro Dual-arm GR00T-N1.6-BEHAVIOR1k
Unitree G1 Humanoid Có sẵn
SO-100 Cánh tay giá rẻ Có sẵn
DROID Multi-embodiment Có sẵn

Bạn có thể dùng các checkpoint này làm điểm khởi đầu cho fine-tuning thay vì base model, nếu robot của bạn tương tự.

Tổng kết

GR00T N1.6 với Cosmos Reason 2 đánh dấu bước tiến quan trọng trong foundation models cho robotics:

  • 3B tham số — đủ mạnh để xử lý đa task nhưng đủ nhỏ để chạy real-time trên edge
  • Dual-system — kết hợp suy luận ngôn ngữ (System 2) với sinh hành động nhanh (System 1)
  • Cross-embodiment — một model cho nhiều loại robot
  • Mã nguồn mở — cộng đồng có thể fine-tune và đóng góp

Nếu bạn đang làm việc với robot arm hay humanoid, GR00T N1.6 là lựa chọn mạnh mẽ để bắt đầu xây dựng hệ thống điều khiển dựa trên VLA. Với chỉ 100 demonstrations và vài giờ fine-tune trên 1 GPU, bạn đã có thể đạt kết quả ấn tượng.

Tài nguyên:

  • GitHub Isaac-GR00T
  • Hugging Face GR00T-N1.6-3B
  • Paper arXiv
  • Cosmos Reason 2 GitHub

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 →

Bài viết liên quan

  • VLA Models — Khi robot hiểu ngôn ngữ và hành động — Tổng quan các kiến trúc Vision-Language-Action
  • Fine-Tune GR00T N1 trong Isaac Lab — Hướng dẫn phiên bản N1 trước đó
  • LeRobot Hands-On — Thực hành VLA với framework mã nguồn mở — Làm quen LeRobot ecosystem
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

Tutorial
Fine-Tune GR00T N1.7 với EgoScale: Từ Zero đến Deploy
gr00tnvidiavla
wholebody-vla

Fine-Tune GR00T N1.7 với EgoScale: Từ Zero đến Deploy

Hướng dẫn fine-tune GR00T N1.7 của NVIDIA với EgoScale — 20.854 giờ video egocentric — từ cài đặt môi trường đến deploy policy trên robot humanoid.

21/4/202612 phút đọc
NT
Tutorial
Hướng dẫn fine-tune NVIDIA GR00T N1
vlahumanoidnvidia
wholebody-vla

Hướng dẫn fine-tune NVIDIA GR00T N1

Hướng dẫn chi tiết fine-tune VLA model GR00T N1 cho humanoid robot với Isaac Lab và dữ liệu AGIBOT World — từ cài đặt đến inference.

12/4/202612 phút đọc
NT
Tutorial
Whole-body VLA
gr00tvlasynthetic-data
wholebody-vla

Làm synthetic data cho GR00T VLA

Các bước tạo synthetic data cho GR00T whole-body VLA, định dạng LeRobot, modality.json, training và inference cho beginner.

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