La tabla de comparación de políticas de AY-Robots con recuentos de parámetros, niveles de GPU y latencia de inferencia para GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA y ACT
SmolVLATinyVLAVLA PequeñoGPU de ConsumoLeRobot

Modelos VLA Pequeños: TinyVLA, SmolVLA y el Caso Sub-1B

AY-Robots ResearchAugust 23, 202619 min de lectura

TinyVLA y SmolVLA sitúan un VLA funcional por debajo de 1 B parámetros. Números reales de ambos artículos, los valores predeterminados de lerobot, la latencia medida y el coste de una ejecución en una tarjeta de 24 GB.

Casi todos los modelos de visión-lenguaje-acción de los que se escribe asumen una tarjeta de centro de datos. OpenVLA tiene 7 B de parámetros. GR00T N1.7 y Pi0.5 tienen alrededor de 3 B y requieren una A100 de 80 GB para el ajuste fino. Si la tarjeta en su escritorio es una 4090, esa clase de modelo está fuera de su alcance.

Dos artículos argumentan que no es necesario. TinyVLA (arXiv 2409.12514, aceptado por IEEE Robotics and Automation Letters en febrero de 2025) construye un VLA a partir de un backbone de 400 M a 1.3 B más un cabezal de acción por difusión. SmolVLA (arXiv 2506.01844, enviado el 2 de junio de 2025) distribuye 450 M de parámetros con pesos abiertos, datos abiertos y un script que se ejecuta en una tarjeta de consumidor. Esto es lo que ambos midieron, y dónde el argumento de menos de 1 B deja de ser válido.

Lo que necesita saber

  • TinyVLA se distribuye en tres tamaños: 422 M en total con 101 M entrenables, 740 M con 138 M, 1.3 B con 143 M. Solo los dos primeros están por debajo de 1 B.
  • Su Tabla IV mide 14 ms por predicción de acción para TinyVLA-1B en una A6000, frente a 292 ms para OpenVLA-7B y 140 ms para un OpenVLA-1B reducido.
  • El cabezal mantiene esa velocidad, no el backbone: si se intercambia el cabezal de difusión de TinyVLA-H por un cabezal ACT, las cinco tareas de robot reales caen de un promedio de 94.0 a un solo dígito. Un cabezal MLP puntúa 0 en todas partes.
  • SmolVLA tiene 450 M, aproximadamente 100 M de los cuales son el experto en acción, preentrenado en 481 conjuntos de datos de la comunidad LeRobot y 10.6 M de fotogramas. Reporta 87.3 en LIBERO frente a 86.0 para un Pi0 preentrenado en robótica de 3.3 B, y 78.3 en tres tareas reales SO-100 frente a 61.7 para Pi0 de 3.5 B.
  • Entrenado en una sola tarea sin ese preentrenamiento, SmolVLA cae a 40.0 en esas tareas, por debajo del 48.3 de ACT. Pequeño no significa automáticamente fácil.
  • TinyVLA no tiene integración con LeRobot y fija una pila de ruedas CUDA 11.7. SmolVLA está en lerobot y cuesta aproximadamente de 1 a 3 USD por ejecución en el nivel de 24 GB aquí.

¿Qué se considera realmente un VLA pequeño?

El recuento de parámetros en una tarjeta de modelo no es un número único. Puede referirse al total de pesos, a los pesos cargados durante la inferencia o a los pesos que reciben gradientes durante . TinyVLA informa ambos, y la brecha es grande: TinyVLA-H tiene un total de 1.3 B pero 143 M entrenables, porque la torre de visión y la mayor parte del modelo de lenguaje permanecen congelados mientras los adaptadores LoRA y el cabezal de acción se mueven. El artículo sitúa la proporción entrenable en aproximadamente un 5 por ciento.

ModeloParámetrosBackboneCabezal de acciónFuente
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

Hay dos filas que merecen discusión. con aproximadamente 80 M es más pequeño que todo lo demás aquí, pero no tiene un modelo de lenguaje, por lo que no es un VLA: aprende una tarea y no se le puede indicar que haga otra. con 27 M se condiciona a través de un codificador de texto T5-Base, no un backbone LLM. Son buenas líneas base, pero ninguna ofrece el seguimiento de instrucciones que implica la etiqueta.

