1 points par GN⁺ 2024-11-03 | 1 commentaires | Partager sur WhatsApp
  • Pour qu’une vidéo générative en temps réel réagisse aux entrées comme un jeu, la vitesse de génération des frames est un facteur clé, et Oasis a été dévoilé avec pour objectif un monde IA interactif à 20 fps
  • Decart et Etched montrent une expérience en monde ouvert où la physique, les règles et les graphismes sont générés non par des moteurs séparés, mais comme sortie d’un modèle de fondation
  • Les éléments publiés comprennent une démo live, le code, des poids de modèle de 500M de paramètres exécutables en local, et une démo basée sur des checkpoints plus grands
  • L’architecture repose sur un autoencodeur spatial basé sur Transformer et un backbone de diffusion latente, générant les frames de manière autorégressive en fonction des entrées utilisateur
  • Le flou à longue distance, la cohérence temporelle des objets, la généralisation à d’autres domaines, le contrôle de l’inventaire et la gestion de longs contextes restent des limites, appelant des améliorations côté modèle, jeu de données et inférence

Un monde IA qui réagit aux entrées

  • Oasis est un modèle IA temps réel en monde ouvert présenté par Decart et Etched
  • Il prend en compte les entrées clavier de l’utilisateur pour générer une expérience interactive avec déplacement, saut, collecte d’objets et destruction de blocs
  • La physique, les règles et les graphismes sont inclus dans la sortie du modèle, et l’expérience est construite uniquement à partir d’un modèle de fondation, sans moteur physique séparé
  • Les ressources publiées sont les suivantes
  • Les exemples de résultats incluent la construction, la physique de l’éclairage, la gestion de l’inventaire, la compréhension des objets, l’interaction avec les animaux, la récupération de santé en mangeant, et le fait qu’une pelle agisse plus vite qu’à la main
  • Les environnements générables incluent des lieux comme un espace sombre, des scènes de nuit, diverses dispositions d’objets, l’ouverture de coffres d’inventaire, ainsi que des animaux et personnages
  • Une extension permettant de contrôler l’expérience via du texte, de l’audio et d’autres modalités est également envisageable

Architecture Transformer et inférence en temps réel

  • Le modèle est composé d’un autoencodeur spatial et d’un backbone de diffusion latente
    • Les deux composants sont basés sur Transformer
    • L’autoencodeur repose sur ViT, et le backbone sur DiT
    • Contrairement à des modèles du monde conditionnés par l’action comme GameNGen ou DIAMOND, le choix de Transformer s’explique par une montée en charge stable et prévisible, ainsi que par une inférence rapide sur le Transformer ASIC Sohu d’Etched
  • Contrairement aux modèles bidirectionnels comme Sora, Oasis génère les frames de manière autorégressive
    • Chaque frame peut être conditionnée par l’entrée utilisateur, ce qui permet une interaction en temps réel
    • L’entraînement utilise Diffusion Forcing, qui débruite avec des niveaux de bruit indépendants par token
  • Le principal défi était la stabilité temporelle afin de conserver une sortie naturelle sur de longues durées
    • Dans les modèles autorégressifs, les erreurs s’accumulent et de petits défauts peuvent se transformer en frames glitchées
    • Pour réduire cela, l’inférence utilise un dynamic noising qui ajuste le bruit selon un planning
    • Lors du forward pass initial de diffusion, du bruit est injecté pour limiter l’accumulation d’erreurs, puis il est progressivement retiré dans les passes suivantes afin de préserver les détails haute fréquence de la frame précédente

Performances à 20 fps et goulots d’étranglement matériels

  • Oasis génère une sortie temps réel à 20 fps
    • Des modèles texte-vers-vidéo à architecture DiT similaire comme Sora, Mochi-1 et Runway peuvent mettre 10 à 20 secondes pour produire 1 seconde de vidéo, même sur plusieurs GPU
    • Une interaction en temps réel exige de générer une nouvelle frame toutes les 0,04 seconde, soit une vitesse plus de 100 fois supérieure
    • La stack d’inférence de Decart permet une exécution à framerate live
  • Une exécution plus rapide, à grande échelle et économiquement efficace nécessite un nouveau matériel
    • Oasis est optimisé pour le Transformer ASIC Sohu d’Etched
    • Sohu peut monter jusqu’à des modèles de nouvelle génération de plus de 100B paramètres en résolution 4K
    • L’architecture Transformer end-to-end d’Oasis est efficace sur Sohu et peut servir plus de 10 fois plus d’utilisateurs, même avec des modèles de plus de 100B paramètres

Des limites encore présentes

  • Le flou des images lointaines, la cohérence temporelle incertaine des objets, la généralisation à d’autres domaines, le contrôle précis de l’inventaire, le contrôle précis des objets et la mémoire limitée sur de longues périodes restent des limites
  • Après une analyse de sensibilité sur la configuration de l’architecture, les données et la taille du modèle, l’hypothèse avancée est qu’une grande partie de ces problèmes pourrait être résolue en augmentant l’échelle du modèle et du jeu de données
  • Même avec des modèles plus grands, de nouvelles techniques d’inférence seront nécessaires pour préserver l’équilibre entre latence et coût

