Die AY-Robots Richtlinien-Vergleichstabelle mit Parameteranzahlen, GPU-Stufen und Inferenzlatenz für GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA und ACT
SmolVLATinyVLAKleines VLAVerbraucher-GPULeRobot

Kleine VLA-Modelle: TinyVLA, SmolVLA und der Fall unter 1 Milliarde Parameter

AY-Robots Research23. August 202619 Min. Lesezeit

TinyVLA und SmolVLA bringen ein funktionierendes VLA unter 1 Milliarde Parameter. Echte Zahlen aus beiden Papieren, die LeRobot-Standardeinstellungen, gemessene Latenz und was ein Durchlauf auf einer 24-GB-Karte kostet.

Fast jedes Vision-Sprach-Aktions-Modell, über das geschrieben wird, setzt eine Rechenzentrumskarte voraus. OpenVLA hat 7 Milliarden Parameter. GR00T N1.7 und Pi0.5 haben etwa 3 Milliarden Parameter und benötigen eine A100 80 GB zum Fine-Tuning. Wenn die Karte auf Ihrem Schreibtisch eine 4090 ist, ist diese Modellklasse unerreichbar.

Zwei Veröffentlichungen argumentieren, dass dies nicht notwendig ist. TinyVLA (arXiv 2409.12514, angenommen von IEEE Robotics and Automation Letters im Februar 2025) erstellt ein VLA aus einem 400 Millionen bis 1,3 Milliarden Parameter starken Backbone plus einem Diffusions-Aktions-Head. SmolVLA (arXiv 2506.01844, eingereicht am 2. Juni 2025) liefert 450 Millionen Parameter mit offenen Gewichten, offenen Daten und einem Skript, das auf einer einzigen Consumer-Karte läuft. Hier ist, was beide gemessen haben und wo das Argument für Modelle unter 1 Milliarde Parametern nicht mehr standhält.

Was Sie wissen müssen

  • TinyVLA wird in drei Größen geliefert: 422 Millionen insgesamt mit 101 Millionen trainierbaren Parametern, 740 Millionen mit 138 Millionen, 1,3 Milliarden mit 143 Millionen. Nur die ersten beiden liegen unter 1 Milliarde.
  • Tabelle IV misst 14 ms pro Aktionsvorhersage für TinyVLA-1B auf einer A6000, gegenüber 292 ms für OpenVLA-7B und 140 ms für ein verkleinertes OpenVLA-1B.
  • Der Head ist für diese Geschwindigkeit verantwortlich, nicht der Backbone: Tauscht man den Diffusions-Head von TinyVLA-H gegen einen ACT-Head aus, sinken die fünf realen Roboteraufgaben von einem Durchschnitt von 94,0 in den einstelligen Bereich. Ein MLP-Head erzielt überall 0 Punkte.
  • SmolVLA hat 450 Millionen Parameter, davon etwa 100 Millionen der Aktions-Experte, vortrainiert auf 481 Community LeRobot-Datensätzen und 10,6 Millionen Frames. Es erreicht 87,3 auf LIBERO gegenüber 86,0 für ein robotik-vortrainiertes Pi0 mit 3,3 Milliarden Parametern und 78,3 bei drei realen SO-100-Aufgaben gegenüber 61,7 für Pi0 mit 3,5 Milliarden Parametern.
  • Ohne dieses Vortraining, nur für eine einzelne Aufgabe trainiert, fällt SmolVLA bei diesen Aufgaben auf 40,0, unter ACTs 48,3. Klein ist nicht automatisch einfach.
  • TinyVLA hat keine LeRobot-Integration und verwendet einen CUDA 11.7 Wheel-Stack. SmolVLA ist in lerobot verfügbar und kostet hier etwa 1 bis 3 USD pro Lauf auf der 24 GB-Stufe.

Was tatsächlich als kleines VLA zählt

Die Parameteranzahl auf einer Modellkarte ist keine einzelne Zahl. Sie kann Gesamtgewichte, beim Inferieren geladene Gewichte oder Gewichte bedeuten, die während des Gradienten erhalten. TinyVLA meldet beides, und der Unterschied ist groß: TinyVLA-H hat insgesamt 1,3 B, aber 143 M trainierbare Parameter, da der Vision Tower und der größte Teil des Sprachmodells eingefroren bleiben, während LoRA-Adapter und der Action Head sich bewegen. Das Paper beziffert den trainierbaren Anteil auf etwa 5 Prozent.

