Modelos y plataformas de IA
StreamDiffusion: Una solución a nivel de tubería para la generación interactiva en tiempo real

Debido a su vasto potencial y oportunidades de comercialización, particularmente en juegos, transmisión y streaming de video, el Metaverso es actualmente una de las tecnologías de crecimiento más rápido. Las aplicaciones modernas del Metaverso utilizan marcos de inteligencia artificial, incluida la visión por computadora y los modelos de difusión, para mejorar su realismo. Un desafío significativo para las aplicaciones del Metaverso es integrar varias tuberías de difusión que brinden baja latencia y alto rendimiento, garantizando una interacción efectiva entre los humanos y estas aplicaciones.
Hoy en día, los marcos de inteligencia artificial basados en difusión destacan en la creación de imágenes a partir de textos o imágenes, pero no logran interacciones en tiempo real. Esta limitación es particularmente evidente en tareas que requieren entrada continua y alto rendimiento, como gráficos de videojuegos, aplicaciones del Metaverso, transmisión y streaming de video en vivo.
En este artículo, discutiremos StreamDiffusion, una tubería de difusión en tiempo real desarrollada para generar imágenes interactivas y realistas, abordando las limitaciones actuales de los marcos basados en difusión en tareas que involucran entrada continua. StreamDiffusion es un enfoque innovador que transforma el ruido secuencial de la imagen original en un ruido por lotes, con el objetivo de permitir un alto rendimiento y flujos fluidos. Este enfoque se aleja del método tradicional de espera y interacción utilizado por los marcos basados en difusión existentes. En las secciones siguientes, exploraremos el marco de StreamDiffusion en detalle, analizando su funcionamiento, arquitectura y resultados comparativos con los marcos actuales de vanguardia. Comencemos.
StreamDiffusion: Una introducción a la generación interactiva en tiempo real
Las aplicaciones del Metaverso son aplicaciones intensivas en rendimiento, ya que procesan grandes cantidades de datos, incluyendo textos, animaciones, videos e imágenes en tiempo real, para brindar a sus usuarios interfaces interactivas y experiencias de marca. Las aplicaciones modernas del Metaverso dependen de marcos basados en inteligencia artificial, incluida la visión por computadora, el procesamiento de imágenes y los modelos de difusión, para lograr una baja latencia y un alto rendimiento, garantizando una experiencia de usuario sin interrupciones. Actualmente, la mayoría de las aplicaciones del Metaverso dependen de la reducción de la frecuencia de iteraciones de desenoising para garantizar un alto rendimiento y mejorar las capacidades interactivas en tiempo real. Estos marcos optan por una estrategia común que implica reformular el proceso de difusión con ecuaciones diferenciales ordinarias (ODE) o reducir los modelos de difusión multietapa a unas pocas etapas o incluso a una sola etapa. Aunque este enfoque produce resultados satisfactorios, tiene ciertas limitaciones, como flexibilidad limitada y altos costos computacionales.
Por otro lado, StreamDiffusion es una solución a nivel de tubería que comienza desde una dirección ortogonal y mejora las capacidades del marco para generar imágenes interactivas en tiempo real, garantizando un alto rendimiento. StreamDiffusion utiliza una estrategia simple en la que, en lugar de desenoising la entrada original, el marco divide el paso de desenoising en lotes. La estrategia se inspira en el procesamiento asíncrono, ya que el marco no necesita esperar a que se complete la primera etapa de desenoising antes de pasar a la segunda etapa, como se muestra en la siguiente imagen. Para abordar el problema de la frecuencia de procesamiento de U-Net y la frecuencia de entrada sincrónicamente, el marco de StreamDiffusion implementa una estrategia de cola para almacenar la entrada y las salidas.

