Tabela porównawcza polityk AY-Robots z liczbą parametrów, poziomami GPU i latencją wnioskowania dla GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA i ACT
SmolVLATinyVLAMałe VLAGPU konsumenckieLeRobot

Małe Modele VLA: TinyVLA, SmolVLA i przypadek poniżej 1B

AY-Robots ResearchAugust 23, 202619 min czytania

TinyVLA i SmolVLA umieszczają działający VLA poniżej 1B parametrów. Rzeczywiste liczby z obu artykułów, domyślne ustawienia lerobot, zmierzona latencja i ile kosztuje uruchomienie na karcie 24 GB.

Prawie każdy model wizyjno-językowo-akcyjny o którym się pisze, zakłada kartę do centrum danych. OpenVLA ma 7 B parametrów. GR00T N1.7 i Pi0.5 mają około 3 B i wymagają A100 80 GB do dostrajania. Jeśli karta na Twoim biurku to 4090, ta klasa modeli jest poza zasięgiem.

Dwie prace naukowe dowodzą, że nie jest to potrzebne. TinyVLA (arXiv 2409.12514, przyjęte przez IEEE Robotics and Automation Letters w lutym 2025) buduje VLA z rdzenia od 400 M do 1.3 B plus głowicy akcji dyfuzyjnej. SmolVLA (arXiv 2506.01844, zgłoszone 2 czerwca 2025) dostarcza 450 M parametrów z otwartymi wagami, otwartymi danymi i skryptem, który działa na jednej karcie konsumenckiej. Oto, co oba zmierzyły i gdzie argument o modelach poniżej 1 B przestaje być aktualny.

Co musisz wiedzieć

  • TinyVLA jest dostępny w trzech rozmiarach: 422 M całkowitych z 101 M trenowalnych, 740 M ze 138 M, 1.3 B ze 143 M. Tylko dwa pierwsze mieszczą się poniżej 1 B.
  • Tabela IV mierzy 14 ms na predykcję akcji dla TinyVLA-1B na jednej A6000, w porównaniu do 292 ms dla OpenVLA-7B i 140 ms dla zmniejszonego OpenVLA-1B.
  • To głowica utrzymuje tę prędkość, nie rdzeń: zamiana głowicy dyfuzyjnej TinyVLA-H na głowicę ACT powoduje spadek pięciu zadań rzeczywistych robotów ze średniej 94.0 do jednocyfrowych wartości. Głowica MLP wszędzie osiąga 0.
  • SmolVLA ma 450 M, z czego około 100 M to ekspert akcji, wstępnie wytrenowany na 481 zbiorach danych społeczności LeRobot i 10.6 M klatek. Raportuje 87.3 na LIBERO w porównaniu do 86.0 dla wstępnie wytrenowanego w robotyce Pi0 o 3.3 B, oraz 78.3 na trzech rzeczywistych zadaniach SO-100 w porównaniu do 61.7 dla Pi0 o 3.5 B.
  • Wytrenowany do jednego zadania bez tego wstępnego treningu, SmolVLA spada do 40.0 w tych zadaniach, poniżej 48.3 ACT. Małe nie oznacza automatycznie łatwe.
  • TinyVLA nie ma integracji z LeRobot i wymaga stosu kół CUDA 11.7. SmolVLA jest w lerobot i kosztuje około 1 do 3 USD za uruchomienie na poziomie 24 GB tutaj.

Co faktycznie liczy się jako mały VLA

Liczba parametrów na karcie modelu nie jest jedną liczbą. Może oznaczać całkowitą liczbę wag, wag załadowanych podczas wnioskowania lub wag, które otrzymują gradienty podczas . TinyVLA raportuje obie wartości, a różnica jest duża: TinyVLA-H ma łącznie 1,3 B, ale 143 M jest trenowalnych, ponieważ wieża wizyjna i większość modelu językowego pozostają zamrożone, podczas gdy adaptery LoRA i głowica akcji się zmieniają. Artykuł podaje, że udział trenowalnych parametrów wynosi około 5 procent.