ModellParameterBackboneAktionskopfQuelle
TinyVLA-S422 M insgesamt, 101 M trainierbarLlava-Pythia ~400 MDiffusion (droid_diffusion U-Net)arXiv 2409.12514
TinyVLA-B740 M insgesamt, 138 M trainierbarLlava-Pythia ~700 MDiffusionarXiv 2409.12514
TinyVLA-H1.3 B insgesamt, 143 M trainierbarLlava-Pythia ~1.3 BDiffusionarXiv 2409.12514
SmolVLA450 M, ~100 M Aktions-ExperteSmolVLM2-500M-Video-InstructFlow-Matching-ExpertearXiv 2506.01844
Octo-Small27 MViT-S-Skala, T5-Base Text-EncoderDiffusionocto-small-1.5 card
ACT~80 MResNet, kein SprachmodellDirekte Chunk-RegressionAY-Robots catalog
OpenVLA7 BLlama 2 7 B, DINOv2 und SigLIP EncoderAutoregressive Aktions-TokensarXiv 2406.09246

Zwei Zeilen sind diskussionswürdig. mit ungefähr 80 M ist kleiner als alles andere hier, hat aber kein Sprachmodell, ist also kein VLA: Es lernt eine Aufgabe und kann nicht angewiesen werden, eine andere zu erledigen. mit 27 M wird über einen T5-Base Text-Encoder konditioniert, nicht über ein LLM-Backbone. Gute Baselines, aber keine bietet die Anweisungsbefolgung, die das Label impliziert.

Die 1-B-Linie ist willkürlich

TinyVLA-H, die Variante mit den Schlagzeilen-Ergebnissen, hat 1,3 B und liegt über der Linie. Die bessere Frage ist, ob ein Modell während des Trainings in 24 GB passt und Ihre Kontrollrate beim Inferieren erreicht. Die fünf Richtlinien, die Sie hier trainieren können, finden Sie auf der Richtlinienseite; TinyVLA hat einen Arena-Eintrag, wenn Sie seine Zahlen neben denen aller anderen sehen möchten.

TinyVLA: Die Geschwindigkeit kommt vom Kopf, nicht vom Backbone

Die offensichtliche Lesart ist, dass sie das Sprachmodell kleiner gemacht haben, wodurch es schneller wurde. Die Ablationsstudie des Papers besagt jedoch etwas anderes. Der Austausch des 7 B Backbones von OpenVLA durch ein etwa 1 B großes reduzierte die Vorhersage pro Aktion von 292 ms auf 140 ms, ein 2-facher Gewinn. TinyVLA-H läuft bei vergleichbarer Parameteranzahl mit 14 ms auf derselben Karte. Der andere 10-fache Faktor ist der Aktionskopf.

ModellVorhersage pro AktionGemessen auf
OpenVLA-7B292 mssingle A6000
OpenVLA-1B, backbone swapped for TinyVLA's140 mssingle A6000
TinyVLA-1B (TinyVLA-H)14 mssingle A6000

OpenVLA gibt Aktionen als diskretisierte Token über den Sprachmodellkopf aus, einen pro Aktionsdimension, autoregressiv. TinyVLA verwendet einen Diffusions-Decoder, der den gesamten Block in einem Durchgang erzeugt. Tabelle V zeigt die Architektur von TinyVLA-H und tauscht nur den Kopf aus, auf denselben fünf realen Roboteraufgaben. Es ist der sauberste Beweis in beiden Papern für das Argument, das Flow-Matching Richtlinien liefern, und der Grund, warum Pi0 von der Token-Dekodierung abwich.

Leistung auf TinyVLA-HTennisball platzierenTasse umdrehenWürfel stapelnSchublade schließenKiste öffnen
Diffusion (droid_diffusion)90.098.398.396.786.7
Action Chunking Transformer13.38.38.313.323.3
Mehrschichtiges Perzeptron00000
Was die TinyVLA-Zahlen abdecken

Die Zahlen von 292 / 140 / 14 ms stammen aus Tabelle IV, alle auf einer A6000. Sie beziehen sich auf die Vorhersage pro Aktion und schließen Kameraerfassung, Vorverarbeitung und das serielle Schreiben an die Servos aus. Betrachten Sie die veröffentlichte Latenz als Untergrenze, niemals als Regelrate. Unsere eigenen Zahlen unterliegen derselben Einschränkung: siehe Inferenzlatenz.

Was TinyVLA erreichte

