1 puntos por GN⁺ 2024-11-03 | 1 comentarios | Compartir por WhatsApp
  • Para que el video generativo en tiempo real responda a entradas como un juego, la velocidad de generación de frames es clave, y Oasis se presentó con el objetivo de crear mundos de IA interactivos a 20 fps
  • Decart y Etched muestran una experiencia de mundo abierto donde la física, las reglas y los gráficos no los genera un motor separado, sino la salida de un modelo fundacional
  • Lo publicado incluye una demo en vivo, código, pesos de un modelo de 500M parámetros ejecutables localmente y una demo basada en un checkpoint más grande
  • La arquitectura combina un autoencoder espacial basado en Transformer y una columna vertebral de difusión latente, generando frames de forma autorregresiva según las entradas del usuario
  • La borrosidad a distancia, la consistencia temporal de los objetos, la generalización de dominio, el control del inventario y el manejo de contextos largos siguen siendo limitaciones, y se necesita escalar el modelo y el dataset, además de mejorar la inferencia

Mundos de IA que responden a la entrada del usuario

  • Oasis es un modelo de IA de mundo abierto en tiempo real presentado por Decart y Etched
  • Recibe entradas del teclado del usuario y genera experiencias interactivas como moverse, saltar, recoger ítems y destruir bloques
  • La física, las reglas y los gráficos forman parte de la salida del modelo, y la experiencia se construye solo con el modelo fundacional, sin un motor de física separado
  • Los recursos publicados son los siguientes
  • Los ejemplos de resultados incluyen construcción, física de iluminación, gestión de inventario, comprensión de objetos, interacción con animales, recuperación de salud al comer y acciones con una pala más rápidas que con la mano
  • Entre los entornos que puede generar hay lugares oscuros similares al espacio, escenas nocturnas, distintas disposiciones de objetos, apertura de cajas de inventario, animales y personajes
  • También son posibles direcciones de expansión para controlar la experiencia mediante texto, audio y otras modalidades

Arquitectura Transformer e inferencia en tiempo real

  • El modelo está compuesto por un autoencoder espacial y una columna vertebral de difusión latente
    • Ambos componentes están basados en Transformer
    • El autoencoder se basa en ViT y la columna vertebral en DiT
    • A diferencia de modelos de mundo condicionados por acciones como GameNGen y DIAMOND, se eligió Transformer por su escalado estable y predecible, y por la inferencia rápida en Sohu, el ASIC para Transformer de Etched
  • A diferencia de modelos bidireccionales como Sora, Oasis genera frames de forma autorregresiva
    • Cada frame puede condicionarse a la entrada del usuario, lo que permite interacción en tiempo real
    • Para el entrenamiento se usa Diffusion Forcing, que elimina ruido con niveles de ruido independientes por token
  • La estabilidad temporal, es decir, mantener una salida natural durante periodos largos, fue uno de los principales desafíos
    • En los modelos autorregresivos, los errores se acumulan y pequeños defectos pueden convertirse en frames con glitches
    • Para reducir esto, durante la inferencia se usa dynamic noising, que ajusta el ruido según un calendario
    • En los primeros forward passes de difusión se inyecta ruido para reducir la acumulación de errores, y en los passes posteriores el ruido se elimina gradualmente para conservar los detalles de alta frecuencia de los frames anteriores

Rendimiento de 20 fps y cuellos de botella de hardware

  • Oasis genera salida en tiempo real a 20 fps
    • Modelos de texto a video con estructuras DiT similares, como Sora, Mochi-1 y Runway, pueden tardar entre 10 y 20 segundos en crear 1 segundo de video incluso con varias GPU
    • La interacción en tiempo real requiere generar un frame nuevo cada 0.04 segundos, lo que implica una velocidad más de 100 veces mayor
    • La pila de inferencia de Decart permite ejecutarlo a framerate en vivo
  • Para una ejecución más rápida, a gran escala y eficiente en costos se necesita nuevo hardware
    • Oasis está optimizado para Sohu, el ASIC para Transformer de Etched
    • Sohu puede escalar hasta modelos de próxima generación de más de 100B parámetros con resolución 4K
    • La arquitectura Transformer end-to-end de Oasis es eficiente en Sohu y puede atender a más de 10 veces más usuarios incluso con modelos de más de 100B parámetros