La línea de 1 B es arbitraria

TinyVLA-H, la variante que presenta los resultados principales, es de 1.3 B y se sitúa por encima de la línea. La pregunta más importante es si un modelo cabe en 24 GB durante el entrenamiento y alcanza su tasa de control en la inferencia. Las cinco políticas que puedes entrenar aquí están en la página de políticas; TinyVLA tiene una entrada en la arena si quieres sus números junto a los de los demás.

TinyVLA: la velocidad viene de la cabeza, no del backbone

La lectura obvia es que hicieron el modelo de lenguaje más pequeño, por lo que se volvió más rápido. La ablación del artículo dice lo contrario. Intercambiar el backbone de 7 B de OpenVLA por uno de aproximadamente 1 B redujo la predicción por acción de 292 ms a 140 ms, una ganancia de 2x. TinyVLA-H, con un recuento de parámetros comparable, se ejecuta a 14 ms en la misma tarjeta. El otro 10x es el cabezal de acción.

ModeloPredicción por acciónMedido en
OpenVLA-7B292 mssingle A6000
OpenVLA-1B, backbone intercambiado por el de TinyVLA140 mssingle A6000
TinyVLA-1B (TinyVLA-H)14 mssingle A6000

OpenVLA emite acciones como tokens discretizados a través del cabezal del modelo de lenguaje, uno por dimensión de acción, de forma autorregresiva. TinyVLA adjunta un decodificador de difusión que produce el fragmento completo de una sola vez. La Tabla V muestra la arquitectura en TinyVLA-H e intercambia solo el cabezal, en las mismas cinco tareas de robot reales. Es la evidencia más clara en cualquiera de los artículos para el argumento que las políticas de coincidencia de flujo hacen, y la razón por la que Pi0 se alejó de la decodificación de tokens.

Cabezal en TinyVLA-HColocarPelotaTenisVoltearTazaApilarCubosCerrarCajónAbrirCaja
Diffusion (droid_diffusion)90.098.398.396.786.7
Action Chunking Transformer13.38.38.313.323.3
Multi-layer perceptron00000
Qué cubren los números de TinyVLA

Las cifras de 292 / 140 / 14 ms corresponden a la Tabla IV, todas en una A6000. Son por predicción de acción y excluyen la captura de cámara, el preprocesamiento y la escritura serial a los servos. Considere la latencia publicada como un límite inferior, nunca como la tasa de control. Nuestros propios números tienen la misma limitación: consulte latencia de inferencia.

Qué puntuó TinyVLA

ReferenciaProtocoloTinyVLA-HLíneas base
MetaWorld, 50 tareas, simMultitarea, 50 demostraciones, 3 semillas77.6 / 21.5 / 11.4 / 15.8 por dificultad, promedio 31.6Diffusion Policy promedio 10.5
Franka Panda real, 5 tareas100 trayectorias por tarea, 20 pruebas94.0 promedioOpenVLA 68.3, Diffusion Policy 35.3
UR5 bimanual, 3 tareasMultitarea, 10 pruebas por tarea76.7 / 36.7 / 30.0OpenVLA 0 / 0 / 0, Diffusion Policy 40.3 / 31.3 / 43.0

La fila bimanual tiene una explicación aburrida que el propio artículo ofrece: OpenVLA está preentrenado en Open X-Embodiment, que consiste enteramente en datos de un solo brazo, por lo que un espacio de acción de dos brazos está fuera de distribución y puntúa cero. La línea base de la política de difusión supera a TinyVLA-H en dos de esas tres tareas. Antecedentes en el informe de Open X-Embodiment.

La tabla de clasificación de la arena AY-Robots, una tabla ordenable de 85 modelos VLA con 332 resultados de referencia, cada valor vinculado al artículo o tarjeta de modelo de donde provino
Los números de referencia entre modelos solo son comparables cuando se puede ver de dónde proviene cada uno.

El repositorio de TinyVLA, a agosto de 2026

