Bảng so sánh chính sách của AY-Robots với số lượng tham số, các cấp GPU và độ trễ suy luận cho GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA và ACT
SmolVLATinyVLAVLA nhỏGPU tiêu dùngLeRobot

Mô hình VLA nhỏ: TinyVLA, SmolVLA và trường hợp dưới 1 tỷ tham số

AY-Robots ResearchAugust 23, 202619 phút đọc

TinyVLA và SmolVLA đưa một VLA hoạt động xuống dưới 1 tỷ tham số. Các số liệu thực tế từ cả hai bài báo, các cài đặt mặc định của LeRobot, độ trễ đo được và chi phí cho một lần chạy trên card 24 GB.

Hầu hết mọi mô hình hành động ngôn ngữ thị giác được viết về đều giả định một card trung tâm dữ liệu. OpenVLA có 7 tỷ tham số. GR00T N1.7Pi0.5 có khoảng 3 tỷ tham số và cần một A100 80 GB để tinh chỉnh. Nếu card trên bàn của bạn là 4090, loại mô hình đó nằm ngoài tầm với.

Hai bài báo lập luận rằng bạn không cần nó. TinyVLA (arXiv 2409.12514, được IEEE Robotics and Automation Letters chấp nhận vào tháng 2 năm 2025) xây dựng một VLA từ một xương sống 400 triệu đến 1.3 tỷ tham số cộng với một đầu hành động khuếch tán. SmolVLA (arXiv 2506.01844, nộp ngày 2 tháng 6 năm 2025) cung cấp 450 triệu tham số với trọng số mở, dữ liệu mở và một script chạy trên một card tiêu dùng. Đây là những gì cả hai đã đo được, và là nơi lập luận dưới 1 tỷ tham số không còn đúng nữa.

Những điều bạn cần biết

  • TinyVLA có ba kích thước: tổng cộng 422 triệu với 101 triệu có thể huấn luyện, 740 triệu với 138 triệu, 1.3 tỷ với 143 triệu. Chỉ hai kích thước đầu tiên nằm dưới 1 tỷ.
  • Bảng IV của nó đo được 14 ms cho mỗi dự đoán hành động của TinyVLA-1B trên một A6000, so với 292 ms cho OpenVLA-7B và 140 ms cho OpenVLA-1B đã thu nhỏ.
  • Đầu (head) duy trì tốc độ đó, không phải xương sống (backbone): hoán đổi đầu khuếch tán của TinyVLA-H bằng một đầu ACT và năm tác vụ robot thực tế giảm từ mức trung bình 94.0 xuống còn một chữ số. Một đầu MLP đạt 0 điểm ở mọi nơi.
  • SmolVLA có 450 triệu tham số, trong đó khoảng 100 triệu là chuyên gia hành động, được huấn luyện trước trên 481 bộ dữ liệu cộng đồng LeRobot và 10.6 triệu khung hình. Nó báo cáo 87.3 trên LIBERO so với 86.0 cho một Pi0 được huấn luyện trước về robot ở mức 3.3 tỷ, và 78.3 trên ba tác vụ SO-100 thực tế so với 61.7 cho Pi0 ở mức 3.5 tỷ.
  • Được huấn luyện đơn tác vụ mà không có quá trình huấn luyện trước đó, SmolVLA giảm xuống 40.0 trên các tác vụ đó, thấp hơn 48.3 của ACT. Nhỏ không có nghĩa là dễ dàng.
  • TinyVLA không có tích hợp LeRobot và yêu cầu một stack CUDA 11.7 wheel. SmolVLA có trong lerobot và tốn khoảng 1 đến 3 USD cho mỗi lần chạy trên gói 24 GB tại đây.

Điều gì thực sự được coi là một VLA nhỏ

Số lượng tham số trên thẻ mô hình không phải là một con số duy nhất. Nó có thể là tổng trọng số, trọng số được tải khi suy luận, hoặc trọng số nhận gradient trong quá trình . TinyVLA báo cáo cả hai, và khoảng cách là lớn: TinyVLA-H có tổng cộng 1.3 B nhưng chỉ 143 M có thể huấn luyện, vì tháp thị giác và hầu hết mô hình ngôn ngữ vẫn đóng băng trong khi các bộ điều hợp LoRA và đầu hành động di chuyển. Bài báo cho biết tỷ lệ có thể huấn luyện là khoảng 5 phần trăm.

Mô hìnhTham sốKiến trúc nềnĐầu hành độngNguồn
TinyVLA-S422 M total, 101 M trainableLlava-Pythia ~400 MDiffusion (droid_diffusion U-Net)arXiv 2409.12514
TinyVLA-B740 M total, 138 M trainableLlava-Pythia ~700 MDiffusionarXiv 2409.12514
TinyVLA-H1.3 B total, 143 M trainableLlava-Pythia ~1.3 BDiffusionarXiv 2409.12514
SmolVLA450 M, ~100 M action expertSmolVLM2-500M-Video-InstructFlow matching expertarXiv 2506.01844
Octo-Small27 MViT-S scale, T5-Base text encoderDiffusionocto-small-1.5 card
ACT~80 MResNet, no language modelDirect chunk regressionAY-Robots catalog
OpenVLA7 BLlama 2 7 B, DINOv2 and SigLIP encodersAutoregressive action tokensarXiv 2406.09246

