MÓDULO 1.2 · VLA / ROBÓTICA

Anatomia de um VLA: Visão + Linguagem + Ação

Desmontando a arquitetura por dentro: como encoder visual, backbone de linguagem e decodificador de ações se conectam para transformar pixels e palavras em movimento físico.

1️ Encoder Visual: SigLIP, DINOv2, ViT

O encoder visual é o primeiro degrau da percepção: converte cada frame da câmera em vetores densos que o backbone de linguagem consegue "ler". A escolha do encoder — SigLIP, DINOv2 ou ViT puro — define o que o robô é capaz de enxergar com precisão.

Conceito Principal

A imagem de 224×224 pixels é dividida em patches de 14×14 ou 16×16 pixels. Cada patch é projetado linearmente num vetor denso de alta dimensão (tipicamente 768 ou 1024 dimensões). Esses vetores — os visual tokens — são a linguagem interna que o encoder fala com o backbone LLM.

Uma imagem de 224×224 com patches de 14×14 gera 256 visual tokens. Cada token carrega informação local sobre textura, cor e bordas — o conjunto carrega a estrutura espacial da cena inteira.

Grid Fazer vs Evitar

✓ SigLIP e DINOv2 brilham quando

  • ✓SigLIP: tarefa exige alinhar objetos a nomes ("pegue o copo azul")
  • ✓DINOv2: tarefa exige estimativa de profundidade ou segmentação implícita
  • ✓Dual encoder (SigLIP + DINOv2): combina os dois — padrão no OpenVLA
  • ✓Resolução maior (336×336) melhora manipulação fina de objetos pequenos

✗ Armadilhas comuns

  • ✗Usar encoder treinado apenas em web images — perde geometria 3D
  • ✗Congelar o encoder durante fine-tuning — features não adaptam para a tarefa
  • ✗Resolução muito baixa (112×112) — objeto de 2 cm vira ruído de 1 token
  • ✗Ignorar a projection layer — visual tokens precisam de escala compatível com o LLM
Conceitos-chave cards
Patch Embedding Divisão da imagem em blocos; cada bloco → vetor denso.
Contrastive Learning SigLIP alinha imagem e texto no mesmo espaço vetorial via sigmoid loss.
Self-Supervised DINOv2 captura estrutura geométrica sem nenhuma anotação humana.

2Backbone LLM: Llama, Gemma, Qwen

O backbone LLM é o cérebro central do VLA. É ele que funde visual tokens com text tokens, raciocina sobre a cena e decide o que fazer. A escolha do backbone — e quantos parâmetros ele tem — define o trade-off fundamental entre capacidade de raciocínio e latência de resposta.

Tip Box

Modelos como Llama 3, Gemma 2 e Qwen 2.5 foram treinados em trilhões de tokens de texto. Eles já "sabem" o que é um copo, onde fica a pia e como seguir instruções compostas como "coloque o garfo à esquerda do prato". Treinar esse conhecimento do zero para cada robô seria proibitivamente caro — o reuso é a chave da generalização.

Timeline: como o backbone processa a cena

Fluxo de processamento dentro do backbone

1

Projection Layer

Uma MLP simples (2 camadas lineares) mapeia visual tokens do espaço do encoder (ex: 1024 dims) para o espaço de embedding do LLM (ex: 4096 dims). Esse "tradutor" é o único novo componente que precisa ser treinado do zero.

2

Fusão Multimodal

Visual tokens e text tokens são concatenados numa sequência unificada. O mecanismo de atenção do transformer trata ambos da mesma forma — não há diferença arquitetural entre "ver" e "ler".

3

Geração de Representação

O backbone processa a sequência completa e produz embeddings de saída ricos que codificam: "o copo está 15 cm à frente, à esquerda do prato, instrução diz para pegá-lo". Esses embeddings alimentam o action head.

Conceitos-chave cards
LoRA Fine-tuning de rank baixo: treina <1% dos parâmetros com performance similar ao full fine-tuning.
Instruction Tuning Adaptação do backbone para seguir comandos robóticos em vez de completar texto genérico.
Catastrophic Forgetting Risco de perder capacidade linguística durante fine-tuning; mitigado por learning rate baixo.

3Action Head: Tokenizando Ações Contínuas

O action head é onde VLA diverge radicalmente de um VLM comum. Robôs operam em espaços contínuos — posição em metros, torque em Newton-metro — mas LLMs geram tokens discretos. O action head é o componente que resolve essa incompatibilidade fundamental.