El artículo es bueno. El código es un lanzamiento de investigación. El repositorio es github.com/liyaxuanliyaxuan/TinyVLA; su README fecha el lanzamiento del código el 17 de febrero de 2025 y el último commit es el 11 de marzo de 2025. Está bien para reproducir un artículo, pero es un problema si se quisiera una biblioteca mantenida.

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 .
La secuencia de instalación del README de TinyVLA, verificada contra el repositorio el 23-08-2026.
Las dependencias fijadas son la trampa que consume un día

requirements.txt fija torch==2.0.1, transformers==4.37.1, deepspeed==0.9.5, peft==0.4.0, diffusers==0.11.1, numpy==1.24.4, y la pila CUDA a las ruedas 11.x: nvidia-cuda-runtime-cu11==11.7.99, nvidia-cudnn-cu11==8.5.0.96, triton==2.0.0. El README pide Python 3.10; lerobot 0.6.1 requiere 3.12 o más reciente, por lo que los dos no pueden compartir un entorno. Confirme primero que existe una compilación de torch 2.0.1 para su generación de GPU. Si una ejecución falla por VRAM en su lugar, la lista de verificación de falta de memoria es más rápida que adivinar.

TinyVLA tampoco lee conjuntos de datos de LeRobot. Su formato es HDF5 estilo ACT: action, language_raw, y un grupo de observaciones con imágenes multi-vista, joint_positions, qpos y qvel. El repositorio incluye data_utils/rlds_to_h5py.py para entrada RLDS, y cada tarea se registra manualmente en aloha_scripts/constants.py con su dataset_dir, episode_len y camera_names. Si sus episodios provienen de lerobot o del cliente de escritorio, usted es responsable de la conversión.

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
Abreviado de scripts/train.sh. Cada flag y valor anterior se encuentra en el archivo distribuido.
  • --num_gpus=8 asume un nodo de ocho tarjetas. Establécelo en 1 y reduce el tamaño del lote muy por debajo de 32. No se envía ninguna variante de una sola GPU, por lo que el comando no se puede ejecutar textualmente en una 4090.
  • --deepspeed scripts/zero2.json apunta a un archivo que no está en el directorio scripts de nivel superior. Las configuraciones de DeepSpeed se encuentran en llava-pythia/scripts/zero2.json. Corrige la ruta antes de tu primera ejecución.
  • El README requiere que el nombre del directorio de salida contenga llava_pythia, más lora si LoRA está habilitado.
  • El backbone es una descarga separada: lesjie/Llava-Pythia-400M, -700M o -1.3B. No hay un único checkpoint base al que apuntes una política de la misma manera que apuntas a lerobot/smolvla_base.

SmolVLA: el modelo de menos de 1 B que puedes ejecutar esta tarde

SmolVLA presenta el mismo argumento dentro de una biblioteca mantenida. Tiene 450 M de parámetros en un backbone SmolVLM2-500M-Video-Instruct, y la eficiencia proviene de las configuraciones que puedes leer en configuration_smolvla.py en lugar de una afirmación sobre su tamaño reducido.

Configuración en configuration_smolvla.pyPredeterminadoLo que aporta
num_vlm_layers16Solo se ejecutan las primeras 16 capas del modelo de lenguaje
expert_width_multiplier0.75El tamaño oculto del experto en acción es el 75 por ciento del VLM
self_attn_every_n_layers2Autoatención intercalada con atención cruzada
chunk_size / n_action_steps50 / 50Una pasada emite 50 acciones y las 50 se ejecutan
num_steps10Denoising por coincidencia de flujo fijado en 10 pasos
tokenizer_max_length48La instrucción se trunca a 48 tokens
freeze_vision_encoder / train_expert_onlyTrue / TrueEl ajuste fino mueve al experto, no a la torre de visión
optimizer_lr, warmup, decay1e-4, 1000 steps, to 2.5e-6 over 30000No es la receta del artículo: su preentrenamiento utilizó un calentamiento de 100 pasos durante 200000 pasos

El preentrenamiento utilizó 481 conjuntos de datos comunitarios de LeRobot, 22.9 K episodios y 10.6 M fotogramas en 4 GPUs, 200000 pasos con un tamaño de lote global de 256; el artículo estima el proyecto completo en aproximadamente 30 K horas de GPU. Un número a tener en cuenta: el blog de lanzamiento de Hugging Face menciona 487 conjuntos de datos curados, mientras que la tabla del artículo indica 481. Utilizamos la cifra del artículo y señalamos la discrepancia.