Có hai hàng đáng để tranh luận. với khoảng 80 M nhỏ hơn tất cả các mô hình khác ở đây nhưng không có mô hình ngôn ngữ, vì vậy nó không phải là VLA: nó học một nhiệm vụ và không thể được yêu cầu làm nhiệm vụ khác. với 27 M được điều kiện thông qua bộ mã hóa văn bản T5-Base, không phải là kiến trúc nền LLM. Đây là các đường cơ sở tốt, nhưng cả hai đều không cung cấp khả năng tuân thủ hướng dẫn như tên gọi ngụ ý.

Mốc 1 B là tùy ý

TinyVLA-H, biến thể mang lại kết quả nổi bật, có 1.3 B và nằm trên mốc này. Câu hỏi quan trọng hơn là liệu một mô hình có thể vừa vặn trong 24 GB trong quá trình huấn luyện và đạt được tốc độ điều khiển mong muốn khi suy luận hay không. Năm chính sách bạn có thể huấn luyện ở đây có trên trang chính sách; TinyVLA có một mục trong đấu trường nếu bạn muốn xem các con số của nó bên cạnh các mô hình khác.

TinyVLA: tốc độ đến từ phần đầu (head), không phải từ phần xương sống (backbone)

Cách hiểu rõ ràng là họ đã làm cho mô hình ngôn ngữ nhỏ hơn, do đó nó nhanh hơn. Phân tích loại bỏ (ablation) của bài báo lại cho thấy điều ngược lại. Việc thay thế phần xương sống 7 B của OpenVLA bằng một phần xương sống khoảng 1 B đã giảm thời gian dự đoán mỗi hành động từ 292 ms xuống 140 ms, tăng tốc độ gấp 2 lần. TinyVLA-H, với số lượng tham số tương đương, chạy ở 14 ms trên cùng một card. 10 lần tăng tốc còn lại đến từ phần đầu hành động (action head).

Mô hìnhDự đoán mỗi hành độngĐo trên
OpenVLA-7B292 msmột A6000
OpenVLA-1B, xương sống được thay bằng của TinyVLA140 msmột A6000
TinyVLA-1B (TinyVLA-H)14 msmột A6000

OpenVLA phát ra các hành động dưới dạng token rời rạc thông qua phần đầu mô hình ngôn ngữ, mỗi token cho một chiều hành động, một cách tự hồi quy. TinyVLA gắn một bộ giải mã khuếch tán (diffusion decoder) tạo ra toàn bộ khối dữ liệu trong một lần. Bảng V trình bày kiến trúc tại TinyVLA-H và chỉ thay đổi phần đầu, trên cùng năm tác vụ robot thực tế. Đây là bằng chứng rõ ràng nhất trong cả hai bài báo cho lập luận mà các chính sách flow matching tạo ra, và lý do Pi0 đã chuyển khỏi việc giải mã token.

Hiệu suất trên TinyVLA-HĐặt bóng tennisLật cốcXếp khốiĐóng ngăn kéoMở hộp
Diffusion (droid_diffusion)90.098.398.396.786.7
Action Chunking Transformer13.38.38.313.323.3
Multi-layer perceptron00000
Các con số của TinyVLA bao gồm những gì

Các số liệu 292 / 140 / 14 ms là từ Bảng IV, tất cả đều trên một A6000. Chúng là dự đoán cho mỗi hành động và không bao gồm việc thu thập hình ảnh từ camera, tiền xử lý và ghi nối tiếp vào các servo. Hãy coi độ trễ được công bố là giới hạn dưới, không bao giờ là tốc độ điều khiển. Các con số của chúng tôi cũng có cùng giới hạn: xem độ trễ suy luận.

Những gì TinyVLA đạt được

Điểm chuẩnGiao thứcTinyVLA-HCác mô hình cơ sở
MetaWorld, 50 tác vụ, mô phỏngĐa tác vụ, 50 bản demo, 3 seed77.6 / 21.5 / 11.4 / 15.8 theo độ khó, trung bình 31.6Diffusion Policy trung bình 10.5
Franka Panda thực tế, 5 tác vụ100 quỹ đạo mỗi tác vụ, 20 lần thửTrung bình 94.0OpenVLA 68.3, Diffusion Policy 35.3
UR5 hai tay, 3 tác vụĐa tác vụ, 10 lần thử mỗi tác vụ76.7 / 36.7 / 30.0OpenVLA 0 / 0 / 0, Diffusion Policy 40.3 / 31.3 / 43.0