ModelParametryArchitektura bazowaGłowica akcjiŹródło
TinyVLA-S422 M łącznie, 101 M trenowalnychLlava-Pythia ~400 MDiffusion (droid_diffusion U-Net)arXiv 2409.12514
TinyVLA-B740 M łącznie, 138 M trenowalnychLlava-Pythia ~700 MDiffusionarXiv 2409.12514
TinyVLA-H1,3 B łącznie, 143 M trenowalnychLlava-Pythia ~1,3 BDiffusionarXiv 2409.12514
SmolVLA450 M, ~100 M ekspert akcjiSmolVLM2-500M-Video-InstructEkspert dopasowania przepływuarXiv 2506.01844
Octo-Small27 MSkala ViT-S, koder tekstu T5-BaseDiffusionocto-small-1.5 card
ACT~80 MResNet, bez modelu językowegoBezpośrednia regresja fragmentówAY-Robots catalog
OpenVLA7 BLlama 2 7 B, kodery DINOv2 i SigLIPAutoregresywne tokeny akcjiarXiv 2406.09246

Dwa wiersze są warte dyskusji. o rozmiarze około 80 M jest mniejszy niż wszystkie inne tutaj, ale nie posiada modelu językowego, więc nie jest VLA: uczy się jednego zadania i nie można mu zlecić innego. o rozmiarze 27 M jest warunkowany przez koder tekstu T5-Base, a nie przez architekturę bazową LLM. Dobre punkty odniesienia, ale żaden z nich nie zapewnia zgodności z instrukcjami, którą sugeruje etykieta.

Linia 1 B jest arbitralna

TinyVLA-H, wariant prezentujący główne wyniki, ma 1,3 B i znajduje się powyżej tej linii. Lepszym pytaniem jest, czy model mieści się w 24 GB podczas treningu i osiąga pożądaną szybkość sterowania podczas wnioskowania. Pięć polityk, które możesz tutaj trenować, znajduje się na stronie polityk; TinyVLA ma wpis w arenie, jeśli chcesz porównać jego liczby z innymi.

TinyVLA: szybkość pochodzi z głowicy, nie z rdzenia

Oczywista interpretacja jest taka, że zmniejszyli model językowy, więc stał się szybszy. Ablacja w artykule mówi co innego. Zamiana rdzenia OpenVLA 7 B na rdzeń o rozmiarze około 1 B skróciła czas predykcji na akcję z 292 ms do 140 ms, co stanowi 2-krotny wzrost wydajności. TinyVLA-H, przy porównywalnej liczbie parametrów, działa w 14 ms na tej samej karcie. Pozostałe 10x to głowica akcji.

ModelPredykcja na akcjęZmierzono na
OpenVLA-7B292 mssingle A6000
OpenVLA-1B, rdzeń zamieniony na ten z TinyVLA140 mssingle A6000
TinyVLA-1B (TinyVLA-H)14 mssingle A6000

OpenVLA emituje akcje jako zdyskretyzowane tokeny poprzez głowicę modelu językowego, jeden na wymiar akcji, autoregresywnie. TinyVLA dołącza dekoder dyfuzyjny, który wytwarza cały fragment za jednym razem. Tabela V przedstawia architekturę TinyVLA-H i zamienia tylko głowicę, na tych samych pięciu zadaniach rzeczywistych robotów. Jest to najczystszy dowód w obu artykułach na poparcie argumentu, który dopasowanie przepływu polityki tworzą, oraz powód, dla którego Pi0 odeszło od dekodowania tokenów.

Głowica na TinyVLA-HUmieśćPiłkęTenisowąOdwróćKubekUłóżKostkiZamknijSzufladęOtwórzPudełko
Dyfuzja (droid_diffusion)90.098.398.396.786.7
Transformator segmentujący akcje13.38.38.313.323.3
Perceptron wielowarstwowy00000
Co obejmują liczby TinyVLA

Wartości 292 / 140 / 14 ms pochodzą z Tabeli IV, wszystkie uzyskane na jednej karcie A6000. Dotyczą one przewidywania pojedynczej akcji i nie obejmują przechwytywania obrazu z kamery, wstępnego przetwarzania ani zapisu szeregowego do serwomechanizmów. Publikowane opóźnienie należy traktować jako dolną granicę, nigdy jako częstotliwość sterowania. Nasze własne liczby mają to samo ograniczenie: zobacz opóźnienie wnioskowania.

Co osiągnął TinyVLA