La página del modelo SmolVLA en AY-Robots mostrando el recuento de parámetros, el nivel de GPU de 24 GB, la latencia de inferencia por paso de acción y el recuento mínimo de episodios
Página de SmolVLA de la plataforma: 450 M parámetros, 245 ms por paso de acción, nivel RTX 4090, 30 episodios mínimo.
ReferenciaSmolVLA 0.45 BSmolVLA 2.25 BPi0ACT
Promedio LIBERO, multitarea87.388.7586.0 (3.3 B, robotics-pretrained)-
Promedio Meta-World, multitarea57.368.2447.9 (3.5 B, robotics-pretrained)-
SO-100 real, 3 tareas, entrenamiento multitarea78.3-61.7 (3.5 B)-
SO-100 real, 3 tareas, tarea única, sin preentrenamiento robótico40.0--48.3
SO-101 lego pick-place, tarea única, en distribución90--70
SO-101 lego pick-place, tarea única, fuera de distribución50--40
Lea la tabla completa, no solo la fila del titular

LIBERO es simulación y todo lo competente puntúa ahora en los ochenta. La fila del SO-100 real, donde un modelo de 450 M supera a uno de 3.5 B por 16.6 puntos, es la interesante; la fila debajo es el contrapeso. Si se elimina el preentrenamiento comunitario y el entrenamiento multitarea, el mismo modelo cae a 40.0, por debajo de ACT. La afirmación defendible es que un modelo pequeño no es automáticamente peor, no que sea mejor.

Un accidente ayuda: la tabla Meta-World del artículo de SmolVLA incluye los propios números publicados de TinyVLA como línea base, así que por una vez ambos modelos se encuentran en una misma tabla, SmolVLA-0.45B con 57.3 frente a TinyVLA-H con 31.6. También informa que el entrenamiento de SmolVLA es aproximadamente un 40 por ciento más rápido que Pi0 con 6 veces menos memoria. Todo esto proviene de los autores de SmolVLA; la entrada de la arena enlaza cada valor a su fuente.

Dónde SmolVLA emplea su tiempo

AY-Robots lista a SmolVLA en 245 ms por paso de acción y a ACT en 20 ms en el catálogo de políticas. TinyVLA reporta 14 ms por predicción de acción. Esos números no son comparables, y tratarlos como si lo fueran es el error más común en este tema: algunos miden un pase hacia adelante, otros dividen ese pase entre un fragmento una vez que el chunking de acciones lo amortiza.

  • SmolVLA emite 50 acciones por pase hacia adelante y ejecuta las 50. A los 30 fps que el artículo utiliza en robots reales, una inferencia cubre aproximadamente 1.7 segundos de movimiento.
  • La inferencia asíncrona calcula el siguiente fragmento mientras el actual aún se ejecuta: 9.7 s de tiempo promedio de finalización de tarea frente a 13.75 s síncronos, aproximadamente un 30 por ciento más rápido, y 19 ciclos de pick-and-place en una ventana fija de 60 segundos frente a 9.
  • Las tasas de éxito fueron comparables en lugar de mejores, 78.3 síncronas frente a 73.3 asíncronas. La asincronía compra rendimiento, no precisión.
  • El chunking oculta la latencia de cómputo, no la latencia de red, y hace que la política sea menos reactiva porque está comprometida con 50 acciones.
La inferencia remota no es gratuita y ninguna plataforma corrige la física

AY-Robots puede aprovisionar automáticamente un pod de GPU en la nube que sirve su política mientras el cliente robot local se comunica con ese endpoint, y el pod lleva un watchdog de inactividad para que se autodestruya en lugar de facturar silenciosamente. Lo que no hace es eliminar el viaje de ida y vuelta a través de la internet pública. El bucle de control en las cinco políticas aquí es de 20 a 485 ms por paso de acción antes de cualquier red, por lo que la inferencia remota es viable para tareas lentas de pick-and-place, no para movimientos reactivos rápidos.