Hàng bimanual có một lời giải thích nhàm chán mà bài báo tự đưa ra: OpenVLA được huấn luyện trước trên Open X-Embodiment, vốn chỉ bao gồm dữ liệu một tay, vì vậy không gian hành động hai tay nằm ngoài phân phối và nó đạt điểm 0. Đường cơ sở chính sách khuếch tán đánh bại TinyVLA-H trên hai trong ba nhiệm vụ đó. Thông tin cơ bản có trong bài viết về Open X-Embodiment.

Bảng xếp hạng đấu trường AY-Robots, một bảng có thể sắp xếp gồm 85 mô hình VLA với 332 kết quả benchmark, mỗi giá trị được liên kết trở lại bài báo hoặc thẻ mô hình mà nó đến từ
Các số liệu benchmark giữa các mô hình chỉ có thể so sánh được khi bạn biết mỗi số liệu đến từ đâu.

Kho lưu trữ TinyVLA, tính đến tháng 8 năm 2026

Bài báo này tốt. Mã nguồn là một bản phát hành nghiên cứu. Kho lưu trữ là github.com/liyaxuanliyaxuan/TinyVLA; tệp README của nó ghi ngày phát hành mã nguồn là 17 tháng 2 năm 2025 và lần commit cuối cùng là 11 tháng 3 năm 2025. Tốt cho việc tái tạo một bài báo, nhưng sẽ là vấn đề nếu bạn muốn một thư viện được duy trì.

bash
git clone https://github.com/liyaxuanliyaxuan/TinyVLA
conda create -n tinyvla python=3.10 -y
conda activate tinyvla
pip install --upgrade pip
pip install -r requirements.txt
cd policy_heads && pip install -e .
cd ../llava-pythia && pip install -e .
Trình tự cài đặt từ README của TinyVLA, được kiểm tra với kho lưu trữ vào ngày 2026-08-23.
Các ràng buộc phụ thuộc là cái bẫy làm mất cả ngày

requirements.txt cố định các phiên bản torch==2.0.1, transformers==4.37.1, deepspeed==0.9.5, peft==0.4.0, diffusers==0.11.1, numpy==1.24.4, và ngăn xếp CUDA cho các gói 11.x: nvidia-cuda-runtime-cu11==11.7.99, nvidia-cudnn-cu11==8.5.0.96, triton==2.0.0. README yêu cầu Python 3.10; lerobot 0.6.1 yêu cầu 3.12 trở lên, vì vậy hai môi trường này không thể dùng chung. Trước tiên, hãy xác nhận rằng có bản dựng torch 2.0.1 cho thế hệ GPU của bạn. Nếu một lần chạy bị lỗi do VRAM thay vì vậy, danh sách kiểm tra lỗi hết bộ nhớ sẽ nhanh hơn là đoán mò.

TinyVLA cũng không đọc được tập dữ liệu LeRobot. Định dạng của nó là HDF5 kiểu ACT: action, language_raw, và một nhóm quan sát với hình ảnh đa góc nhìn, joint_positions, qpos và qvel. Kho lưu trữ cung cấp data_utils/rlds_to_h5py.py cho đầu vào RLDS, và mỗi tác vụ được đăng ký thủ công trong aloha_scripts/constants.py với dataset_dir, episode_len và camera_names của nó. Nếu các tập của bạn đến từ lerobot hoặc ứng dụng máy tính để bàn, bạn phải tự chuyển đổi.

bash
# scripts/train.sh, the real flags from the repository
ACTION_HEAD=droid_diffusion

deepspeed --master_port 29600 --num_gpus=8 --num_nodes=1 ./train_tinyvla.py \
  --deepspeed scripts/zero2.json \
  --lora_enable True \
  --lora_module 'vit llm' \
  --lora_r 64 \
  --lora_alpha 256 \
  --non_lora_lr 2e-5 \
  --task_name "example_task_config" \
  --model_name_or_path /path/to/pretrained_vlm \
  --freeze_vision_tower True \
  --freeze_backbone True \
  --bf16 True \
  --max_steps 10000 \
  --per_device_train_batch_size 32 \
  --gradient_accumulation_steps 1 \
  --learning_rate 2e-4 \
  --lr_scheduler_type "cosine" \
  --warmup_ratio 0.005 \
  --save_steps 1000 \
  --action_head_type $ACTION_HEAD \
  --use_state True \
  --window_size 6