BenchmarkProtokółTinyVLA-HPunkty odniesienia
MetaWorld, 50 zadań, symulacjaWielozadaniowy, 50 demonstracji, 3 ziarna77.6 / 21.5 / 11.4 / 15.8 według trudności, średnio 31.6Diffusion Policy średnio 10.5
Prawdziwy Franka Panda, 5 zadań100 trajektorii na zadanie, 20 prób94.0 średnioOpenVLA 68.3, Diffusion Policy 35.3
Dwuręczny UR5, 3 zadaniaWielozadaniowy, 10 prób na zadanie76.7 / 36.7 / 30.0OpenVLA 0 / 0 / 0, Diffusion Policy 40.3 / 31.3 / 43.0

Wiersz bimanualny ma nudne wyjaśnienie, które podaje sama praca: OpenVLA jest wstępnie trenowany na Open X-Embodiment, który składa się wyłącznie z danych dla jednej ręki, więc przestrzeń akcji dla dwóch rąk jest poza rozkładem i uzyskuje zero punktów. Podstawowa polityka dyfuzji pokonuje TinyVLA-H w dwóch z tych trzech zadań. Tło w opracowaniu Open X-Embodiment.

Tablica wyników areny AY-Robots, sortowalna tabela 85 modeli VLA z 332 wynikami benchmarków, każda wartość połączona z pracą lub kartą modelu, z której pochodzi
Wyniki benchmarków między modelami są porównywalne tylko wtedy, gdy widać, skąd pochodzi każdy z nich.

Repozytorium TinyVLA, stan na sierpień 2026

Praca jest dobra. Kod to wersja badawcza. Repozytorium to github.com/liyaxuanliyaxuan/TinyVLA; jego README datuje wydanie kodu na 17 lutego 2025, a ostatni commit na 11 marca 2025. Dobre do reprodukcji pracy, problem, jeśli chciałeś utrzymywanej biblioteki.

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 .
Sekwencja instalacji z pliku README TinyVLA, sprawdzona w repozytorium 2026-08-23.
Przypięcia zależności to pułapka, która pochłania dzień

requirements.txt przypina torch==2.0.1, transformers==4.37.1, deepspeed==0.9.5, peft==0.4.0, diffusers==0.11.1, numpy==1.24.4 oraz stos CUDA do kół 11.x: nvidia-cuda-runtime-cu11==11.7.99, nvidia-cudnn-cu11==8.5.0.96, triton==2.0.0. Plik README wymaga Pythona 3.10; lerobot 0.6.1 wymaga 3.12 lub nowszego, więc te dwa nie mogą współdzielić środowiska. Najpierw upewnij się, że istnieje kompilacja torch 2.0.1 dla Twojej generacji GPU. Jeśli zamiast tego uruchomienie zakończy się z powodu braku VRAM, lista kontrolna braku pamięci jest szybsza niż zgadywanie.

TinyVLA również nie odczytuje zbiorów danych LeRobot. Jego format to HDF5 w stylu ACT: akcja, language_raw oraz grupa obserwacji z obrazami wielowidokowymi, joint_positions, qpos i qvel. Repozytorium dostarcza data_utils/rlds_to_h5py.py dla danych wejściowych RLDS, a każde zadanie jest ręcznie rejestrowane w aloha_scripts/constants.py z jego dataset_dir, episode_len i camera_names. Jeśli Twoje epizody pochodziły z lerobot lub klienta desktopowego, to Ty odpowiadasz za konwersję.

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
Skrócono z scripts/train.sh. Każda flaga i wartość powyżej znajduje się w dostarczonym pliku.
  • --num_gpus=8 zakłada węzeł z ośmioma kartami. Ustaw na 1 i znacznie zmniejsz rozmiar partii poniżej 32. Żaden wariant z pojedynczym GPU nie jest dostarczany w górę strumienia, więc polecenie nie może być uruchomione dosłownie na 4090.
  • --deepspeed scripts/zero2.json wskazuje na plik, który nie znajduje się w katalogu scripts najwyższego poziomu. Konfiguracje DeepSpeed są dostarczane w llava-pythia/scripts/zero2.json. Popraw ścieżkę przed pierwszym uruchomieniem.
  • Plik README wymaga, aby nazwa katalogu wyjściowego zawierała llava_pythia, plus lora, jeśli LoRA jest włączona.
  • Backbone jest osobnym pobraniem: lesjie/Llava-Pythia-400M, -700M lub -1.3B. Nie ma pojedynczego bazowego punktu kontrolnego, na który wskazuje się politykę w taki sposób, w jaki wskazuje się na lerobot/smolvla_base.