La tabla de comparación de políticas de AY-Robots que muestra GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA y ACT con el número de parámetros, el nivel de GPU requerido, la latencia de inferencia por paso de acción y el número mínimo de episodios que cada uno necesita
SmolVLA con ~450 M y ACT con ~80 M son los dos que caben en una tarjeta de 24 GB. Los otros tres necesitan una A100 o H100 de 80 GB.

Ajuste fino de SmolVLA en una tarjeta de consumo

La ruta manual, en lerobot 0.6.1, la versión actual de PyPI a partir del 23 de agosto de 2026. Todo lo siguiente proviene de la documentación de Hugging Face lerobot SmolVLA, obtenida el mismo día; la versión guiada es más suave.

  1. 1
    Instalar lerobot con el extra smolvla

    Las dependencias de SmolVLA son un extra opcional, no forman parte de la instalación base. Instalar sin ellas y luego preguntarse por qué el tipo de política es desconocido es una media hora perdida común.

    bash
    git clone https://github.com/huggingface/lerobot.git
    cd lerobot
    pip install -e ".[smolvla]"
  2. 2
    Obtener un conjunto de datos con suficientes episodios

    La documentación recomienda alrededor de 50 episodios y afirma que la misma tarea con 25 no fue suficiente. AY-Robots establece el mínimo en 30. Grabe los suyos propios, o empiece desde el directorio de conjuntos de datos.

    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
    Iniciar el ajuste fino

    El comando de la guía de lerobot, sin modificar. La documentación estima 20000 pasos en aproximadamente 4 horas en una A100. En una tarjeta de 24 GB, espere más tiempo y mídalo.

    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
    Reducir el tamaño del lote hasta que quepa

    batch_size=64 es un ejemplo documentado, no una promesa sobre su tarjeta. La documentación aconseja empezar con un valor pequeño y aumentarlo mientras los tiempos de carga sigan siendo cortos.

    bash
    lerobot-train --help
  5. 5
    Desplegar el punto de control en el brazo

    La misma biblioteca, un comando. Las banderas de fragmentación en tiempo real están comentadas en la documentación y son las que hay que usar en hardware de baja potencia.

    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
El punto de control es el entregable

Cualquiera que sea el camino que tome, terminará con un punto de control más la configuración que lo produjo. Mantenga la revisión del conjunto de datos, el recuento de pasos y la semilla junto a él. lerobot por defecto usa la semilla 1000; el punto de entrada de ajuste fino de GR00T no expone ninguna semilla, por lo que esas ejecuciones no son reproducibles bit a bit. Mecánica en la documentación de entrenamiento.

Dos formas de llevar un VLA pequeño a un brazo

Usted es dueño de la máquina y de los modos de fallo. Para SmolVLA eso es razonable: un extra de pip, un comando de entrenamiento, un comando de despliegue. Para TinyVLA es una reproducción de investigación con pines congelados, una ruta de DeepSpeed rota y una conversión de datos que usted mismo escribe.

  1. Consiga una tarjeta de 24 GB, grabe de 30 a 50 episodios, verifique los flujos de la cámara fotograma a fotograma.
  2. pip install -e ".[smolvla]", lerobot-train contra lerobot/smolvla_base, luego sirva el punto de control en la máquina a la que está conectado el brazo.
  3. Para TinyVLA: entorno conda separado, convertir datos a HDF5, registrar la tarea en constants.py, corregir la ruta de zero2.json, reducir train.sh de ocho GPUs a una.
Ventajas
  • Sin facturación por hora una vez que la tarjeta está pagada.
  • La inferencia se encuentra junto a los servos, la única forma de obtener un bucle de control rápido.
  • Puede parchear el código de la política, y TinyVLA solo está disponible de esta manera.
Compensaciones
  • Una 4090 descarta cualquier política de ~3 B, por lo que no hay comparación local contra GR00T N1.7 o Pi0.5.
  • La configuración del entorno es el verdadero trabajo. Solo los pines de TinyVLA pueden costar un día.
  • Sin cola, sin reintentos, sin almacenamiento de puntos de control. Un reinicio en el paso 14000 significa empezar de nuevo.

Cuando un modelo pequeño es la elección equivocada