Aunque el marco de StreamDiffusion se inspira en el procesamiento asíncrono, es único en su propio derecho, ya que implementa paralelismo de GPU que permite al marco utilizar un solo componente U-Net para desenoising una característica latente ruidosa por lotes. Además, las tuberías basadas en difusión existentes enfatizan en los prompts dados en las imágenes generadas, incorporando una guía libre de clasificador, lo que resulta en que las tuberías actuales estén sobrecargadas con sobrecostos computacionales redundantes y excesivos. Para garantizar que la tubería de StreamDiffusion no enfrente los mismos problemas, implementa un enfoque innovador de guía libre de clasificador residual (RCFG) que utiliza un ruido residual virtual para aproximar las condiciones negativas, lo que permite al marco calcular las condiciones de ruido negativo en las etapas iniciales del proceso. Además, la tubería de StreamDiffusion también reduce los requisitos computacionales de una tubería de difusión tradicional, implementando una estrategia de filtrado de similitud estocástica que determina si la tubería debe procesar las imágenes de entrada, calculando las similitudes entre entradas continuas.
El marco de StreamDiffusion se basa en los conocimientos de los modelos de difusión y los modelos de difusión acelerados.

Los modelos de difusión son conocidos por sus capacidades excepcionales de generación de imágenes y la cantidad de control que ofrecen. Debido a sus capacidades, los modelos de difusión han encontrado aplicaciones en edición de imágenes, generación de texto a imagen y generación de video. Además, el desarrollo de modelos consistentes ha demostrado el potencial para mejorar la eficiencia de procesamiento de muestras sin comprometer la calidad de las imágenes generadas por el modelo, lo que ha abierto nuevas puertas para expandir la aplicabilidad y la eficiencia de los modelos de difusión, reduciendo el número de pasos de muestreo. Aunque son muy capaces, los modelos de difusión tienden a tener una limitación importante: generación de imágenes lenta. Para abordar esta limitación, los desarrolladores introdujeron modelos de difusión acelerados, marcos basados en difusión que no requieren pasos de entrenamiento adicionales o implementan estrategias de predictor-corrección y solvers de tamaño de paso adaptativo para aumentar las velocidades de salida.
El factor diferenciador entre StreamDiffusion y los marcos basados en difusión tradicionales es que, mientras que estos se centran principalmente en la latencia baja de los modelos individuales, StreamDiffusion introduce un enfoque a nivel de tubería diseñado para lograr altos rendimientos, permitiendo una difusión interactiva eficiente.
StreamDiffusion: Funcionamiento y Arquitectura
La tubería de StreamDiffusion es una tubería de difusión en tiempo real desarrollada para generar imágenes interactivas y realistas, y emplea 6 componentes clave: RCFG o Guía Libre de Clasificador Residual, Estrategia de Lote de Stream, Filtro de Similitud Estocástica, una cola de entrada-salida, herramientas de aceleración de modelo con autoencoder y un procedimiento de precomputación. Analicemos estos componentes en detalle.
Estrategia de Lote de Stream
Tradicionalmente, los pasos de desenoising en un modelo de difusión se realizan secuencialmente, lo que resulta en un aumento significativo en el tiempo de procesamiento de U-Net en función del número de pasos de procesamiento. Sin embargo, es esencial aumentar el número de pasos de procesamiento para generar imágenes de alta fidelidad, y el marco de StreamDiffusion introduce la Estrategia de Lote de Stream para superar la resolución de alta latencia en los marcos de difusión interactivos.
En la Estrategia de Lote de Stream, las operaciones de desenoising secuencial se reestructuran en procesos por lotes, con cada lote correspondiente a un número determinado de pasos de desenoising, y el número de estos pasos de desenoizing se determina por el tamaño de cada lote. Gracias a este enfoque, cada elemento del lote puede proceder un paso más en la secuencia de desenoising utilizando el U-Net de un solo pasaje. Al implementar la estrategia de lote de stream de forma iterativa, las imágenes de entrada codificadas en el tiempo “t” se pueden transformar en sus respectivas imágenes de imagen a imagen en el tiempo “t+n”, lo que simplifica el proceso de desenoizing.
Guía Libre de Clasificador Residual
CFG o Guía Libre de Clasificador es un algoritmo de inteligencia artificial que realiza una serie de cálculos vectoriales entre el término de acondicionamiento original y un término de acondicionamiento negativo o no acondicionado para mejorar el efecto del acondicionamiento original. El algoritmo refuerza el efecto del prompt, aunque para calcular el ruido residual de acondicionamiento negativo, es necesario emparejar variables latentes de entrada individuales con incrustaciones de acondicionamiento negativo, seguidas de pasar las incrustaciones a través de U-Net en el tiempo de referencia.
Para abordar este problema planteado por el algoritmo de Guía Libre de Clasificador, el marco de StreamDiffusion introduce el algoritmo de Guía Libre de Clasificador Residual con el objetivo de reducir los costos computacionales para la interferencia adicional de U-Net para la incrustación de acondicionamiento negativo. Primero, la entrada latente codificada se transfiere a la distribución de ruido utilizando valores determinados por el programador de ruido. Una vez implementado el modelo de consistencia latente, el algoritmo puede predecir la distribución de datos y utilizar el ruido residual de CFG para generar la siguiente distribución de ruido.

