pi05_multitask_40min — G1 + Dex3, multitarefa reequilibrada

Ajuste curto (1.800 passos) de um π0.5 sobre cinco tarefas de manipulação do Unitree G1 com mãos Dex3-1, partindo de um checkpoint nosso anterior. O objetivo desta corrida foi testar o reequilíbrio da mistura de tarefas, não produzir um modelo final.

O problema que motivou

O checkpoint anterior (pi05_cotreino_completo, 60.000 passos) foi treinado com a nossa tarefa valendo 17,2% dos quadros e uma tarefa externa (toasted bread) valendo 35,2% — o dobro dela. Filmando o resultado em simulação, o robô varre a mesa com a mão aberta, empurra o objeto e para, sem nunca fechar os dedos. Uma avaliação por replay mediu que, no braço direito (o que executa a tarefa), o erro do modelo (0,131 rad) é pior que não mover o robô (0,099 rad).

O que mudou aqui

Cada tarefa externa foi limitada a ~80 mil quadros e a nossa entrou inteira:

tarefa eps quadros antes agora
place the white cup on the dripper 299 169.832 17,2% 34,8%
object placement 170 79.560 9,8% 16,3%
pour water 204 79.764 12,2% 16,3%
toasted bread 95 79.990 35,2% 16,3%
camera packaging 62 79.050 25,6% 16,2%

As quatro externas ficaram iguais entre si, para dar contraste de linguagem sem nenhuma dominar.

Entradas e saídas

  • observation.images.head_camera — 3×480×848
  • observation.images.right_wrist_camera — 3×224×224
  • observation.state — 29 dims: 14 juntas de braço + kWaistYaw + 14 juntas das duas Dex3
  • action — as mesmas 29, em chunks de 50

Sem profundidade (use_depth_3d: false) e sem pressão: nos datasets externos convertidos da Unitree ambas são zeros, e o decodificador de profundidade devolve 10 m uniformes.

Treino

1.800 passos, batch 4, lr 5e-6 com 200 de warmup, bfloat16 com gradient checkpointing, numa A100 de 80 GB a 0,86 s/passo (~26 min).

val_loss
passo 900 0,1076
passo 1800 0,1046

O que este modelo NÃO é, e o que não se pode concluir dele

  • 1.800 passos é pouco. É um teste de mistura, não uma corrida completa. A melhora de 2,8% entre os passos 900 e 1800 é o único número interno comparável.
  • O val_loss daqui não se compara ao da corrida anterior. Os episódios de validação são outros: aqui são 3 de cada uma das 5 tarefas, lá eram 15 só da nossa. Comparar corridas exige erro em radianos nos mesmos episódios, não loss normalizada por dataset.
  • Não foi avaliado em execução. Nenhum número aqui mede se o robô cumpre a tarefa.
  • A cintura (kWaistYaw) é 0,0 em todos os quadros das quatro tarefas externas — a Unitree gravou com o tronco fixo. Espere pouco dessa dimensão.
Downloads last month
12
Safetensors
Model size
4B params
Tensor type
F32
·
BF16
·
Video Preview
loading