Limitaciones que aún quedan

  • Siguen siendo limitaciones la borrosidad de imágenes a larga distancia, la consistencia temporal de objetos inciertos, la generalización de dominio, el control preciso del inventario, el control preciso de objetos y la memoria limitada en rangos temporales largos
  • Tras analizar la sensibilidad a la composición de la arquitectura, los datos y el tamaño del modelo, plantean la hipótesis de que muchos problemas pueden resolverse escalando el modelo y el dataset
  • Incluso si se desarrollan modelos más grandes, se necesitarán nuevas tecnologías de inferencia para mantener el equilibrio entre latencia y costo

1 comentarios

 
GN⁺ 2024-11-03
Opiniones en Hacker News
  • Si estuvieras soñando en Minecraft, creo que se sentiría así.
    Se siente realmente como un sueño por la falta de persistencia de objetos. Los niveles de iluminación también son interesantes: si miras mucho tiempo un lugar oscuro o entras “bajo el agua” y la pantalla se pone negra, cuesta volver a un estado que no sea una pantalla negra. En una partida que probé no lo logré. Es una sensación bastante rara.

  • No tengo claro cómo se podría diseñar y lanzar un juego de esta manera. No puedes diseñar un juego ajustando directamente los pesos de un modelo.
    Tal vez algún día se puedan replicar juegos sin los elementos que faltan, como persistencia de objetos o estado a largo plazo, pero es muy probable que el costo de correr el motor de inferencia sea mayor que el del motor de juego que está imitando. Como alguien que lleva mucho tiempo en IA, de verdad me da curiosidad para qué será útil esta tecnología.

    • Exacto. Por eso el objetivo central del siguiente modelo es llegar a un punto en el que puedas “programar” mundos nuevos con prompts.
      Estoy de acuerdo en que estas herramientas se vuelven enormemente útiles cuando exista una buena forma para que los creadores “desarrollen” nuevos mundos o juegos sobre este sistema, y para que los usuarios interactúen con esos mundos. Al final, hay que ofrecer una “API” como la de un motor de juegos. Los creadores hacen mundos y los usuarios interactúan con ellos. Si la IA realmente puede cumplir ese rol, entonces 1) crear mundos y juegos podría volverse mucho más fácil, con solo decir cosas como “agrega aquí un elefante rosa volador”, y 2) serían posibles mundos verdaderamente infinitos, porque el usuario podría interactuar con mundos que cambian según cada sesión de juego. ¿Ya estamos ahí? Obviamente no. Oasis v1 es una primera prueba de concepto; solo hay que esperar un poquito más a v2 ;)
    • Obviamente esta herramienta no va a crear de inmediato un juego listo para lanzar. A la IA todavía le falta mucho.
      Pero desde el punto de vista del “diseño”, no es difícil ver lo útil que podría ser para prototipar juegos rápidamente, aunque use una enorme cantidad de GPU. Estos papers son solo escalones en esa dirección.
    • Los artefactos visuales me molestaron. Me pregunto si alguien ha entrenado algo con salidas de motor de juego previas al rasterizado, como mallas/materiales, cámaras o incluso llamadas OpenGL primitivas.
      Una IA que genere entradas para un renderer o motor real podría resolver el problema de la fidelidad visual.
    • Me parece fácil. Solo hay que aplicar a los modelos de mundo de videojuegos el mismo enfoque que se usó con imágenes de IA.
      Combinas varios modelos y tomas partes de cada “modelo de mundo” de juego para recombinarlas, y eso se parece mucho a crear un juego casi completamente nuevo. Los elementos faltantes, como la persistencia de objetos o el estado a largo plazo, se pueden agregar con un conjunto de variables mucho más pequeño. Si ya están metiendo todo el frame anterior y la entrada del usuario en los pesos, no veo por qué no podrían meter también un estado de juego simplificado.
    • Parece que podrías tomar una película como Avatar y convertirla en una experiencia hasta cierto punto interactiva.
  • Dicen “videojuego generado completamente por IA”, pero busqué con Ctrl-F en la página y Minecraft apareció 0 veces. No entiendo por qué.
    Esto no es un videojuego, sino una copia burda de un videojuego real, sin siquiera hacer el esfuerzo de nombrarlo o darle crédito.

    • Parece un intento interesante de evitar problemas legales.
      No pueden decir “Minecraft” porque es una marca registrada de Microsoft, pero parecen considerar aceptable usar imágenes de Minecraft como datos de entrenamiento. Todo el mundo, incluido Microsoft, está usando datos propietarios para entrenar modelos de difusión. El problema es que la salida se parece claramente a Minecraft, aunque Microsoft también tiene el problema de que Bing y DALL-E generan imágenes que se parecen claramente a cosas con marca registrada, pese a sus protecciones.
    • En el segundo párrafo de la sección Architecture sí aparece Minecraft una vez. Dice: “...We train on a subset of open-source Minecraft video data collected by OpenAI[9].”
      No sé si lo agregaron después del comentario original.
    • Es raro. Más aún si lo comparas con https://diamond-wm.github.io/, que menciona explícitamente Counter Strike.
      Si un trabajo científico usa una obra y no le da crédito, eso es deshonestidad académica. Podrían haber entrenado con otro dataset, pero sea cual sea la fuente que usaron, deberían citarla.
    • Es raro que hablen como si el modelo pudiera generar cualquier entorno, pero la demo solo muestre el juego del que hay más datos.
  • Es realmente genial, y también es bueno ver cómo estos modelos siguen avanzando tan rápido. Pero me pregunto cómo funcionará el estado a largo plazo.
    Por ejemplo, no sé cómo se manejarían estados inducidos como construir una base y volver después, reglas de juego impuestas por código tradicional, multijugador o cargar partidas guardadas. Fundamentalmente, el estado externo y la memoria/simulación son cosas distintas, así que probablemente no baste con ampliar la ventana de contexto o hacer más grande el modelo. Aunque claro, ayudaría. En cualquier caso, creo que estos modelos pronto se usarán para imaginar tareas orientadas a objetivos. Por ejemplo, un agente que debe encontrar cierta imagen en una computadora podría imaginar continuamente el camino entre el estado que ve ahora y el estado deseado. Este modelo recibe entradas del usuario, pero ese agente también imaginaría esas entradas. Según entiendo, algo parecido ya ocurre sin píxeles en algunas redes de control robótico.

    • En esta demo casi no hay ni rastro de estado. Si mantienes presionado “girar a la izquierda” durante el equivalente a una vuelta completa, no vuelves al punto de partida.
      Después de unas cuantas vueltas, los detalles desaparecen y quedas en medio de un océano vacío. Con esta tecnología no parece posible crear una versión jugable ni de Mario, mucho menos de Minecraft.
  • Esto no es un videojuego; se parece más a un simulador rápido de capturas de pantalla de Minecraft, donde el prompt entre cada frame es el estado de entrada y el frame anterior.
    Tiene algo que se parece a cierta coherencia.

  • Básicamente entrenaron el modelo con Minecraft. No es general en absoluto.
    Probablemente el juego no salió del prompt, sino de un dataset enorme de partidas de Minecraft y del fine-tuning. Me gustaría ver algo así donde el mundo o el juego sí salgan del prompt.

    • Espera a ver el próximo Oasis v2 :)
      Como referencia, soy parte del equipo de Oasis.
  • Si durante la partida permitieran que el usuario dibuje directamente en el frame buffer y luego lo usaran de nuevo como entrada, podrían salir cosas bastante interesantes.

    • Dibujar Minecraft a mano es realmente difícil, así que probablemente se rompería muchísimo.
  • La fila era demasiado larga, así que me rendí. Me pregunto si el modelo genera los píxeles en sí, o si solo genera el entorno y luego lo renderiza de forma “tradicional”.

    • Si generara un entorno que se renderiza de forma tradicional, probablemente tendría persistencia de objetos en vez de generar algo nuevo después de mirar a otro lado por un momento: https://oasis-model.github.io/3_second_memory.webp
    • Se generan todos los píxeles. Entra la acción del usuario, salen píxeles, y entre medio solo hay un Transformer :)
      ¿Por qué es interesante? Hoy quizá no lo parezca tanto. Oasis v1 es solo una prueba de concepto. Pero si piensas en el futuro, en las siguientes versiones de Oasis que saldrán literalmente en unos meses, puedes imaginar una situación en la que todos los píxeles que ves se generen, incluidos los píxeles que estás viendo mientras lees este mensaje. Esto es una nueva interfaz de comunicación entre humanos y máquinas. Si los LLM son interesantes en el chat porque permiten que humanos y máquinas interactúen mediante conversación, una forma familiar para los humanos, aquí la computadora puede ver el mundo como nosotros lo vemos y mostrárnoslo de nuevo de una forma a la que estamos acostumbrados. En resumen, imagina decirle a la computadora “crea un elefante rosa” y verlo aparecer de inmediato en el juego que estás jugando.
    • Genera píxeles. Incluso la UI borrosa de la parte inferior.
  • Tal vez habría que entrenar el modelo con un juego de Mario para hacer que Nintendo luche por una “buena causa”.