Cola de Entrada-Salida
El problema principal con los marcos de generación de imágenes de alta velocidad es sus módulos de red neuronal, incluidos los componentes U-Net y VAE. Para maximizar la eficiencia y la velocidad de salida general, los marcos de generación de imágenes mueven procesos como el preprocesamiento y el postprocesamiento de imágenes que no requieren un manejo adicional por los módulos de red neuronal fuera de la tubería, después de lo cual se procesan en paralelo. Además, en cuanto al manejo de la imagen de entrada, operaciones específicas, incluida la conversión de formato de tensor, el cambio de tamaño de la imagen de entrada y la normalización, se ejecutan meticulosamente por la tubería.
Para abordar la disparidad en las frecuencias de procesamiento entre el rendimiento del modelo y la entrada humana, la tubería integra un sistema de cola de entrada-salida que permite una eficiente paralelización, como se muestra en la siguiente imagen.

Los tensores de entrada procesados se colocan en cola de forma metódica para los modelos de difusión, y durante cada cuadro, el modelo recupera el tensor más reciente de la cola de entrada y lo transfiere al codificador VAE, iniciando así el proceso de generación de imágenes. Al mismo tiempo, la salida del tensor del decodificador VAE se alimenta a la cola de salida. Finalmente, los datos de imagen procesados se transmiten al cliente de renderizado.
Filtro de Similitud Estocástica
En escenarios donde las imágenes permanecen sin cambios o muestran cambios mínimos sin un entorno estático o sin interacción del usuario, se alimentan imágenes de entrada que se asemejan entre sí repetidamente a los componentes U-Net y VAE. La alimentación repetida conduce a la generación de imágenes casi idénticas y al consumo adicional de recursos de GPU. Además, en escenarios que involucran entradas continuas, pueden surgir imágenes de entrada no modificadas ocasionalmente. Para superar este problema y prevenir la utilización innecesaria de recursos, la tubería de StreamDiffusion emplea un componente de Filtro de Similitud Estocástica en su tubería. El Filtro de Similitud Estocástica calcula primero la similitud coseno entre la imagen de referencia y la imagen de entrada, y utiliza la puntuación de similitud coseno para calcular la probabilidad de omitir los procesos de U-Net y VAE subsiguientes.
En función de la puntuación de probabilidad, la tubería decide si se deben omitir o no los procesos subsiguientes, como la codificación VAE, la decodificación VAE y U-Net. Si estos procesos no se omiten, la tubería guarda la imagen de entrada en ese momento y actualiza simultáneamente la imagen de referencia para usarla en el futuro. Este mecanismo de omisión basado en probabilidad permite que la tubería de StreamDiffusion funcione completamente en escenarios dinámicos con baja similitud entre cuadros, mientras que en escenarios estáticos, la tubería funciona con una similitud entre cuadros más alta. El enfoque ayuda a conservar los recursos computacionales y también garantiza una utilización óptima de la GPU en función de la similitud de las imágenes de entrada.
Precomputación
La arquitectura de U-Net requiere incrustaciones de acondicionamiento, así como variables latentes de entrada. Tradicionalmente, las incrustaciones de acondicionamiento se derivan de incrustaciones de prompt que permanecen constantes en todos los cuadros. Para optimizar la derivación de las incrustaciones de prompt, la tubería de StreamDiffusion precomputa estas incrustaciones de prompt y las almacena en una caché, que se llaman en modo de transmisión o interactivo. Dentro del marco de U-Net, el par clave-valor se calcula en función de la incrustación de prompt precomputada de cada cuadro, y con ligeras modificaciones en U-Net, estos pares clave-valor se pueden reutilizar.
Aceleración de Modelo y Autoencoder Pequeño
La tubería de StreamDiffusion emplea TensorRT, una herramienta de optimización de Nvidia (NVDA ) para interfaces de aprendizaje profundo, para construir los motores VAE y U-Net, con el fin de acelerar la velocidad de inferencia. Para lograr esto, el componente TensorRT realiza numerosas optimizaciones en las redes neuronales diseñadas para mejorar la eficiencia y el rendimiento para los marcos y aplicaciones de aprendizaje profundo.
Para optimizar la velocidad, la tubería de StreamDiffusion configura el marco para utilizar dimensiones de entrada fijas y tamaños de lote estáticos, lo que garantiza una asignación de memoria óptima y gráficos computacionales para un tamaño de entrada específico, con el fin de lograr tiempos de procesamiento más rápidos.