BenchmarkProtokollTinyVLA-HBaselines
MetaWorld, 50 Aufgaben, SimulationMulti-Task, 50 Demos, 3 Seeds77.6 / 21.5 / 11.4 / 15.8 nach Schwierigkeitsgrad, Durchschnitt 31.6Diffusion Policy Durchschnitt 10.5
Echter Franka Panda, 5 Aufgaben100 Trajektorien pro Aufgabe, 20 Versuche94.0 DurchschnittOpenVLA 68.3, Diffusion Policy 35.3
Bimanualer UR5, 3 AufgabenMulti-Task, 10 Versuche pro Aufgabe76.7 / 36.7 / 30.0OpenVLA 0 / 0 / 0, Diffusion Policy 40.3 / 31.3 / 43.0

Die bimanuelle Reihe hat eine langweilige Erklärung, die das Paper selbst liefert: OpenVLA ist auf Open X-Embodiment vortrainiert, das ausschließlich aus Einarmdaten besteht, sodass ein Zweiarm-Aktionsraum außerhalb der Verteilung liegt und null Punkte erzielt. Die Diffusion-Policy-Baseline schlägt TinyVLA-H bei zwei dieser drei Aufgaben. Hintergrund in dem Open X-Embodiment-Bericht.

Die AY-Robots Arena-Bestenliste, eine sortierbare Tabelle von 85 VLA-Modellen mit 332 Benchmark-Ergebnissen, wobei jeder Wert mit dem Paper oder der Modellkarte verknüpft ist, aus der er stammt
Benchmark-Zahlen über Modelle hinweg sind nur vergleichbar, wenn man sehen kann, woher jede einzelne stammt.

Das TinyVLA-Repository, Stand August 2026

Das Paper ist gut. Der Code ist ein Forschungs-Drop. Das Repository ist github.com/liyaxuanliyaxuan/TinyVLA; die README datiert die Code-Veröffentlichung auf den 17. Februar 2025 und den letzten Commit auf den 11. März 2025. Gut zur Reproduktion eines Papers, ein Problem, wenn man eine gewartete Bibliothek wollte.

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 .
Die Installationssequenz aus der TinyVLA README, überprüft anhand des Repositorys am 23.08.2026.
Die Abhängigkeits-Pins sind die Falle, die einen Tag kostet

requirements.txt fixiert torch==2.0.1, transformers==4.37.1, deepspeed==0.9.5, peft==0.4.0, diffusers==0.11.1, numpy==1.24.4 und den CUDA-Stack auf die 11.x Wheels: nvidia-cuda-runtime-cu11==11.7.99, nvidia-cudnn-cu11==8.5.0.96, triton==2.0.0. Die README fordert Python 3.10; lerobot 0.6.1 benötigt 3.12 oder neuer, sodass die beiden keine Umgebung teilen können. Bestätigen Sie zuerst, dass ein torch 2.0.1 Build für Ihre GPU-Generation existiert. Falls ein Lauf stattdessen aufgrund von VRAM-Mangel abbricht, ist die Checkliste für Speichermangel schneller als Raten.

TinyVLA liest auch keine LeRobot Datensätze. Sein Format ist HDF5 im ACT-Stil: action, language_raw und eine Observations-Gruppe mit Multi-View-Bildern, joint_positions, qpos und qvel. Das Repository liefert data_utils/rlds_to_h5py.py für RLDS-Eingaben, und jede Aufgabe wird manuell in aloha_scripts/constants.py mit ihrem dataset_dir, episode_len und camera_names registriert. Wenn Ihre Episoden von lerobot oder dem Desktop-Client stammen, sind Sie für die Konvertierung verantwortlich.

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
Gekürzt aus scripts/train.sh. Jedes oben genannte Flag und jeder Wert ist in der mitgelieferten Datei enthalten.
  • --num_gpus=8 geht von einem Acht-Karten-Knoten aus. Setzen Sie ihn auf 1 und reduzieren Sie die Batch-Größe deutlich unter 32. Es wird keine Single-GPU-Variante upstream ausgeliefert, daher kann der Befehl nicht wörtlich auf einer 4090 ausgeführt werden.
  • --deepspeed scripts/zero2.json verweist auf eine Datei, die sich nicht im obersten Skriptverzeichnis befindet. Die DeepSpeed-Konfigurationen werden unter llava-pythia/scripts/zero2.json ausgeliefert. Korrigieren Sie den Pfad vor dem ersten Ausführen.
  • Die README erfordert, dass der Name des Ausgabeverzeichnisses llava_pythia enthält, plus lora, wenn LoRA aktiviert ist.
  • Das Backbone ist ein separater Download: lesjie/Llava-Pythia-400M, -700M oder -1.3B. Es gibt keinen einzelnen Basis-Checkpoint, auf den Sie eine Policy verweisen können, so wie Sie auf lerobot/smolvla_base verweisen.