SmolVLA: model poniżej 1 B, który możesz uruchomić dziś po południu

SmolVLA przedstawia ten sam argument w ramach utrzymywanej biblioteki. Ma 450 M parametrów na backbone SmolVLM2-500M-Video-Instruct, a wydajność wynika z ustawień, które można odczytać z configuration_smolvla.py, a nie z twierdzenia o byciu małym.

Ustawienie w configuration_smolvla.pyDomyślneCo to daje
num_vlm_layers16Uruchamiane jest tylko pierwszych 16 warstw modelu językowego
expert_width_multiplier0.75Ukryty rozmiar eksperta akcji to 75 procent rozmiaru VLM
self_attn_every_n_layers2Samouważność przeplatana z uwagą krzyżową
chunk_size / n_action_steps50 / 50Jedno przejście generuje 50 akcji i wszystkie 50 jest wykonywanych
num_steps10Odszumianie dopasowania przepływu ustalone na 10 kroków
tokenizer_max_length48Instrukcja jest obcinana do 48 tokenów
freeze_vision_encoder / train_expert_onlyTrue / TrueDostrajanie przesuwa eksperta, a nie wieżę wizyjną
optimizer_lr, warmup, decay1e-4, 1000 steps, to 2.5e-6 over 30000Nie jest to przepis z artykułu: jego wstępne szkolenie wykorzystywało 100-etapowe rozgrzewanie przez 200000 kroków

Wstępne szkolenie wykorzystało 481 społecznościowych zbiorów danych LeRobot, 22,9 tys. epizodów i 10,6 mln klatek na 4 procesorach graficznych, 200000 kroków przy globalnej partii 256; artykuł szacuje cały projekt na około 30 tys. godzin GPU. Jedna liczba do obserwacji: blog startowy Hugging Face podaje 487 wyselekcjonowanych zbiorów danych, podczas gdy tabela w artykule mówi o 481. Używamy danych z artykułu i odnotowujemy rozbieżność.

Strona modelu SmolVLA na AY-Robots pokazująca liczbę parametrów, poziom GPU 24 GB, opóźnienie wnioskowania na krok akcji oraz minimalną liczbę epizodów.
Strona SmolVLA platformy: 450 mln parametrów, 245 ms na krok akcji, poziom RTX 4090, minimum 30 epizodów.
BenchmarkSmolVLA 0.45 BSmolVLA 2.25 BPi0ACT
LIBERO średnia, wielozadaniowe87.388.7586.0 (3.3 B, robotics-pretrained)-
Meta-World średnia, wielozadaniowe57.368.2447.9 (3.5 B, robotics-pretrained)-
Prawdziwy SO-100, 3 zadania, szkolenie wielozadaniowe78.3-61.7 (3.5 B)-
Prawdziwy SO-100, 3 zadania, jednorazowe, bez wstępnego szkolenia robotyki40.0--48.3
SO-101 lego pick-place, jednorazowe, w dystrybucji90--70
SO-101 lego pick-place, jednorazowe, poza dystrybucją50--40
Przeczytaj całą tabelę, nie tylko wiersz nagłówka

LIBERO to symulacja i wszystko, co kompetentne, osiąga tam teraz wyniki w okolicach osiemdziesiątki. Wiersz dotyczący prawdziwego SO-100, gdzie model 450 M pokonuje model 3.5 B o 16,6 punktu, jest tym interesującym; wiersz pod nim stanowi przeciwwagę. Po usunięciu wstępnego szkolenia społecznościowego i szkolenia wielozadaniowego ten sam model spada do 40,0, poniżej ACT. Uzasadnione twierdzenie jest takie, że mały model nie jest automatycznie gorszy, a nie że jest lepszy.