Ambos artículos son más cuidadosos aquí de lo que lo son los resúmenes. El análisis de fallos de TinyVLA es específico: la variante de 0.4 B falló tres veces al interpretar erróneamente la instrucción, lo que los autores atribuyen a una comprensión lingüística limitada en el VLM más pequeño, y ese modo desapareció en 1.3 B. SmolVLA muestra la misma curva desde el otro extremo: la versión de 2.25 B de la arquitectura idéntica obtiene 88.75 en LIBERO y 68.24 en Meta-World, frente a 87.3 y 57.3 para el modelo de 0.45 B.

Eligiendo un VLA de menos de 1 B
Dónde gana
  • Cabe en una tarjeta de 24 GB, lo que reduce el coste de un experimento de decenas de dólares a un par.
  • Lo suficientemente rápido como para ejecutarse junto al brazo, sin saltos de red en el bucle de control.
  • Se ajusta con los datos que una persona puede registrar, decenas de episodios en lugar de miles.
  • Los pesos, la lista de datos y el código de SmolVLA son públicos, por lo que un mal resultado es depurable.
Dónde pierde
  • Menor capacidad para seguir instrucciones: menos parámetros de lenguaje, menor habilidad para separar expresiones referenciales similares.
  • Menor generalización espacial y visual a configuraciones no registradas.
  • Más sensible a los defectos del conjunto de datos, con menos preentrenamiento al que recurrir.
  • El trabajo multitarea y de horizonte largo sigue favoreciendo a los modelos más grandes, incluida la propia variante de 2.25 B de SmolVLA.

La comparación que vale la pena hacer no es TinyVLA contra SmolVLA. Es SmolVLA contra ACT en tu propia tarea, y el artículo de SmolVLA es el argumento de por qué. Entrenado en una sola tarea sin preentrenamiento robótico, SmolVLA promedió 40.0 en tres tareas SO-100 donde ACT de una sola tarea logró 48.3. Lo que lo eleva a 78.3 es el preentrenamiento comunitario más el entrenamiento multitarea, no solo la arquitectura. En la tarea de lego SO-101, ambas de una sola tarea, SmolVLA sí gana: 90 contra 70 en distribución. Luego SmolVLA contra Pi0.5 si el presupuesto lo permite.

A este tamaño, el conjunto de datos decide el resultado

Hay menos preentrenamiento previo para cubrir datos defectuosos, por lo que una curva de pérdida limpia en un conjunto de datos defectuoso le da una política que reproduce el defecto con confianza. La documentación de lerobot es directa sobre la estructura: 50 episodios en 5 posiciones de cubo, 10 por posición, funcionaron; 25 no. Si la pérdida parece bien y el brazo no hace nada útil, comience en la pérdida cae, la política no hace nada, la política solo funciona en una configuración o recopilación de datos de entrenamiento VLA que sean realmente utilizables.

Cinco políticas, una tabla comparativa

GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA y ACT con recuentos de parámetros reales, latencia de inferencia por paso de acción, el nivel de GPU que cada uno necesita y el recuento mínimo de episodios antes de que haga algo útil.

Compare las políticas

Una tabla de decisiones sobre la que puede actuar

Su situaciónComience conPor qué
Una tarea, buenas demostraciones, sin lenguajeACT~80 M, 20 ms, tarjeta de 24 GB, sin modelo base para descargar
Algunas tareas relacionadas, una instrucción cada unaSmolVLA450 M, en lerobot, mínimo 30 episodios, 1 a 3 USD por ejecución
Reproduciendo el resultado de TinyVLA específicamenteTinyVLA-B o TinyVLA-HEl repositorio es la única ruta: entorno aislado, datos convertidos
Multitarea, instrucciones variadas, presupuesto A100GR00T N1.7 o Pi0.5~3 B, 152 ms y 485 ms por paso, 4 a 12 USD por ejecución
Aún no hay robotManejar un brazo realEl brazo en vivo basado en cola no necesita registro ni hardware

Para la última fila, el brazo en vivo transmite un SO-100 físico que puedes controlar desde el navegador sin una cuenta, y las tres formas de empezar cubren el resto. El SO-100 es el brazo de referencia aquí, con un costo aproximado de 110 a 150 EUR en piezas, con una guía completa de configuración.

