Présentation de Dream-1
Dream-1 est le premier modèle d’action mondiale (World Action Model) disponible via une API publique. Il se connecte à n’importe quel robot bimanuel à préhenseurs parallèles et génère des actions sans besoin de réglage fin ou de démonstrations spécifiques. Le lancement s’accompagne d’un financement seed de 90 M$ et d’une mise à disposition mondiale, ce qui marque la sortie de Dream Labs du mode furtif.
Contexte matériel et économique
Le coût d’un bras robotique bimanuel capable est aujourd’hui d’environ 2 000 $, contre plus de 15 000 $ pour sept semi‑humanoïdes présentés dans le même communiqué. Le Microduck de Hugging Face, vendu à 399 $, a atteint plus de 10 000 unités en quatre jours, illustrant la demande croissante pour des robots abordables destinés aux consommateurs et aux petites équipes.
Mécanisme de généralisation zero-shot
Dream-1 repose sur deux principes clés. D’une part, il prédit les poses d’effet de bout (EEF) – position et état d’ouverture de chaque préhenseur – plutôt que les angles articulaires. Cette représentation commune est transformée en commandes articulaires par le solveur d’inverse kinematics (IK) propre à chaque robot. D’autre part, le modèle observe le monde via trois caméras : une caméra frontale et une caméra au poignet de chaque bras. Cette configuration reproduit le cadre de l’Universal Manipulation Interface (UMI), où les bras apparaissent identiques depuis le poignet, facilitant le transfert de politique entre corps différents.
Le résultat est une capacité à contrôler des robots jamais vus, y compris le PR2, un robot de recherche de 18 ans, sans données d’incarnation spécifiques. Les performances varient toutefois selon la qualité du solveur IK et la précision des caméras, comme le montre la comparaison entre simulation et essais réels fournie par Dream Labs.
Implémentation et limites
import dream
client = dream.DreamClient(
api_key=,
)
client.policy({"checkpoint": "dreamlabs/dream-1"})
client.set_observation(observation)
action = client.get_action()
client.close()
Le code ci‑dessus illustre le flux d’interaction : connexion, chargement du checkpoint, transmission d’une observation et récupération de l’action. Cette simplicité masque des contraintes techniques. Le modèle nécessite un solveur IK performant ; des erreurs de cinématique peuvent entraîner des actions non exécutables. De plus, la généralisation zero-shot ne couvre que les robots à deux bras et préhenseurs parallèles ; les architectures différentes (par exemple, bras à articulation unique ou préhenseurs à doigts multiples) restent hors de portée. Dream‑Labs indique que l’apprentissage « one‑shot » pourrait combler ces lacunes, mais aucune donnée chiffrée n’est fournie à ce jour.