Rút gọn từ scripts/train.sh. Mọi cờ và giá trị trên đều có trong tệp được cung cấp.
  • --num_gpus=8 giả định một node tám card. Đặt nó thành 1 và giảm kích thước batch xuống dưới 32. Không có biến thể GPU đơn nào được cung cấp upstream, vì vậy lệnh không thể chạy nguyên văn trên 4090.
  • --deepspeed scripts/zero2.json trỏ đến một tệp không nằm trong thư mục scripts cấp cao nhất. Các cấu hình DeepSpeed được cung cấp tại llava-pythia/scripts/zero2.json. Sửa đường dẫn trước lần chạy đầu tiên của bạn.
  • README yêu cầu tên thư mục đầu ra phải chứa llava_pythia, cộng với lora nếu LoRA được bật.
  • Backbone là một bản tải xuống riêng biệt: lesjie/Llava-Pythia-400M, -700M hoặc -1.3B. Không có một checkpoint cơ sở duy nhất mà bạn trỏ một chính sách vào theo cách bạn trỏ vào lerobot/smolvla_base.

SmolVLA: mô hình dưới 1 tỷ tham số bạn có thể chạy ngay chiều nay

SmolVLA đưa ra lập luận tương tự trong một thư viện được duy trì. Nó có 450 triệu tham số trên backbone SmolVLM2-500M-Video-Instruct, và hiệu quả đến từ các cài đặt bạn có thể đọc từ configuration_smolvla.py chứ không phải từ tuyên bố về việc nó nhỏ.

Cài đặt trong configuration_smolvla.pyMặc địnhLợi ích
num_vlm_layers16Chỉ 16 lớp mô hình ngôn ngữ đầu tiên chạy
expert_width_multiplier0.75Kích thước ẩn của chuyên gia hành động bằng 75 phần trăm của VLM
self_attn_every_n_layers2Tự chú ý xen kẽ với chú ý chéo
chunk_size / n_action_steps50 / 50Một lần chạy tạo ra 50 hành động và tất cả 50 hành động đều được thực thi
num_steps10Khử nhiễu khớp dòng được cố định ở 10 bước
tokenizer_max_length48Hướng dẫn được cắt ngắn thành 48 token
freeze_vision_encoder / train_expert_onlyTrue / TrueTinh chỉnh di chuyển chuyên gia, không phải tháp thị giác
optimizer_lr, warmup, decay1e-4, 1000 steps, to 2.5e-6 over 30000Không phải công thức của bài báo: quá trình tiền huấn luyện của nó sử dụng 100 bước khởi động trong 200000 bước

Quá trình tiền huấn luyện đã sử dụng 481 bộ dữ liệu LeRobot cộng đồng, 22.9 K tập và 10.6 M khung hình trên 4 GPU, 200000 bước với kích thước lô toàn cầu là 256; bài báo ước tính toàn bộ dự án khoảng 30 K giờ GPU. Một con số cần lưu ý: blog ra mắt của Hugging Face nói 487 bộ dữ liệu được tuyển chọn trong khi bảng của bài báo nói 481. Chúng tôi sử dụng số liệu của bài báo và ghi nhận sự khác biệt này.

Trang mô hình SmolVLA trên AY-Robots hiển thị số lượng tham số, cấp GPU 24 GB, độ trễ suy luận cho mỗi bước hành động và số lượng tập tối thiểu
Trang SmolVLA của nền tảng: 450 M tham số, 245 ms mỗi bước hành động, cấp RTX 4090, tối thiểu 30 tập.
Điểm chuẩnSmolVLA 0.45 BSmolVLA 2.25 BPi0ACT
Trung bình LIBERO, đa nhiệm87.388.7586.0 (3.3 B, tiền huấn luyện robot)-
Trung bình Meta-World, đa nhiệm57.368.2447.9 (3.5 B, tiền huấn luyện robot)-
SO-100 thực tế, 3 nhiệm vụ, huấn luyện đa nhiệm78.3-61.7 (3.5 B)-
SO-100 thực tế, 3 nhiệm vụ, đơn nhiệm, không tiền huấn luyện robot40.0--48.3
SO-101 lego nhặt-đặt, đơn nhiệm, trong phân phối90--70
SO-101 lego nhặt-đặt, đơn nhiệm, ngoài phân phối50--40
Đọc toàn bộ bảng, không chỉ hàng tiêu đề

LIBERO là mô phỏng và mọi thứ có năng lực đều đạt điểm tám mươi ở đó hiện nay. Hàng SO-100 thực tế, nơi một mô hình 450 M đánh bại mô hình 3.5 B tới 16.6 điểm, là điểm thú vị; hàng bên dưới nó là đối trọng. Loại bỏ quá trình tiền huấn luyện cộng đồng và huấn luyện đa nhiệm, cùng một mô hình giảm xuống 40.0, dưới ACT. Tuyên bố có thể bảo vệ được là một mô hình nhỏ không tự động tệ hơn, chứ không phải là nó tốt hơn.