¿Qué viene después de los modelos de menos de 1 B?

Reducir el número de parámetros es una forma de hacer que un VLA sea económico y no es obviamente la más exitosa. OpenVLA-OFT (arXiv 2502.19645) mantiene la arquitectura base de 7 B y solo cambia cómo se decodifican las acciones, reportando un aumento de 26x en el rendimiento de generación de acciones y un incremento de LIBERO del 76.5 al 97.1 por ciento. BitVLA (arXiv 2506.07530) convierte cada peso de una arquitectura base BitNet b1.58 2B4T de 1 bit en ternario, reportando 11.0x menos memoria y 4.4x menor latencia de extremo a extremo, igualando el rendimiento de OpenVLA-OFT de precisión completa. X-VLA-0.9B (arXiv 2510.10274) se sitúa en la línea de 1 B con emparejamiento de flujo.

El hilo conductor: el decodificador de acciones, no el modelo de lenguaje, es donde reside la latencia. Pregunta cómo una política emite acciones antes de preguntar cuántos parámetros tiene. La arena tiene 85 modelos y 332 resultados, cada uno vinculado a su fuente; hay una visión general más amplia en nuestra introducción a los VLA.

¿Puedo ajustar SmolVLA en una RTX 4090?

Sí. SmolVLA tiene 450 M de parámetros y AY-Robots lo ejecuta en el nivel RTX 4090 / 24 GB. El ejemplo de lerobot usa --batch_size=64, lo cual es un ejemplo y no una garantía para su tarjeta; la documentación aconseja empezar con un tamaño pequeño y aumentarlo mientras los tiempos de carga sigan siendo cortos. Espere tiempos más largos que las aproximadamente 4 horas que la documentación cita para 20000 pasos en una A100.

¿Está TinyVLA disponible en lerobot o en AY-Robots?

No a ambas. TinyVLA solo reside en su repositorio de investigación, último commit 11 de marzo de 2025, y su formato es HDF5 estilo ACT en lugar de LeRobot. AY-Robots entrena GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA y ACT. Si desea TinyVLA, debe construirlo usted mismo, y primero tendrá que corregir la ruta de configuración de DeepSpeed en scripts/train.sh.

¿Es un modelo de 450 M realmente competitivo con uno de 3 B?

Según los propios benchmarks de los autores, sí: 87.3 frente a 86.0 en LIBERO contra un Pi0 preentrenado en robótica de 3.3 B, y 78.3 frente a 61.7 en tres tareas reales de SO-100 donde el mismo artículo etiqueta a Pi0 en 3.5 B. El límite está en el mismo artículo: en tareas únicas sin preentrenamiento robótico, SmolVLA cae a 40.0, por debajo del 48.3 de ACT.

¿Cuántos episodios necesito antes de que un VLA pequeño haga algo?

AY-Robots establece el mínimo de SmolVLA en 30 episodios y el mínimo de ACT en 50. La documentación de lerobot recomienda alrededor de 50 y reporta que 25 no fueron suficientes para la misma tarea. La estructura importa tanto como el número: el conjunto del artículo utilizó 5 posiciones de cubo con 10 episodios cada una.

¿Por qué los números de latencia publicados difieren tanto?

Miden cosas diferentes. TinyVLA reporta 14 ms por predicción de acción en una A6000; AY-Robots lista SmolVLA en 245 ms y ACT en 20 ms por paso de acción. Algunas cifras cubren un pase hacia adelante, otras dividen un pase en un bloque de 50 acciones, y casi ninguna incluye la captura de cámara o la escritura a los servos.

¿La inferencia en la nube resuelve el problema de la GPU?

Parcialmente. AY-Robots aprovisiona automáticamente un pod que sirve la política mientras el cliente local se comunica con ese endpoint, con un watchdog de inactividad para que se destruya a sí mismo en lugar de facturar silenciosamente. No puede eliminar el viaje de ida y vuelta por internet público, y el bucle de control ya es de 20 a 485 ms por paso de acción. Está bien para tareas lentas de pick-and-place, no para movimientos reactivos rápidos.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started