Jeden przypadek pomaga: tabela Meta-World z artykułu SmolVLA zawiera własne opublikowane liczby TinyVLA jako punkt odniesienia, więc tym razem oba modele znajdują się w jednej tabeli, SmolVLA-0.45B na poziomie 57.3 w porównaniu do TinyVLA-H na poziomie 31.6. Raportuje również, że szkolenie SmolVLA jest około 40 procent szybsze niż Pi0 przy 6-krotnie mniejszym zużyciu pamięci. Wszystko to pochodzi od autorów SmolVLA; wpis na arenie łączy każdą wartość z jej źródłem.

Gdzie SmolVLA spędza swój czas

AY-Robots wymienia SmolVLA na 245 ms na krok akcji, a ACT na 20 ms w katalogu polityk. TinyVLA raportuje 14 ms na przewidywanie akcji. Te liczby nie są porównywalne, a traktowanie ich jako takie jest najczęstszym błędem w tym temacie: niektóre mierzą jedno przejście w przód, inne dzielą to przejście na fragment, gdy dzielenie akcji na fragmenty je amortyzuje.

  • SmolVLA emituje 50 akcji na jedno przejście w przód i wykonuje wszystkie 50. Przy 30 klatkach na sekundę, które artykuł wykorzystuje na prawdziwych robotach, jedna inferencja obejmuje około 1.7 sekundy ruchu.
  • Asynchroniczna inferencja oblicza następny fragment, podczas gdy bieżący jest nadal wykonywany: średni czas ukończenia zadania 9.7 s w porównaniu do 13.75 s synchronicznie, czyli około 30 procent szybciej, oraz 19 cykli podnoszenia i odkładania w stałym 60-sekundowym oknie w porównaniu do 9.
  • Wskaźniki sukcesu były porównywalne, a nie lepsze: 78.3 synchronicznie w porównaniu do 73.3 asynchronicznie. Asynchroniczność zwiększa przepustowość, nie dokładność.
  • Dzielenie na fragmenty ukrywa opóźnienia obliczeniowe, a nie opóźnienia sieciowe, i sprawia, że polityka jest mniej reaktywna, ponieważ jest zobowiązana do wykonania 50 akcji.
Zdalna inferencja nie jest darmowa, a żadna platforma nie naprawi fizyki

AY-Robots może automatycznie udostępnić pod GPU w chmurze, który obsługuje Twoją politykę, podczas gdy lokalny klient robota komunikuje się z tym punktem końcowym, a pod zawiera bezczynny watchdog, więc niszczy się sam, zamiast cicho naliczać opłaty. Czego nie robi, to nie eliminuje podróży w obie strony przez publiczny internet. Pętla sterowania dla pięciu polityk wynosi od 20 do 485 ms na krok akcji przed jakąkolwiek siecią, więc zdalna inferencja jest wykonalna dla powolnego podnoszenia i odkładania (pick-and-place), ale nie dla szybkiego ruchu reaktywnego.

Tabela porównawcza polityk AY-Robots przedstawiająca GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA i ACT z liczbą parametrów, wymaganą klasą GPU, opóźnieniem inferencji na krok akcji oraz minimalną liczbą epizodów, których każdy potrzebuje
SmolVLA przy ~450 M i ACT przy ~80 M to dwa, które mieszczą się na karcie 24 GB. Pozostałe trzy wymagają A100 lub H100 80 GB.

Dostrajanie SmolVLA na jednej karcie konsumenckiej