SmolVLA: das Sub-1-B-Modell, das Sie heute Nachmittag ausführen können

SmolVLA vertritt dasselbe Argument innerhalb einer gewarteten Bibliothek. Es hat 450 M Parameter auf einem SmolVLM2-500M-Video-Instruct-Backbone, und die Effizienz ergibt sich aus Einstellungen, die Sie aus configuration_smolvla.py auslesen können, anstatt aus der Behauptung, klein zu sein.

Einstellung in configuration_smolvla.pyStandardVorteil
num_vlm_layers16Es laufen nur die ersten 16 Sprachmodell-Layer
expert_width_multiplier0.75Die verborgene Größe des Aktions-Experten beträgt 75 Prozent der des VLM
self_attn_every_n_layers2Self-Attention verschachtelt mit Cross-Attention
chunk_size / n_action_steps50 / 50Ein Durchlauf erzeugt 50 Aktionen und alle 50 werden ausgeführt
num_steps10Flow-Matching-Denoising auf 10 Schritte festgelegt
tokenizer_max_length48Die Anweisung wird auf 48 Token gekürzt
freeze_vision_encoder / train_expert_onlyTrue / TrueFeinabstimmung bewegt den Experten, nicht den Vision-Tower
optimizer_lr, warmup, decay1e-4, 1000 steps, to 2.5e-6 over 30000Nicht das Rezept des Papers: sein Vortraining verwendete einen 100-Schritte-Warmup über 200000 Schritte

Das Vortraining nutzte 481 LeRobot-Community-Datensätze, 22,9 K Episoden und 10,6 M Frames auf 4 GPUs, 200000 Schritte bei einer globalen Batch-Größe von 256; das Paper beziffert das gesamte Projekt auf etwa 30 K GPU-Stunden. Eine Zahl, die man beachten sollte: Der Hugging Face Launch-Blog spricht von 487 kuratierten Datensätzen, während die Tabelle des Papers 481 angibt. Wir verwenden die Zahl aus dem Paper und weisen auf die Diskrepanz hin.

Die SmolVLA-Modellseite auf AY-Robots, die die Parameteranzahl, die 24 GB GPU-Klasse, die Inferenzlatenz pro Aktionsschritt und die minimale Episodenanzahl zeigt
Die SmolVLA-Seite der Plattform: 450 M Parameter, 245 ms pro Aktionsschritt, RTX 4090-Klasse, mindestens 30 Episoden.
BenchmarkSmolVLA 0.45 BSmolVLA 2.25 BPi0ACT
LIBERO Durchschnitt, Multi-Task87.388.7586.0 (3.3 B, robotics-pretrained)-
Meta-World Durchschnitt, Multi-Task57.368.2447.9 (3.5 B, robotics-pretrained)-
Real SO-100, 3 Aufgaben, Multi-Task-Training78.3-61.7 (3.5 B)-
Real SO-100, 3 Aufgaben, Single-Task, kein Robotik-Vortraining40.0--48.3
SO-101 Lego Pick-and-Place, Single-Task, in Verteilung90--70
SO-101 Lego Pick-and-Place, Single-Task, außerhalb der Verteilung50--40
Lesen Sie die gesamte Tabelle, nicht nur die Überschriftenzeile

LIBERO ist eine Simulation, und alles Kompetente erzielt dort jetzt Werte in den Achtzigern. Die Zeile „Real SO-100“, in der ein 450 M Modell ein 3,5 B Modell um 16,6 Punkte schlägt, ist die interessante; die Zeile darunter ist das Gegengewicht. Entzieht man das Community-Vortraining und das Multi-Task-Training, fällt dasselbe Modell auf 40,0, unter ACT. Die vertretbare Behauptung ist, dass ein kleines Modell nicht automatisch schlechter ist, nicht dass es besser ist.