1 commentaires

 
GN⁺ 2024-11-03
Avis sur Hacker News
  • Si vous étiez en train de rêver dans Minecraft, ça ressemblerait probablement à ça
    Le manque de persistance des objets donne vraiment une impression de rêve. Les niveaux d’éclairage sont aussi intéressants : si l’on regarde longtemps un endroit sombre ou qu’on entre « sous l’eau » et que l’écran devient noir, il est difficile de revenir à autre chose qu’un écran noir. Lors d’une de mes sessions, je n’ai pas réussi. C’est une sensation assez étrange

  • Je ne vois pas très bien comment on peut concevoir et publier des jeux de cette manière. On ne peut pas concevoir un jeu en définissant directement les poids du modèle
    Un jour, on pourra peut-être répliquer des jeux sans éléments manquants comme la persistance des objets ou l’état à long terme, mais le coût d’exécution du moteur d’inférence risque d’être plus élevé que celui du moteur de jeu qu’il imite. En tant que personne qui fait de l’IA depuis longtemps, je me demande vraiment à quoi cette technologie peut servir

    • Exact. C’est pourquoi l’objectif principal du prochain modèle est d’arriver à un stade où l’on peut « coder » de nouveaux mondes par prompt
      Je suis d’accord pour dire que ces outils deviendront extrêmement utiles lorsqu’il existera une bonne manière pour les créateurs de « développer » de nouveaux mondes ou jeux par-dessus ce système, et pour les utilisateurs d’interagir avec ces mondes. Au final, il faut fournir une « API » comparable à celle d’un moteur de jeu. Les créateurs construisent des mondes, et les utilisateurs interagissent avec ces mondes. Si l’IA peut réellement remplir ce rôle, alors 1) créer des mondes et des jeux pourrait devenir beaucoup plus simple, simplement en disant des choses comme « ajoute ici un éléphant rose qui vole », et 2) de véritables mondes infinis deviennent possibles, puisque l’utilisateur peut interagir avec un monde qui évolue selon chaque session de jeu. Est-ce qu’on en est déjà là ? Bien sûr que non. Oasis v1 est une première preuve de concept ; il suffit d’attendre encore un peu la v2 ;)
    • Évidemment, cet outil ne va pas produire tout de suite un jeu prêt à être publié. L’IA en est encore très loin
      Cela dit, côté « conception », il n’est pas difficile de voir à quel point il pourrait être utile de prototyper rapidement des jeux, même en consommant énormément de GPU. Ces articles ne sont que des jalons dans cette direction
    • Les artefacts visuels m’ont gêné. Je me demande si quelqu’un a déjà entraîné un modèle sur la sortie d’un moteur de jeu avant rastérisation, comme les maillages/matériaux, la caméra, ou même des appels OpenGL bruts
      Une IA qui générerait des entrées pour un vrai moteur ou renderer pourrait résoudre le problème de fidélité visuelle
    • Ça me semble facile. Il suffit d’appliquer aux modèles de monde de jeux vidéo la même approche que pour les images IA
      En combinant plusieurs modèles et en prenant des morceaux de chaque « modèle de monde » de jeu, on obtient quelque chose qui revient presque à créer un jeu entièrement nouveau. Les éléments manquants comme la persistance des objets ou l’état à long terme peuvent être ajoutés avec un ensemble de variables beaucoup plus petit. Puisqu’on injecte déjà l’intégralité de l’image précédente et les entrées utilisateur dans les poids, je ne vois pas pourquoi on ne pourrait pas aussi y ajouter un état de jeu simplifié
    • Il devrait être possible de prendre un film comme Avatar et d’en faire une expérience plus ou moins interactive
  • Ils parlent d’un « jeu vidéo entièrement généré par IA », mais en faisant Ctrl-F sur la page web, Minecraft apparaît 0 fois. Je ne sais pas pourquoi
    Ce n’est pas un jeu vidéo, c’est une copie grossière d’un vrai jeu vidéo, sans même l’effort de le nommer ou de lui donner crédit

    • On dirait une tentative intéressante d’éviter les problèmes juridiques
      Ils ne peuvent pas dire « Minecraft » parce que c’est une marque de Microsoft, mais semblent considérer qu’utiliser des images de Minecraft comme données d’entraînement est acceptable. Tout le monde, Microsoft compris, utilise des données propriétaires pour entraîner des modèles de diffusion. Le problème, c’est que la sortie ressemble manifestement à Minecraft, mais Microsoft a aussi le problème que Bing et DALL-E génèrent, malgré les garde-fous, des images qui ressemblent clairement à des éléments protégés par une marque
    • Minecraft apparaît tout de même une fois dans le deuxième paragraphe de la section Architecture. Il est écrit : « ...We train on a subset of open-source Minecraft video data collected by OpenAI[9]. »
      Je ne sais pas si cela a été ajouté après le commentaire original
    • C’est étrange. Encore plus quand on compare avec https://diamond-wm.github.io/, qui mentionne explicitement Counter Strike
      Quand un travail scientifique utilise une œuvre sans lui donner crédit, c’est de la malhonnêteté académique. Ils auraient pu entraîner sur un autre jeu de données, mais quelle que soit la source utilisée, elle doit être citée
    • C’est bizarre de présenter le modèle comme capable de générer n’importe quel environnement, tout en ne montrant dans la démo que le jeu pour lequel il existe le plus de données
  • C’est vraiment impressionnant, et c’est bien de voir ces modèles continuer à progresser rapidement. Cela dit, je me demande comment fonctionnera l’état à long terme
    Par exemple, construire une base puis y revenir plus tard, les règles de jeu imposées par du code traditionnel, le multijoueur, ou le chargement de parties sauvegardées : je ne vois pas comment ces états induits seraient gérés. Fondamentalement, état externe et mémoire/simulation sont des choses différentes, donc il est peu probable que cela se résolve simplement en agrandissant la fenêtre de contexte ou le modèle. Cela aiderait, bien sûr. Quoi qu’il en soit, ce type de modèle servira sans doute bientôt à imaginer des tâches orientées objectif. Par exemple, un agent qui doit retrouver une image précise sur un ordinateur pourrait imaginer en continu le chemin entre ce qu’il voit actuellement et l’état désiré. Ce modèle reçoit des entrées utilisateur, mais un tel agent imaginerait aussi ces entrées. D’après ce que j’ai compris, quelque chose de similaire se produit déjà, sans pixels, dans certains réseaux de contrôle robotique

    • Dans cette démo, il n’y a presque aucune trace d’état. Même en maintenant « tourner à gauche » pendant l’équivalent d’un tour complet, on ne revient pas au point de départ
      Après quelques tours, les détails disparaissent et on se retrouve au milieu d’un océan vide. Avec cette technologie, il semble impossible de créer une version jouable de Mario, sans même parler de Minecraft
  • Ce n’est pas un jeu vidéo ; c’est plutôt un simulateur rapide de captures d’écran Minecraft, où le prompt entre chaque image est l’état des entrées et l’image précédente
    Il y a une sorte de cohérence, dans une certaine mesure

  • En gros, ils ont entraîné le modèle sur Minecraft. Ce n’est absolument pas généraliste
    Le jeu ne vient pas d’un prompt, mais probablement d’un énorme jeu de données de parties de Minecraft et d’un fine-tuning. J’aimerais voir ce genre de travail où le monde ou le jeu sort vraiment d’un prompt

    • Attendez simplement Oasis v2, qui arrive bientôt :)
      Pour info, je fais partie de l’équipe Oasis
  • Si l’on permettait à l’utilisateur de dessiner directement dans le framebuffer pendant la partie, puis de réinjecter cela en entrée, il pourrait en sortir quelque chose d’assez intéressant

    • Dessiner Minecraft à la main serait vraiment difficile, donc ça partirait probablement complètement en vrille
  • La file d’attente était trop longue, j’ai abandonné. Je me demande si le modèle génère les pixels eux-mêmes, ou s’il génère seulement l’environnement et le rend de manière « traditionnelle »

    • S’il générait un environnement rendu de manière traditionnelle, il y aurait probablement une persistance des objets au lieu de générer quelque chose de nouveau après un bref coup d’œil ailleurs : https://oasis-model.github.io/3_second_memory.webp
    • Tous les pixels sont générés. Les actions de l’utilisateur entrent, les pixels sortent, et entre les deux il n’y a qu’un Transformer :)
      Pourquoi est-ce intéressant ? Aujourd’hui, ça ne l’est peut-être pas tant que ça. Oasis v1 n’est qu’une preuve de concept. Mais si l’on pense à l’avenir, aux prochaines versions d’Oasis qui arriveront littéralement dans quelques mois, on peut imaginer une situation où tous les pixels visibles sont générés, y compris ceux que vous voyez en lisant ce message. C’est une nouvelle interface de communication entre humains et machines. Si les LLM sont intéressants dans le chat parce qu’ils permettent aux humains et aux machines d’interagir par la conversation, une forme familière aux humains, ici l’ordinateur devient capable de voir le monde comme nous le voyons et de nous le restituer d’une manière qui nous est familière. En résumé, imaginez dire à l’ordinateur « crée un éléphant rose » et le voir apparaître immédiatement dans le jeu auquel vous êtes en train de jouer
    • Il génère les pixels. Y compris l’interface floue en bas
  • Il faudrait peut-être entraîner un modèle sur des jeux Mario pour pousser Nintendo à se battre pour une « bonne cause »