La figura anterior proporciona una visión general de la tubería de inferencia. La tubería de difusión central alberga los componentes U-Net y VAE. La tubería incorpora un lote de desenoising, una caché de ruido muestreado, una caché de incrustaciones de prompt precomputadas y una caché de valores de programador para mejorar la velocidad y la capacidad de la tubería para generar imágenes en tiempo real. El Filtro de Similitud Estocástica o SSF se despliega para optimizar el uso de la GPU y también para controlar el paso de la tubería de difusión de forma dinámica.
StreamDiffusion: Experimentos y Resultados
Para evaluar sus capacidades, la tubería de StreamDiffusion se implementa en los marcos LCM y SD-turbo. Se utiliza TensorRT de NVIDIA como acelerador de modelo, y para permitir una eficiencia ligera, la tubería emplea el componente TAESD. Ahora veamos cómo se desempeña la tubería de StreamDiffusion en comparación con los marcos actuales de vanguardia.
Evaluación Cuantitativa
La siguiente figura demuestra la comparación de eficiencia entre el U-Net secuencial original y el componente de lote de desenoizing en la tubería, y como se puede ver, la implementación del enfoque de lote de desenoizing ayuda a reducir el tiempo de procesamiento significativamente, casi un 50% en comparación con los bucles de U-Net tradicionales en pasos de desenoizing secuenciales.

Además, el tiempo de inferencia promedio en diferentes pasos de desenoizing también experimenta un aumento sustancial con diferentes factores de aceleración en comparación con los marcos actuales de vanguardia, y los resultados se demuestran en la siguiente imagen.

Además, la tubería de StreamDiffusion con el componente RCFG demuestra un tiempo de inferencia menor en comparación con las tuberías que incluyen el componente CFG tradicional.

Además, el impacto de utilizar el componente RCFG es evidente en las siguientes imágenes en comparación con el uso del componente CFG.

Como se puede ver, el uso de CFG intensifica el impacto del prompt textual en la generación de imágenes, y la imagen se asemeja mucho más a los prompts de entrada en comparación con las imágenes generadas por la tubería sin utilizar el componente CFG. Los resultados mejoran aún más con el uso del componente RCFG, ya que la influencia de los prompts en las imágenes generadas es bastante significativa en comparación con el componente CFG original.
Pensamientos Finales
En este artículo, hemos hablado sobre StreamDiffusion, una tubería de difusión en tiempo real desarrollada para generar imágenes interactivas y realistas, y abordar las limitaciones actuales de los marcos basados en difusión en tareas que involucran entrada continua. StreamDiffusion es un enfoque simple y novedoso que busca transformar el ruido secuencial de la imagen original en un ruido por lotes. StreamDiffusion tiene como objetivo permitir un alto rendimiento y flujos fluidos, eliminando el enfoque tradicional de espera y interacción utilizado por los marcos basados en difusión actuales. Los posibles beneficios de eficiencia resaltan el potencial de la tubería de StreamDiffusion para aplicaciones comerciales que ofrecen computación de alto rendimiento y soluciones atractivas para la inteligencia artificial generativa.












