Instructions to use Mrwlker/pi05_multitask_40min with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use Mrwlker/pi05_multitask_40min with LeRobot:
- Notebooks
- Google Colab
- Kaggle
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×848observation.images.right_wrist_camera— 3×224×224observation.state— 29 dims: 14 juntas de braço +kWaistYaw+ 14 juntas das duas Dex3action— 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_lossdaqui 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