Một sự trùng hợp hữu ích: bảng Meta-World của bài báo SmolVLA mang các số liệu đã công bố của TinyVLA làm cơ sở, vì vậy lần này cả hai mô hình đều nằm trong một bảng, SmolVLA-0.45B ở mức 57.3 so với TinyVLA-H ở mức 31.6. Nó cũng báo cáo rằng SmolVLA huấn luyện nhanh hơn khoảng 40 phần trăm so với Pi0 trên bộ nhớ ít hơn 6 lần. Tất cả đều đến từ các tác giả SmolVLA; mục nhập đấu trường liên kết mỗi giá trị với nguồn của nó.

SmolVLA dành thời gian vào đâu

AY-Robots liệt kê SmolVLA ở mức 245 ms cho mỗi bước hành động và ACT ở mức 20 ms trong danh mục chính sách. TinyVLA báo cáo 14 ms cho mỗi dự đoán hành động. Những con số này không thể so sánh được, và việc coi chúng như thể chúng có thể so sánh được là lỗi phổ biến nhất trong chủ đề này: một số đo thời gian một lần chuyển tiếp, một số chia lần chuyển tiếp đó cho một khối một khi phân đoạn hành động khấu hao nó.

  • SmolVLA phát ra 50 hành động cho mỗi lần chuyển tiếp và thực hiện tất cả 50 hành động đó. Với tốc độ 30 khung hình/giây mà bài báo sử dụng trên robot thực, một lần suy luận bao gồm khoảng 1.7 giây chuyển động.
  • Suy luận không đồng bộ tính toán khối tiếp theo trong khi khối hiện tại vẫn đang thực thi: 9.7 giây hoàn thành tác vụ trung bình so với 13.75 giây đồng bộ, nhanh hơn khoảng 30 phần trăm, và 19 chu kỳ nhặt và đặt trong một cửa sổ 60 giây cố định so với 9.
  • Tỷ lệ thành công có thể so sánh được chứ không tốt hơn, 78.3 đồng bộ so với 73.3 không đồng bộ. Không đồng bộ mua thông lượng, không phải độ chính xác.
  • Phân đoạn che giấu độ trễ tính toán, không phải độ trễ mạng, và nó làm cho chính sách ít phản ứng hơn vì nó cam kết 50 hành động.
Suy luận từ xa không miễn phí và không nền tảng nào khắc phục được vật lý

AY-Robots có thể tự động cấp phát một pod GPU đám mây để phục vụ chính sách của bạn trong khi client robot cục bộ giao tiếp với điểm cuối đó, và pod này mang một bộ giám sát không hoạt động (idle watchdog) để nó tự hủy thay vì âm thầm tính phí. Điều nó không làm được là loại bỏ chuyến đi khứ hồi qua internet công cộng. Vòng lặp điều khiển trên năm chính sách ở đây là 20 đến 485 ms cho mỗi bước hành động trước khi có bất kỳ mạng nào, vì vậy suy luận từ xa khả thi cho các tác vụ chọn và đặt chậm, chứ không phải cho chuyển động phản ứng nhanh.

Bảng so sánh các chính sách của AY-Robots hiển thị GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA và ACT với số lượng tham số, cấp độ GPU yêu cầu, độ trễ suy luận trên mỗi bước hành động và số lượng tập tối thiểu mà mỗi mô hình cần.
SmolVLA ở ~450 M và ACT ở ~80 M là hai mô hình phù hợp với thẻ 24 GB. Ba mô hình còn lại cần A100 hoặc H100 80 GB.

Tinh chỉnh SmolVLA trên một card đồ họa tiêu dùng