Conceito Principal

Um robô manipulador de 7 DoF precisa de 7 números reais a cada timestep: (x, y, z, rotX, rotY, rotZ, gripper). Esses números podem ser 0.3427m ou 1.7293 Nm — valores arbitrariamente precisos. O vocabulário de um LLM tem tokens discretos como "cat", "42" ou "[EOS]". Não existe token para "0.3427".

Diferentes action heads resolvem isso de formas distintas: discretização em bins, regressão direta via MLP, ou modelos generativos (diffusion, flow matching). Cada abordagem tem trade-offs de precisão, latência e suavidade de movimento.

Grid Fazer vs Evitar: tipos de action head

✓ Action heads que funcionam bem

  • ✓Bins discretos (RT-2, OpenVLA): simples, compatível com vocabulário LLM, bom para tarefas lentas
  • ✓Diffusion head (Octo): ações suaves e multimodais, bom quando há múltiplos caminhos válidos
  • ✓Flow matching (π0): alta frequência (50 Hz), ótimo para dexterous manipulation

✗ Problemas frequentes

  • ✗Bins com resolução baixa (64 bins) — imprecisão de ~1.5 mm em workspace de 10 cm
  • ✗MLP de regressão sem normalização de ações — gradientes explodem ou colapsam
  • ✗Diffusion com muitos steps de denoising — latência proibitiva para controle em tempo real
Tip Box

Ambos transformam ruído em ações. A diferença: diffusion usa um processo de denoising iterativo com muitos passos (tipicamente 10-100); flow matching aprende um campo vetorial e resolve uma ODE em menos passos (2-4). Resultado: π0 consegue gerar ações suaves a 50 Hz, enquanto heads difusivos típicos precisam de comprometimento entre qualidade e velocidade.

Conceitos-chave
Discretization Bins Divide espaço contínuo em N buckets; cada ação vira token categórico.
Diffusion Head Denoising iterativo gera ações suaves e multimodais.
Flow Matching ODE que transporta ruído → ação em poucos steps; viabiliza 50 Hz.

4Tokenização de Trajetórias: Bin Discreto vs Contínuo

Como representar uma trajetória robótica como sequência processável? Duas filosofias fundamentais: discretizar o espaço de ações em buckets (compatível com vocabulário LLM, porém limitado em resolução) ou gerar valores contínuos diretamente via modelos generativos (preciso, porém arquiteturalmente mais complexo).

SVG: Bins vs Contínuo
Left Panel: Discrete Bins Tokenização Discreta (Bins) Bins visual Espaço de ação: −1.0 → +1.0 (256 bins) Bin rectangles bin #134 → x=0.042m ✓ Compatível com vocab LLM ✓ Simples de treinar Resolução: ~7.8mm por bin (workspace 2m) Divider Right Panel: Continuous Geração Contínua (Flow Matching) Flow curve visual Ruído gaussiano → ODE → ação precisa N(0,1) ruído ODE 2-4 steps 0.342m preciso ✓ Alta precisão ✓ Suavidade ✓ Multimodal Custo: arquitetura adicional, inferência mais lenta Escolha depende do trade-off: velocidade × precisão × complexidade
Box de dados
256 bins Por dimensão (RT-2, OpenVLA). Em workspace de 10 cm → resolução de ~0.4 mm. Suficiente para maioria das tarefas.
4–16 steps Action chunking: prediz múltiplas ações futuras de uma vez, melhorando consistência temporal.
7 DoF Dimensões padrão: x, y, z, rotX, rotY, rotZ + gripper. Cada uma precisa de seu próprio bin ou coordenada contínua.
Conceitos-chave
Action Chunking Prediz 4–16 ações futuras de uma vez; reduz jitter e melhora suavidade temporal.
De-tokenization Converte tokens preditos de volta em comandos contínuos para o controlador do robô.
Action Normalization Padroniza todas as dimensões para [−1, 1] antes de discretizar; crítico para treino estável.

5Co-fine-tuning: Visão + Linguagem Juntos

Co-fine-tuning é o processo de treinar simultaneamente os componentes visuais e linguísticos do VLA em dados de demonstração robótica. Em vez de congelar o encoder e treinar só o action head, todos os componentes aprendem juntos — e é exatamente isso que faz VLAs superarem pipelines modulares.

Tip Box