Ścieżka manualna, na lerobot 0.6.1, aktualnej wersji PyPI z 23 sierpnia 2026. Wszystko poniżej pochodzi z dokumentacji Hugging Face lerobot SmolVLA, pobranej tego samego dnia; wersja z przewodnikiem jest łagodniejsza.

  1. 1
    Zainstaluj lerobot z dodatkiem smolvla

    Zależności SmolVLA są opcjonalnym dodatkiem, nie są częścią podstawowej instalacji. Zainstalowanie bez nich, a następnie zastanawianie się, dlaczego typ polityki jest nieznany, to często stracone pół godziny.

    bash
    git clone https://github.com/huggingface/lerobot.git
    cd lerobot
    pip install -e ".[smolvla]"
  2. 2
    Uzyskaj zbiór danych z wystarczającą liczbą epizodów

    Dokumentacja zaleca około 50 epizodów i stwierdza, że to samo zadanie z 25 epizodami było niewystarczające. AY-Robots ustala minimum na 30. Nagraj własne, lub zacznij od katalogu zbiorów danych.

    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
    Rozpocznij dostrajanie

    Polecenie z przewodnika lerobot, bez modyfikacji. Dokumentacja szacuje 20000 kroków na około 4 godziny na jednej A100. Na karcie 24 GB spodziewaj się dłuższego czasu i zmierz go.

    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
    Zmniejsz rozmiar partii, aż będzie pasować

    batch_size=64 to udokumentowany przykład, a nie obietnica dotycząca Twojej karty. Dokumentacja zaleca zaczynanie od małych wartości i zwiększanie ich, dopóki czasy ładowania pozostają krótkie.

    bash
    lerobot-train --help
  5. 5
    Wdróż punkt kontrolny na ramieniu

    Ta sama biblioteka, jedno polecenie. Flagi do chunkowania w czasie rzeczywistym są skomentowane w dokumentacji i to po nie należy sięgnąć na sprzęcie o niskiej mocy.

    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
Punkt kontrolny jest rezultatem

Niezależnie od wybranej ścieżki, otrzymasz punkt kontrolny wraz z konfiguracją, która go wygenerowała. Zachowaj rewizję zbioru danych, liczbę kroków i ziarno obok niego. lerobot domyślnie używa ziarna 1000; punkt wejścia do dostrajania GR00T w ogóle nie ujawnia ziarna, więc te uruchomienia nie są odtwarzalne bit po bicie. Mechanika w dokumentacji szkoleniowej.

Dwa sposoby na umieszczenie małego VLA na ramieniu

Jesteś właścicielem maszyny i trybów awarii. Dla SmolVLA jest to rozsądne: jeden dodatek pip, jedno polecenie trenowania, jedno polecenie wdrożenia. Dla TinyVLA jest to reprodukcja badawcza z zamrożonymi pinami, uszkodzoną ścieżką DeepSpeed i konwersją danych, którą piszesz samodzielnie.

  1. Zdobądź kartę 24 GB, nagraj 30 do 50 epizodów, zweryfikuj strumienie z kamer klatka po klatce.
  2. pip install -e ".[smolvla]", lerobot-train przeciwko lerobot/smolvla_base, a następnie udostępnij punkt kontrolny na maszynie, do której podłączone jest ramię.
  3. Dla TinyVLA: oddzielne środowisko conda, konwersja danych do HDF5, rejestracja zadania w constants.py, naprawa ścieżki zero2.json, zmniejszenie train.sh z ośmiu GPU do jednego.
Zalety
  • Brak rozliczeń godzinowych po opłaceniu karty.
  • Inferencja znajduje się obok serwomechanizmów, jedyny sposób na uzyskanie szybkiej pętli sterowania.
  • Możesz łatać kod polityki, a TinyVLA jest dostępny tylko w ten sposób.
Kompromisy
  • Karta 4090 wyklucza każdą politykę ~3 B, więc brak lokalnego porównania z GR00T N1.7 lub Pi0.5.
  • Konfiguracja środowiska to prawdziwa praca. Same piny TinyVLA mogą kosztować dzień.
  • Brak kolejki, brak ponownych prób, brak przechowywania punktów kontrolnych. Restart na kroku 14000 oznacza rozpoczęcie od nowa.

Kiedy mały model jest złym wyborem

Obie prace są tutaj bardziej ostrożne niż ich streszczenia. Analiza błędów TinyVLA jest specyficzna: wariant 0.4 B trzykrotnie zawiódł, błędnie interpretując instrukcję, co autorzy przypisują ograniczonej zdolności rozumienia języka w mniejszym VLM, a ten tryb zniknął przy 1.3 B. SmolVLA pokazuje tę samą krzywą z drugiej strony: wersja 2.25 B identycznej architektury uzyskuje 88.75 punktów w LIBERO i 68.24 w Meta-World, w porównaniu do 87.3 i 57.3 dla modelu 0.45 B.