Đường dẫn thủ công, trên lerobot 0.6.1, bản phát hành PyPI hiện tại tính đến ngày 23 tháng 8 năm 2026. Mọi thứ bên dưới đều đến từ tài liệu Hugging Face lerobot SmolVLA, được lấy cùng ngày; phiên bản hướng dẫn thì dễ hơn.

  1. 1
    Cài đặt lerobot với phần bổ sung smolvla

    Các phụ thuộc của SmolVLA là một phần bổ sung tùy chọn, không phải là một phần của cài đặt cơ bản. Cài đặt mà không có nó và sau đó tự hỏi tại sao loại chính sách không xác định là một lỗi phổ biến làm mất nửa giờ.

    bash
    git clone https://github.com/huggingface/lerobot.git
    cd lerobot
    pip install -e ".[smolvla]"
  2. 2
    Lấy một tập dữ liệu với đủ số tập

    Tài liệu khuyến nghị khoảng 50 tập và nêu rõ rằng cùng một tác vụ với 25 tập là không đủ. AY-Robots đặt mức tối thiểu là 30. Tự ghi lại của bạn, hoặc bắt đầu từ thư mục tập dữ liệu.

    bash
    # any LeRobotDataset on the Hub works as --dataset.repo_id
    # lerobot/svla_so100_pickplace is the paper's own 50-episode set:
    # 5 cube positions, 10 episodes each
  3. 3
    Bắt đầu tinh chỉnh

    Lệnh từ hướng dẫn lerobot, không sửa đổi. Tài liệu ước tính 20000 bước mất khoảng 4 giờ trên một A100. Trên một card 24 GB, hãy dự kiến thời gian lâu hơn và đo lường nó.

    bash
    cd lerobot && lerobot-train \
      --policy.path=lerobot/smolvla_base \
      --dataset.repo_id=${HF_USER}/mydataset \
      --batch_size=64 \
      --steps=20000 \
      --output_dir=outputs/train/my_smolvla \
      --job_name=my_smolvla_training \
      --policy.device=cuda \
      --wandb.enable=true
  4. 4
    Giảm kích thước batch cho đến khi phù hợp

    batch_size=64 là một ví dụ được ghi lại, không phải là một lời hứa về card của bạn. Tài liệu khuyên nên bắt đầu với giá trị nhỏ và tăng dần trong khi thời gian tải vẫn ngắn.

    bash
    lerobot-train --help
  5. 5
    Triển khai checkpoint trên cánh tay robot

    Cùng thư viện, một lệnh. Các cờ phân đoạn thời gian thực được ghi chú trong tài liệu và là những cờ cần sử dụng trên phần cứng công suất thấp.

    bash
    lerobot-rollout \
      --strategy.type=base \
      --robot.type=so101_follower \
      --robot.port=/dev/ttyACM0 \
      --robot.id=my_blue_follower_arm \
      --robot.cameras="{ front: {type: opencv, index_or_path: 8, width: 640, height: 480, fps: 30}}" \
      --task="Grasp a lego block and put it in the bin." \
      --policy.path=HF_USER/FINETUNE_MODEL_NAME
Checkpoint là sản phẩm bàn giao

Bất kể con đường nào bạn chọn, bạn sẽ có được một checkpoint cùng với cấu hình đã tạo ra nó. Giữ lại phiên bản tập dữ liệu, số bước và seed bên cạnh. lerobot mặc định sử dụng seed 1000; điểm vào tinh chỉnh của GR00T không hiển thị seed nào cả, vì vậy các lần chạy đó không thể tái tạo từng bit. Cơ chế trong tài liệu huấn luyện.

Hai cách để đưa một VLA nhỏ lên cánh tay robot

Bạn sở hữu máy móc và các chế độ lỗi. Đối với SmolVLA, điều đó là hợp lý: một pip bổ sung, một lệnh huấn luyện, một lệnh triển khai. Đối với TinyVLA, đó là một bản tái tạo nghiên cứu với các pin bị đóng băng, một đường dẫn DeepSpeed bị hỏng và một chuyển đổi dữ liệu mà bạn tự viết.

  1. Lấy một card 24 GB, ghi lại 30 đến 50 tập, xác minh luồng camera từng khung hình.
  2. pip install -e ".[smolvla]", huấn luyện lerobot với lerobot/smolvla_base, sau đó phục vụ checkpoint trên máy mà cánh tay robot được cắm vào.
  3. Đối với TinyVLA: môi trường conda riêng biệt, chuyển đổi dữ liệu sang HDF5, đăng ký tác vụ trong constants.py, sửa đường dẫn zero2.json, cắt train.sh từ tám GPU xuống còn một.
Ưu điểm
  • Không tính phí theo giờ sau khi card đã được thanh toán.
  • Suy luận nằm cạnh các servo, là cách duy nhất để có được một vòng điều khiển nhanh.
  • Bạn có thể vá mã chính sách, và TinyVLA chỉ có sẵn theo cách này.
Đánh đổi
  • Một 4090 loại trừ mọi chính sách ~3 B, vì vậy không có so sánh cục bộ nào với GR00T N1.7 hoặc Pi0.5.
  • Thiết lập môi trường là công việc thực sự. Chỉ riêng các pin của TinyVLA cũng có thể tốn một ngày.
  • Không có hàng đợi, không có thử lại, không có lưu trữ checkpoint. Một lần khởi động lại ở bước 14000 có nghĩa là bắt đầu lại.

Khi một mô hình nhỏ là lựa chọn sai lầm

Cả hai bài báo đều cẩn thận hơn ở đây so với các bản tóm tắt. Phân tích lỗi của TinyVLA rất cụ thể: biến thể 0.4 B đã thất bại ba lần do đọc sai hướng dẫn, mà các tác giả cho rằng là do khả năng hiểu ngôn ngữ hạn chế trong VLM nhỏ hơn, và chế độ đó đã biến mất ở 1.3 B. SmolVLA cho thấy cùng một đường cong từ phía bên kia: phiên bản 2.25 B của kiến trúc giống hệt nhau đạt 88.75 điểm trên LIBERO và 68.24 điểm trên Meta-World so với 87.3 và 57.3 cho mô hình 0.45 B.