Ein Zufall hilft: Die Meta-World-Tabelle des SmolVLA-Papers führt die eigenen veröffentlichten Zahlen von TinyVLA als Baseline auf, sodass ausnahmsweise beide Modelle in einer Tabelle stehen, SmolVLA-0.45B bei 57.3 gegenüber TinyVLA-H bei 31.6. Es wird auch berichtet, dass das Training von SmolVLA etwa 40 Prozent schneller ist als das von Pi0 bei 6x weniger Speicher. All dies stammt von den SmolVLA-Autoren; der Arena-Eintrag verlinkt jeden Wert zu seiner Quelle.

Wofür SmolVLA seine Zeit aufwendet

AY-Robots listet SmolVLA mit 245 ms pro Aktionsschritt und ACT mit 20 ms im Policy-Katalog. TinyVLA meldet 14 ms pro Aktionsvorhersage. Diese Zahlen sind nicht vergleichbar, und sie so zu behandeln, als wären sie es, ist der häufigste Fehler in diesem Bereich: einige messen einen Forward-Pass, andere teilen diesen Pass über einen Chunk auf, sobald Aktions-Chunking es amortisiert.

  • SmolVLA gibt 50 Aktionen pro Forward-Pass aus und führt alle 50 aus. Bei den 30 fps, die das Paper auf realen Robotern verwendet, deckt eine Inferenz etwa 1,7 Sekunden Bewegung ab.
  • Asynchrone Inferenz berechnet den nächsten Chunk, während der aktuelle noch ausgeführt wird: 9,7 s durchschnittliche Aufgabenbearbeitung gegenüber 13,75 s synchron, etwa 30 Prozent schneller, und 19 Pick-and-Place-Zyklen in einem festen 60-Sekunden-Fenster gegenüber 9.
  • Die Erfolgsraten waren vergleichbar und nicht besser, 78.3 synchron gegenüber 73.3 asynchron. Asynchronität erhöht den Durchsatz, nicht die Genauigkeit.
  • Chunking verbirgt Rechenlatenz, nicht Netzwerklatenz, und es macht die Policy weniger reaktiv, da sie auf 50 Aktionen festgelegt ist.
Remote-Inferenz ist nicht kostenlos, und keine Plattform behebt physikalische Grenzen

AY-Robots kann einen Cloud-GPU-Pod automatisch bereitstellen, der Ihre Policy bedient, während der lokale Roboter-Client mit diesem Endpunkt kommuniziert, und der Pod verfügt über einen Idle-Watchdog, sodass er sich selbst zerstört, anstatt stillschweigend abzurechnen. Was er nicht tut, ist die Entfernung des Roundtrips über das öffentliche Internet. Die Regelschleife über die fünf Policies hier beträgt 20 bis 485 ms pro Aktionsschritt, noch bevor überhaupt ein Netzwerk beteiligt ist, daher ist Remote-Inferenz für langsames Pick-and-Place praktikabel, nicht aber für schnelle reaktive Bewegungen.

Die AY-Robots Vergleichstabelle der Policies, die GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA und ACT mit Parameteranzahlen, erforderlicher GPU-Klasse, Inferenzlatenz pro Aktionsschritt und der minimalen Anzahl benötigter Episoden zeigt.
SmolVLA mit ~450 M und ACT mit ~80 M sind die beiden, die auf eine 24 GB Karte passen. Die anderen drei benötigen eine A100 oder H100 80 GB.

Fine-Tuning von SmolVLA auf einer Consumer-Karte

Der manuelle Pfad, auf lerobot 0.6.1, der aktuellen PyPI-Veröffentlichung vom 23. August 2026. Alles Folgende stammt aus der Hugging Face lerobot SmolVLA Dokumentation, am selben Tag abgerufen; die geführte Version ist einfacher.

  1. 1
    Lerobot mit dem SmolVLA-Extra installieren

    Die SmolVLA-Abhängigkeiten sind ein optionales Extra und nicht Teil der Basisinstallation. Eine Installation ohne sie und das anschließende Rätseln, warum der Richtlinientyp unbekannt ist, führt häufig zu einer halben Stunde Zeitverlust.

    bash
    git clone https://github.com/huggingface/lerobot.git
    cd lerobot
    pip install -e ".[smolvla]"
  2. 2
    Einen Datensatz mit genügend Episoden beschaffen

    Die Dokumentation empfiehlt etwa 50 Episoden und besagt, dass dieselbe Aufgabe mit 25 Episoden nicht ausreichte. AY-Robots setzt das Minimum bei 30 an. Nehmen Sie Ihre eigenen auf oder beginnen Sie im Datensatzverzeichnis.

    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
    Das Fine-Tuning starten

    Der Befehl aus dem Lerobot-Leitfaden, unverändert. Die Dokumentation gibt 20000 Schritte mit etwa 4 Stunden auf einer A100 an. Auf einer 24-GB-Karte ist mit längerer Dauer zu rechnen und diese zu messen.

    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
    Batch-Größe reduzieren, bis sie passt

    batch_size=64 ist ein dokumentiertes Beispiel, keine Garantie für Ihre Karte. Die Dokumentation rät, klein anzufangen und die Größe zu erhöhen, solange die Ladezeiten kurz bleiben.

    bash
    lerobot-train --help
  5. 5
    Den Checkpoint auf dem Arm ausrollen

    Dieselbe Bibliothek, ein Befehl. Die Echtzeit-Chunking-Flags sind in der Dokumentation auskommentiert und sind die, die man bei Hardware mit geringer Leistung verwenden sollte.

    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