Wybór VLA poniżej 1 B
Gdzie wygrywa
  • Pasuje na kartę 24 GB, co obniża koszt eksperymentu z dziesiątek dolarów do kilku.
  • Wystarczająco szybki, aby działać obok ramienia, więc brak skoku sieciowego w pętli sterowania.
  • Dostraja się na danych, które może nagrać jedna osoba, dziesiątki epizodów zamiast tysięcy.
  • Wagi, lista danych i kod SmolVLA są publiczne, więc zły wynik można debugować.
Gdzie przegrywa
  • Słabsze wykonywanie instrukcji: mniej parametrów językowych, mniejsza zdolność do rozróżniania podobnych wyrażeń referencyjnych.
  • Mniejsza generalizacja przestrzenna i wizualna do konfiguracji, których nie nagrano.
  • Bardziej wrażliwy na defekty w zbiorze danych, z mniejszą ilością wcześniejszego wstępnego trenowania, na które można się oprzeć.
  • Praca wielozadaniowa i długoterminowa nadal faworyzuje większe modele, w tym własny wariant 2.25 B SmolVLA.

Porównanie, które warto przeprowadzić, to nie TinyVLA kontra SmolVLA. To SmolVLA kontra ACT na Twoim własnym zadaniu, a artykuł SmolVLA jest argumentem, dlaczego. Trenowany jednorazowo bez wstępnego trenowania robotyki, SmolVLA uzyskał średnio 40.0 punktów w trzech zadaniach SO-100, gdzie jednorazowy ACT osiągnął 48.3. To, co podnosi go do 78.3, to wstępne trenowanie społecznościowe plus trenowanie wielozadaniowe, a nie sama architektura. W zadaniu SO-101 z klockami lego, oba jednorazowe, SmolVLA wygrywa: 90 do 70 w dystrybucji. Następnie SmolVLA kontra Pi0.5 jeśli budżet na to pozwala.

Przy tej wielkości, zbiór danych decyduje o wyniku

Mniej jest wstępnego treningu, aby pokryć złe dane, więc czysta krzywa strat na wadliwym zbiorze danych daje politykę, która pewnie odtwarza wadę. Dokumentacja lerobot jest dosadna co do struktury: 50 epizodów w 5 pozycjach kostki, 10 na pozycję, zadziałało; 25 nie. Jeśli straty wyglądają dobrze, a ramię nie robi nic użytecznego, zacznij od spadające straty, polityka nic nie robi, polityka działa tylko w jednej konfiguracji lub zbieranie danych treningowych VLA, które są faktycznie użyteczne.

Pięć polityk, jedna tabela porównawcza

GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA i ACT z rzeczywistą liczbą parametrów, opóźnieniem wnioskowania na krok akcji, wymaganą klasą GPU i minimalną liczbą epizodów, zanim zaczną robić coś użytecznego.

Porównaj polityki

Tabela decyzyjna, na podstawie której możesz działać

Twoja sytuacjaZacznij odDlaczego
Jedno zadanie, dobre demonstracje, bez językaACT~80 M, 20 ms, karta 24 GB, brak modelu bazowego do pobrania
Kilka powiązanych zadań, po jednej instrukcji do każdegoSmolVLA450 M, w lerobot, minimum 30 epizodów, 1 do 3 USD za uruchomienie
Specyficzne odtworzenie wyniku TinyVLATinyVLA-B lub TinyVLA-HRepozytorium to jedyna droga: izolowane środowisko, przekonwertowane dane
Wielozadaniowość, zróżnicowane instrukcje, budżet A100GR00T N1.7 lub Pi0.5~3 B, 152 ms i 485 ms na krok, 4 do 12 USD za uruchomienie
Brak robotaSteruj prawdziwym ramieniemRamię na żywo oparte na kolejce nie wymaga rejestracji ani sprzętu

Dla ostatniego wiersza, ramię na żywo przesyła obraz fizycznego SO-100, którym można sterować z przeglądarki bez konta, a trzy sposoby na rozpoczęcie obejmują resztę. SO-100 to ramię referencyjne, kosztujące około 110 do 150 EUR w częściach, z pełnym przewodnikiem konfiguracji.

Co następuje po modelach poniżej 1 B