Chọn VLA dưới 1 B
Những điểm mạnh
  • Phù hợp với thẻ 24 GB, giúp giảm chi phí thử nghiệm từ hàng chục đô la xuống còn vài đô la.
  • Đủ nhanh để chạy cạnh cánh tay robot, do đó không có độ trễ mạng trong vòng điều khiển.
  • Tinh chỉnh trên dữ liệu mà một người có thể ghi lại, hàng chục tập thay vì hàng nghìn.
  • Trọng số, danh sách dữ liệu và mã của SmolVLA là công khai, vì vậy một kết quả xấu có thể được gỡ lỗi.
Những điểm yếu
  • Khả năng tuân thủ hướng dẫn yếu hơn: ít tham số ngôn ngữ hơn, khả năng phân biệt các biểu thức tham chiếu tương tự kém hơn.
  • Khả năng tổng quát hóa không gian và hình ảnh kém hơn đối với các thiết lập bạn chưa ghi lại.
  • Nhạy cảm hơn với các lỗi tập dữ liệu, với ít huấn luyện trước để dựa vào hơn.
  • Công việc đa nhiệm và tầm nhìn dài hạn vẫn ưu tiên các mô hình lớn hơn, bao gồm cả biến thể 2.25 B của SmolVLA.

Sự so sánh đáng thực hiện không phải là TinyVLA với SmolVLA. Đó là SmolVLA với ACT trên nhiệm vụ của riêng bạn, và bài báo SmolVLA là lập luận cho lý do tại sao. Được huấn luyện đơn nhiệm mà không có huấn luyện trước về robot, SmolVLA đạt trung bình 40.0 trên ba nhiệm vụ SO-100 trong khi ACT đơn nhiệm đạt 48.3. Điều nâng nó lên 78.3 là huấn luyện trước cộng đồng cộng với huấn luyện đa nhiệm, chứ không phải chỉ riêng kiến trúc. Trên nhiệm vụ lego SO-101, cả hai đều đơn nhiệm, SmolVLA thực sự thắng: 90 so với 70 trong phân phối. Sau đó là SmolVLA với Pi0.5 nếu ngân sách cho phép.

Ở quy mô này, tập dữ liệu quyết định kết quả

Có ít quá trình tiền huấn luyện hơn để bù đắp cho dữ liệu xấu, vì vậy một đường cong mất mát sạch trên một tập dữ liệu bị lỗi sẽ cung cấp cho bạn một chính sách tái tạo lỗi một cách tự tin. Tài liệu của lerobot thẳng thắn về cấu trúc: 50 tập trên 5 vị trí khối lập phương, 10 tập mỗi vị trí, đã hoạt động; 25 tập thì không. Nếu mất mát trông ổn và cánh tay không làm được gì hữu ích, hãy bắt đầu với mất mát giảm, chính sách không làm gì, chính sách chỉ hoạt động trong một thiết lập hoặc thu thập dữ liệu huấn luyện VLA thực sự có thể sử dụng được.

Năm chính sách, một bảng so sánh

GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA và ACT với số lượng tham số thực, độ trễ suy luận trên mỗi bước hành động, cấp độ GPU mà mỗi loại cần và số lượng tập tối thiểu trước khi nó thực hiện được bất kỳ điều gì hữu ích.

So sánh các chính sách

Một bảng quyết định bạn có thể hành động

Tình huống của bạnBắt đầu vớiLý do
Một nhiệm vụ, minh họa tốt, không ngôn ngữACT~80 M, 20 ms, thẻ 24 GB, không cần tải xuống mô hình cơ sở
Một vài nhiệm vụ liên quan, mỗi nhiệm vụ một hướng dẫnSmolVLA450 M, trong lerobot, tối thiểu 30 tập, 1 đến 3 USD mỗi lần chạy
Tái tạo cụ thể kết quả TinyVLATinyVLA-B hoặc TinyVLA-HKho lưu trữ là con đường duy nhất: môi trường cô lập, dữ liệu đã chuyển đổi
Đa nhiệm, hướng dẫn đa dạng, ngân sách A100GR00T N1.7 hoặc Pi0.5~3 B, 152 ms và 485 ms mỗi bước, 4 đến 12 USD mỗi lần chạy
Chưa có robotĐiều khiển một cánh tay robot thựcCánh tay robot trực tiếp dựa trên hàng đợi không cần đăng ký và không cần phần cứng

Đối với hàng cuối cùng, cánh tay robot trực tiếp truyền phát một SO-100 vật lý mà bạn có thể điều khiển từ trình duyệt mà không cần tài khoản, và ba cách để bắt đầu bao gồm phần còn lại. SO-100 là cánh tay robot tham chiếu ở đây, với chi phí linh kiện khoảng 110 đến 150 EUR, cùng với hướng dẫn cài đặt đầy đủ.

Điều gì đến sau các mô hình dưới 1 tỷ tham số