Der Checkpoint ist das Ergebnis

Welchen Weg Sie auch einschlagen, Sie erhalten einen Checkpoint plus die Konfiguration, die ihn erzeugt hat. Bewahren Sie die Datensatzrevision, die Schrittzahl und den Seed daneben auf. Lerobot verwendet standardmäßig Seed 1000; der Fine-Tuning-Einstiegspunkt von GR00T legt überhaupt keinen Seed offen, sodass diese Läufe nicht bit-für-bit reproduzierbar sind. Details finden Sie in den Trainingsdokumenten.

Zwei Wege, ein kleines VLA auf einen Arm zu bringen

Sie besitzen die Maschine und kennen die Fehlermodi. Für SmolVLA ist das vernünftig: ein Pip-Extra, ein Trainingsbefehl, ein Rollout-Befehl. Für TinyVLA ist es eine Forschungsreproduktion mit festen Pins, einem defekten DeepSpeed-Pfad und einer Datenkonvertierung, die Sie selbst schreiben.

  1. Besorgen Sie sich eine 24-GB-Karte, nehmen Sie 30 bis 50 Episoden auf, überprüfen Sie die Kamerastreams Bild für Bild.
  2. pip install -e ".[smolvla]", lerobot-train gegen lerobot/smolvla_base, dann den Checkpoint auf der Maschine bereitstellen, an die der Arm angeschlossen ist.
  3. Für TinyVLA: separate Conda-Umgebung, Daten nach HDF5 konvertieren, die Aufgabe in constants.py registrieren, den zero2.json-Pfad korrigieren, train.sh von acht GPUs auf eine reduzieren.
Vorteile
  • Keine stündliche Abrechnung, sobald die Karte bezahlt ist.
  • Die Inferenz befindet sich direkt neben den Servos, die einzige Möglichkeit, eine schnelle Regelschleife zu erhalten.
  • Sie können den Richtliniencode patchen, und TinyVLA ist nur auf diese Weise verfügbar.
Kompromisse
  • Eine 4090 schließt jede ~3-B-Richtlinie aus, daher kein lokaler Vergleich mit GR00T N1.7 oder Pi0.5.
  • Die Einrichtung der Umgebung ist die eigentliche Arbeit. Allein die Pins von TinyVLA können einen Tag kosten.
  • Keine Warteschlange, kein Wiederholungsversuch, keine Checkpoint-Speicherung. Ein Neustart bei Schritt 14000 bedeutet, von vorne zu beginnen.

Wenn ein kleines Modell die falsche Wahl ist

Beide Artikel sind hier vorsichtiger als die Zusammenfassungen. Die Fehleranalyse von TinyVLA ist spezifisch: Die 0,4-B-Variante scheiterte dreimal durch falsches Lesen der Anweisung, was die Autoren auf ein begrenztes Sprachverständnis im kleineren VLM zurückführen, und dieser Modus verschwand bei 1,3 B. SmolVLA zeigt dieselbe Kurve vom anderen Ende: Die 2,25-B-Version der identischen Architektur erzielt 88,75 auf LIBERO und 68,24 auf Meta-World gegenüber 87,3 und 57,3 für das 0,45-B-Modell.

Wahl eines VLA unter 1 B
Wo es gewinnt
  • Passt auf eine 24-GB-Karte, was die Kosten eines Experiments von mehreren Dutzend Dollar auf ein paar reduziert.
  • Schnell genug, um neben dem Arm zu laufen, sodass kein Netzwerksprung in der Steuerungsschleife erforderlich ist.
  • Feinabstimmung mit Daten, die eine Person aufzeichnen kann, Dutzende von Episoden statt Tausende.
  • SmolVLAs Gewichte, Datenliste und Code sind öffentlich, sodass ein schlechtes Ergebnis debuggbar ist.