Zmniejszenie liczby parametrów to jeden ze sposobów na obniżenie kosztów VLA i niekoniecznie ten zwycięski. OpenVLA-OFT (arXiv 2502.19645) zachowuje rdzeń 7 B i zmienia jedynie sposób dekodowania akcji, zgłaszając 26-krotny wzrost przepustowości generowania akcji i wzrost LIBERO z 76,5 do 97,1 procent. BitVLA (arXiv 2506.07530) sprawia, że każda waga 1-bitowego rdzenia BitNet b1.58 2B4T jest trójstanowa, zgłaszając 11,0x mniejsze zużycie pamięci i 4,4x niższe opóźnienie end-to-end, jednocześnie dorównując pełnej precyzji OpenVLA-OFT. X-VLA-0.9B (arXiv 2510.10274) plasuje się na linii 1 B z dopasowaniem przepływu.

Wspólny wątek: to dekoder akcji, a nie model językowy, jest źródłem opóźnień. Zapytaj, jak polityka emituje akcje, zanim zapytasz, ile ma parametrów. arena zawiera 85 modeli i 332 wyniki, każdy połączony ze swoim źródłem; szerszy przegląd znajduje się w naszym wprowadzeniu do VLA.

Czy mogę dostroić SmolVLA na karcie RTX 4090?

Tak. SmolVLA ma 450 M parametrów, a AY-Robots uruchamia go na poziomie RTX 4090 / 24 GB. Przykład lerobot używa --batch_size=64, co jest przykładem, a nie gwarancją dla Twojej karty; dokumentacja zaleca zaczynanie od małych wartości i zwiększanie ich, dopóki czasy ładowania pozostają krótkie. Spodziewaj się dłuższych czasów niż około 4 godziny, które dokumentacja podaje dla 20000 kroków na A100.

Czy TinyVLA jest dostępny w lerobot lub na AY-Robots?

Nie, na oba pytania. TinyVLA istnieje tylko w swoim repozytorium badawczym, ostatni commit 11 marca 2025, a jego format to HDF5 w stylu ACT, a nie LeRobot. AY-Robots trenuje GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA i ACT. Jeśli chcesz TinyVLA, musisz zbudować go samodzielnie i najpierw naprawić ścieżkę konfiguracji DeepSpeed w scripts/train.sh.

Czy model 450 M jest naprawdę konkurencyjny z modelem 3 B?

Według własnych benchmarków autorów, tak: 87.3 wobec 86.0 na LIBERO w porównaniu z Pi0 wstępnie wytrenowanym w robotyce o rozmiarze 3.3 B, oraz 78.3 wobec 61.7 w trzech rzeczywistych zadaniach SO-100, gdzie ta sama praca oznacza Pi0 jako 3.5 B. Ograniczenie jest w tej samej pracy: w zadaniach jednokrotnych bez wstępnego trenowania w robotyce, SmolVLA spada do 40.0, poniżej 48.3 ACT.

Ile epizodów potrzebuję, zanim mały VLA zacznie działać?

AY-Robots ustala minimum dla SmolVLA na 30 epizodów, a dla ACT na 50. Dokumentacja lerobot zaleca około 50 i podaje, że 25 było niewystarczające dla tego samego zadania. Struktura ma takie samo znaczenie jak liczba: zestaw z pracy używał 5 pozycji kostek po 10 epizodów każda.

Dlaczego opublikowane liczby opóźnień tak bardzo się różnią?

Mierzą różne rzeczy. TinyVLA podaje 14 ms na predykcję akcji na A6000; AY-Robots wymienia SmolVLA na 245 ms, a ACT na 20 ms na krok akcji. Niektóre dane obejmują jedno przejście w przód, niektóre dzielą przejście na 50-akcyjny fragment, a prawie żadne nie obejmują przechwytywania obrazu z kamery ani zapisu do serwomechanizmów.

Czy wnioskowanie w chmurze rozwiązuje problem z GPU?

Częściowo. AY-Robots automatycznie udostępnia pod, który obsługuje politykę, podczas gdy lokalny klient komunikuje się z tym punktem końcowym, z bezczynnym watchdogiem, dzięki czemu niszczy się sam, zamiast cicho naliczać opłaty. Nie może wyeliminować podróży w obie strony przez publiczny internet, a pętla sterowania wynosi już od 20 do 485 ms na krok akcji. Dobre dla wolnego podnoszenia i odkładania, nie dla szybkiego ruchu reaktywnego.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started