Giảm số lượng tham số là một cách để làm cho VLA trở nên rẻ hơn và không phải lúc nào cũng là cách tối ưu nhất. OpenVLA-OFT (arXiv 2502.19645) giữ nguyên kiến trúc xương sống 7 B và chỉ thay đổi cách các hành động được giải mã, báo cáo mức tăng 26x về thông lượng tạo hành động và LIBERO tăng từ 76.5 lên 97.1 phần trăm. BitVLA (arXiv 2506.07530) biến mọi trọng số của kiến trúc xương sống 1-bit BitNet b1.58 2B4T thành tam phân, báo cáo giảm 11.0x bộ nhớ và giảm 4.4x độ trễ đầu cuối trong khi vẫn đạt hiệu suất tương đương với OpenVLA-OFT độ chính xác đầy đủ. X-VLA-0.9B (arXiv 2510.10274) nằm trên ngưỡng 1 B với phương pháp khớp dòng chảy.

Điểm chung: bộ giải mã hành động, chứ không phải mô hình ngôn ngữ, là nơi phát sinh độ trễ. Hãy hỏi cách một chính sách phát ra hành động trước khi hỏi nó có bao nhiêu tham số. đấu trường có 85 mô hình và 332 kết quả, mỗi kết quả đều được liên kết với nguồn của nó; có một cái nhìn tổng quan rộng hơn trong phần giới thiệu VLA của chúng tôi.

Tôi có thể tinh chỉnh SmolVLA trên RTX 4090 không?

Có. SmolVLA có 450 triệu tham số và AY-Robots chạy nó trên cấp RTX 4090 / 24 GB. Ví dụ lerobot sử dụng --batch_size=64, đây là một ví dụ chứ không phải là sự đảm bảo cho card của bạn; tài liệu khuyên nên bắt đầu với kích thước nhỏ và tăng dần trong khi thời gian tải vẫn ngắn. Hãy mong đợi thời gian lâu hơn khoảng 4 giờ mà tài liệu đề cập cho 20000 bước trên A100.

TinyVLA có sẵn trong lerobot hay trên AY-Robots không?

Không cho cả hai. TinyVLA chỉ tồn tại trong kho lưu trữ nghiên cứu của nó, lần commit cuối cùng vào ngày 11 tháng 3 năm 2025, và định dạng của nó là HDF5 kiểu ACT chứ không phải LeRobot. AY-Robots huấn luyện GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA và ACT. Nếu bạn muốn TinyVLA, bạn phải tự xây dựng nó, và bạn sẽ phải sửa đường dẫn cấu hình DeepSpeed trong scripts/train.sh trước.

Một mô hình 450 triệu tham số có thực sự cạnh tranh với mô hình 3 tỷ tham số không?

Theo các điểm chuẩn của chính tác giả, có: 87.3 so với 86.0 trên LIBERO so với một Pi0 được huấn luyện trước về robot học ở mức 3.3 tỷ, và 78.3 so với 61.7 trên ba tác vụ SO-100 thực tế mà cùng một bài báo gắn nhãn Pi0 ở mức 3.5 tỷ. Hạn chế nằm trong cùng bài báo: tác vụ đơn lẻ không có huấn luyện trước về robot học, SmolVLA giảm xuống 40.0, thấp hơn 48.3 của ACT.

Tôi cần bao nhiêu tập trước khi một VLA nhỏ có thể làm được việc gì đó?

AY-Robots đặt mức tối thiểu cho SmolVLA là 30 tập và mức tối thiểu cho ACT là 50. Tài liệu lerobot khuyến nghị khoảng 50 và báo cáo rằng 25 là không đủ cho cùng một tác vụ. Cấu trúc quan trọng không kém số lượng: bộ dữ liệu của bài báo đã sử dụng 5 vị trí khối lập phương với 10 tập mỗi vị trí.

Tại sao các con số độ trễ được công bố lại khác nhau nhiều đến vậy?

Chúng đo lường những thứ khác nhau. TinyVLA báo cáo 14 ms cho mỗi dự đoán hành động trên A6000; AY-Robots liệt kê SmolVLA ở mức 245 ms và ACT ở mức 20 ms cho mỗi bước hành động. Một số con số bao gồm một lần truyền xuôi, một số chia một lần truyền qua một khối 50 hành động, và hầu như không có con số nào bao gồm việc chụp ảnh camera hoặc ghi vào các servo.

Suy luận trên đám mây có giải quyết được vấn đề GPU không?

Một phần. AY-Robots tự động cấp phát một pod phục vụ chính sách trong khi client cục bộ giao tiếp với điểm cuối đó, với một bộ giám sát không hoạt động để nó tự hủy thay vì tính phí một cách âm thầm. Nó không thể loại bỏ chuyến đi khứ hồi qua internet công cộng, và vòng lặp điều khiển đã là 20 đến 485 ms cho mỗi bước hành động. Tốt cho các tác vụ nhặt và đặt chậm, không phù hợp cho chuyển động phản ứng nhanh.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started