Wo es verliert
  • Schwächere Befolgung von Anweisungen: weniger Sprachparameter, geringere Fähigkeit, ähnliche referenzielle Ausdrücke zu unterscheiden.
  • Geringere räumliche und visuelle Generalisierung auf nicht aufgezeichnete Setups.
  • Empfindlicher gegenüber Datensatzfehlern, mit weniger Vortraining, auf das zurückgegriffen werden kann.
  • Multi-Task- und Langzeitaufgaben bevorzugen weiterhin größere Modelle, einschließlich SmolVLAs eigener 2,25-B-Variante.

Der Vergleich, der sich lohnt, ist nicht TinyVLA gegen SmolVLA. Es ist SmolVLA gegen ACT für Ihre eigene Aufgabe, und der SmolVLA-Artikel ist das Argument dafür. Als Ein-Aufgaben-Modell ohne Robotik-Vortraining erreichte SmolVLA durchschnittlich 40,0 über drei SO-100-Aufgaben, während ein Ein-Aufgaben-ACT 48,3 erreichte. Was es auf 78,3 hebt, ist Community-Vortraining plus Multi-Task-Training, nicht die Architektur allein. Bei der SO-101 Lego-Aufgabe, beide Ein-Aufgaben-Modelle, gewinnt SmolVLA: 90 gegen 70 in der Verteilung. Dann SmolVLA gegen Pi0.5 wenn das Budget es zulässt.

Bei dieser Größe entscheidet der Datensatz über das Ergebnis

Es gibt weniger Vortraining, um schlechte Daten abzudecken, daher liefert eine saubere Verlustkurve auf einem fehlerhaften Datensatz eine Richtlinie, die den Fehler zuverlässig reproduziert. Die lerobot-Dokumentation ist sehr direkt bezüglich der Struktur: 50 Episoden über 5 Würfelpositionen, 10 pro Position, funktionierten; 25 nicht. Wenn der Verlust gut aussieht und der Arm nichts Nützliches tut, beginnen Sie bei Verlust fällt, Richtlinie tut nichts, Richtlinie funktioniert nur in einem Setup oder Sammeln von tatsächlich nutzbaren VLA-Trainingsdaten.

Fünf Richtlinien, eine Vergleichstabelle

GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA und ACT mit realen Parameterzahlen, Inferenzlatenz pro Aktionsschritt, der benötigten GPU-Klasse und der minimalen Episodenanzahl, bevor sie etwas Nützliches tun.

Richtlinien vergleichen

Eine Entscheidungstabelle, nach der Sie handeln können

Ihre SituationBeginnen Sie mitWarum
Eine Aufgabe, gute Demonstrationen, keine SpracheACT~80 M, 20 ms, 24 GB Karte, kein Basismodell zum Herunterladen
Einige verwandte Aufgaben, jeweils eine AnweisungSmolVLA450 M, in lerobot, mindestens 30 Episoden, 1 bis 3 USD pro Lauf
Das TinyVLA-Ergebnis spezifisch reproduzierenTinyVLA-B or TinyVLA-HDas Repo ist der einzige Weg: isolierte Umgebung, konvertierte Daten
Multi-Task, verschiedene Anweisungen, A100-BudgetGR00T N1.7 or Pi0.5~3 B, 152 ms und 485 ms pro Schritt, 4 bis 12 USD pro Lauf
Noch kein RoboterEinen echten Arm steuernDer warteschlangenbasierte Live-Arm benötigt keine Anmeldung und keine Hardware

Für die letzte Zeile, der Live-Arm streamt einen physischen SO-100, den Sie ohne Konto vom Browser aus steuern können, und die drei Startmöglichkeiten decken den Rest ab. Der SO-100 ist hier der Referenzarm, grob 110 bis 150 EUR an Teilen, mit einer vollständigen Einrichtungsanleitung.

Was nach den Sub-1-B-Modellen kommt