O OpenVLA demonstrou empiricamente que co-fine-tuning melhora a performance em até 16,5% comparado ao fine-tuning apenas do action head. A razão: quando o encoder visual pode se adaptar à tarefa, ele aprende features específicas para manipulação — como detectar bordas de preensão — que features de web images não capturam.

Grid

✓ Benefícios do co-fine-tuning

  • ✓Gradientes da action loss propagam até o encoder — features visuais se adaptam para controle
  • ✓Representações convergem para o que é relevante para a tarefa, não para classificação web
  • ✓Melhor generalização para objetos novos não vistos nas demonstrações
  • ✓LoRA torna co-fine-tuning viável em uma única GPU de consumo

✗ Riscos e mitigações

  • ✗Catastrophic forgetting: backbone perde capacidade linguística → use learning rate baixo (1e-5)
  • ✗Overfitting: dados robóticos são escassos; poucos dados → modelo memoriza em vez de generalizar
  • ✗Custo computacional: co-fine-tuning de 7B é 3-4× mais caro que fine-tuning só do action head
Conceitos-chave
End-to-End Training Gradientes percorrem todos os componentes — percepção, fusão e ação são otimizados juntos.
Multi-task Fine-tuning Treinar em múltiplas tarefas simultâneas preserva generalidade e reduz overfitting.
Regularização Weight decay e dropout mitigam catastrophic forgetting durante co-fine-tuning.

6Latência e Throughput: Budget de Tokens

O gargalo mais cruel dos VLAs reais não é a arquitetura — é o tempo. Um robô precisa decidir ações a 5–50 Hz, mas um LLM de 7B parâmetros pode levar centenas de milissegundos por token. O budget de tokens define quantos tokens visuais e textuais o sistema consegue processar dentro do tempo de controle disponível.

Timeline: frequências de controle

Frequências de controle e o que cada uma viabiliza

5 Hz

Tarefas lentas — empilhar blocos, abrir gavetas

200 ms por ação. VLAs de 7B com quantização INT8 (ex: OpenVLA) conseguem operar nessa frequência em GPUs de consumo. Suficiente para 80% das tarefas de manipulação tabletop.

15 Hz

Manipulação fluida — pegar e colocar objetos variados

~67 ms por ação. Requer modelos menores (3B), quantização agressiva (INT4) ou async inference com action chunking. KV-cache é obrigatório para reusar tokens do contexto.

50 Hz

Dexterous manipulation — dobrar roupa, encaixar peças

20 ms por ação. Território do π0 com flow matching (2-4 ODE steps). Inviável com discretização bin + LLM full size. Requer co-design de arquitetura e hardware.

Box de dados: técnicas de aceleração
2–4× Quantização INT8/INT4: reduz memória e aumenta throughput com perda mínima de precisão (≤1% de degradação em benchmarks robóticos).
3–10× KV-Cache: reutiliza computações de tokens do contexto fixo (instrução + tokens anteriores), evitando recálculo a cada frame.
~5× Token compression: reduz 256 visual tokens para ~64 com pooling ou atenção cruzada; menos tokens = inferência mais rápida.
Tip Box

O Nvidia Jetson AGX Orin (275 TOPS) permite rodar SmolVLA ou Qwen-VLA <3B com quantização INT4 a 8–12 Hz — suficiente para tarefas tabletop — sem nenhum servidor externo. Para modelos de 7B como OpenVLA, ainda é necessário uma GPU discreta (RTX 3090 ou superior) no loop.

Conceitos-chave
Control Frequency Vezes por segundo que o modelo gera ações: 5 Hz (lento) a 50 Hz (dexterous).
KV-Cache Reutiliza chave/valor de tokens anteriores, acelerando inferência incremental em 3–10×.
Quantização INT8/INT4 reduz modelo em 2–4× com perda mínima; viabiliza deploy em GPUs embarcadas.

Recall check

0 of …

Diga a resposta em voz alta antes de revelar — recordar é o que fixa, não releituras.

  1. O encoder visual— SigLIP, DINOv2 ou ViT — converte frames da câmera em visual tokens que o LLM consegue processar via patch embedding.

  2. O backbone LLMfunde visual tokens e text tokens num espaço unificado, trazendo world knowledge e reasoning de bilhões de tokens de pré-treino.

  3. O action headresolve a incompatibilidade discreto×contínuo via bins, diffusion ou flow matching — cada abordagem com trade-offs de precisão, suavidade e latência.

  4. Latência é o gargalo real— KV-cache, quantização e token compression são essenciais para viabilizar controle em tempo real a 5–50 Hz.