Die Reduzierung der Parameteranzahl ist eine Möglichkeit, einen VLA günstig zu machen, und nicht offensichtlich die gewinnende. OpenVLA-OFT (arXiv 2502.19645) behält das 7-B-Backbone bei und ändert nur, wie Aktionen dekodiert werden, was eine 26-fache Steigerung des Aktionsgenerierungsdurchsatzes und einen Anstieg von LIBERO von 76,5 auf 97,1 Prozent meldet. BitVLA (arXiv 2506.07530) macht jedes Gewicht eines 1-Bit BitNet b1.58 2B4T Backbones ternär, was 11,0x weniger Speicher und 4,4x geringere End-to-End-Latenz bei gleichzeitiger Übereinstimmung mit dem vollpräzisen OpenVLA-OFT meldet. X-VLA-0.9B (arXiv 2510.10274) liegt mit Flow Matching auf der 1-B-Linie.

Der rote Faden: Der Aktionsdecoder, nicht das Sprachmodell, ist der Ort, an dem die Latenz liegt. Fragen Sie, wie eine Policy Aktionen ausgibt, bevor Sie fragen, wie viele Parameter sie hat. Die Arena hat 85 Modelle und 332 Ergebnisse, jedes mit seiner Quelle verknüpft; einen breiteren Überblick gibt es in unserer VLA-Einführung.

Kann ich SmolVLA auf einer RTX 4090 feinabstimmen?

Ja. SmolVLA hat 450 M Parameter und AY-Robots betreibt es auf der RTX 4090 / 24 GB Stufe. Das lerobot-Beispiel verwendet --batch_size=64, was ein Beispiel und keine Garantie für Ihre Karte ist; die Dokumentation rät, klein anzufangen und zu erhöhen, solange die Ladezeiten kurz bleiben. Erwarten Sie längere Zeiten als die ungefähr 4 Stunden, die die Dokumentation für 20000 Schritte auf einer A100 angibt.

Ist TinyVLA in lerobot oder auf AY-Robots verfügbar?

Nein zu beidem. TinyVLA existiert nur in seinem Forschungs-Repository, letzter Commit 11 March 2025, und sein Format ist ACT-style HDF5 statt LeRobot. AY-Robots trainiert GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA und ACT. Wenn Sie TinyVLA möchten, müssen Sie es selbst erstellen und zuerst den DeepSpeed-Konfigurationspfad in scripts/train.sh korrigieren.

Ist ein 450 M Modell wirklich konkurrenzfähig mit einem 3 B Modell?

Auf den eigenen Benchmarks der Autoren, ja: 87.3 gegenüber 86.0 auf LIBERO im Vergleich zu einem robotik-vortrainierten Pi0 mit 3.3 B, und 78.3 gegenüber 61.7 bei drei realen SO-100 Aufgaben, wo dasselbe Paper Pi0 mit 3.5 B kennzeichnet. Die Grenze liegt im selben Paper: bei Einzelaufgaben ohne Robotik-Vortraining fällt SmolVLA auf 40.0, unter ACTs 48.3.

Wie viele Episoden benötige ich, bevor ein kleines VLA etwas tut?

AY-Robots setzt das SmolVLA-Minimum auf 30 Episoden und das ACT-Minimum auf 50. Die lerobot-Dokumentation empfiehlt etwa 50 und berichtet, dass 25 für dieselbe Aufgabe nicht ausreichten. Die Struktur ist ebenso wichtig wie die Anzahl: der Datensatz des Papers verwendete 5 Würfelpositionen mit jeweils 10 Episoden.

Warum stimmen veröffentlichte Latenzzeiten so stark voneinander ab?

Sie messen unterschiedliche Dinge. TinyVLA meldet 14 ms pro Aktionsvorhersage auf einer A6000; AY-Robots listet SmolVLA mit 245 ms und ACT mit 20 ms pro Aktionsschritt. Einige Zahlen decken einen Vorwärtsdurchlauf ab, andere teilen einen Durchlauf über einen 50-Aktionen-Block auf, und fast keine beinhalten die Kameraerfassung oder das Schreiben an die Servos.

Löst Cloud-Inferenz das GPU-Problem?

Teilweise. AY-Robots stellt automatisch einen Pod bereit, der die Policy bedient, während der lokale Client mit diesem Endpunkt kommuniziert, mit einem Idle-Watchdog, sodass er sich selbst zerstört, anstatt stillschweigend abzurechnen. Es kann die Roundtrip-Zeit über das öffentliche Internet nicht eliminieren, und der Regelkreis beträgt bereits 20 bis 485 ms pro Aktionsschritt. Gut für langsames Pick-and-Place, nicht für schnelle reaktive Bewegungen.

Bereit für hochwertige Robotik-Daten?

AY-Robots verbindet Ihre Roboter mit qualifizierten Operatoren weltweit.

Jetzt starten