Inteligencia artificial
StreamDiffusion: Una solución a nivel de tubería para la generación interactiva en tiempo real

Debido a su gran potencial y oportunidades de comercialización, particularmente en juegos, transmisiones 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, incluidos 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 proporcionan baja latencia y alta velocidad de transferencia, garantizando una interacción efectiva entre los humanos y estas aplicaciones.
Hoy en día, los marcos de inteligencia artificial basados en difusión sobresalen en la creación de imágenes a partir de textos o imágenes, pero no cumplen con las interacciones en tiempo real. Esta limitación es particularmente evidente en tareas que requieren entrada continua y alta velocidad de transferencia, como gráficos de videojuegos, aplicaciones del Metaverso, transmisiones 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 ruido por lotes, con el objetivo de permitir una alta velocidad de transferencia 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, profundizaremos en el marco de StreamDiffusion, explorando su funcionamiento, arquitectura y resultados comparativos con los marcos actuales de última generación. Comencemos.
StreamDiffusion: Una introducción a la generación interactiva en tiempo real
El Metaverso son aplicaciones intensivas en rendimiento, ya que procesan una gran cantidad de datos, incluidos textos, animaciones, videos e imágenes en tiempo real, para proporcionar a sus usuarios interfaces y experiencias interactivas de marca. Las aplicaciones modernas del Metaverso dependen de marcos basados en inteligencia artificial, incluidos la visión por computadora, el procesamiento de imágenes y los modelos de difusión, para lograr una baja latencia y una alta velocidad de transferencia, garantizando una experiencia de usuario sin interrupciones. Actualmente, la mayoría de las aplicaciones del Metaverso dependen de reducir la frecuencia de iteraciones de desruido para garantizar una alta velocidad de transferencia y mejorar las capacidades interactivas de la aplicación en tiempo real. Estos marcos optan por una estrategia común que implica reformular el proceso de difusión con ODE (Ecuaciones Diferenciales Ordinarias) o reducir los modelos de difusión multietapa a unas pocas etapas o incluso a una sola etapa. Aunque el enfoque produce resultados satisfactorios, tiene ciertas limitaciones, incluida la flexibilidad limitada y los 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 una alta velocidad de transferencia. StreamDiffusion utiliza una estrategia simple en la que, en lugar de desruidar la entrada original, el marco divide la etapa de desruido en lotes. La estrategia se inspira en el procesamiento asíncrono, ya que el marco no tiene que esperar a que se complete la primera etapa de desruido 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 la salida.

Aunque el marco de StreamDiffusion busca inspiración en el procesamiento asíncrono, es único a su manera, ya que implementa paralelismo de GPU que permite al marco utilizar un solo componente U-Net para desruidar una característica latente de ruido en lotes. Además, los marcos de difusión existentes enfatizan los prompts dados en las imágenes generadas incorporando la orientación libre de clasificador, como resultado de lo cual las tuberías actuales están equipadas con sobrecargas computacionales redundantes y excesivas. Para garantizar que la tubería de StreamDiffusion no enfrente los mismos problemas, implementa un enfoque innovador de Orientación 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 coherentes ha demostrado el potencial de 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: la generación de imágenes lenta. Para abordar esta limitación, los desarrolladores introdujeron modelos de difusión acelerados, marcos de 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 de 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 altas velocidades de transferencia, 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, a saber: RCFG u Orientación Libre de Clasificador Residual, Estrategia de Lote de Stream, Filtro de Similitud Estocástica, una cola de entrada y salida, herramientas de aceleración de modelo con autoencoder y un procedimiento de precomputación. Hablaremos sobre estos componentes en detalle.
Estrategia de Lote de Stream
Tradicionalmente, las etapas de desruido en un modelo de difusión se realizan secuencialmente, lo que resulta en un aumento significativo del tiempo de procesamiento de U-Net en relación con el 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 desruido secuenciales se reestructuran en procesos por lotes, con cada lote correspondiente a un número determinado de etapas de desruido, y el número de estas etapas de desruido se determina por el tamaño de cada lote. Gracias a este enfoque, cada elemento del lote puede avanzar un paso más utilizando el U-Net de un solo paso en la secuencia de desruido. Al implementar la estrategia de lote de stream de manera 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 desruido.
Orientación Libre de Clasificador Residual
La Orientación Libre de Clasificador (CFG) 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 negativo, es necesario emparejar variables latentes de entrada individuales con incrustaciones de acondicionamiento negativo, seguido de pasar las incrustaciones a través de U-Net en el tiempo de referencia.
Para abordar este problema planteado por el algoritmo de Orientación Libre de Clasificador, el marco de StreamDiffusion introduce el algoritmo de Orientación 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 distribución de ruido de la siguiente etapa.

Cola de Entrada y Salida
El problema principal con los marcos de generación de imágenes de alta velocidad es que los módulos de la 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 la 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 la velocidad de transferencia del modelo y la entrada humana, la tubería integra un sistema de cola de entrada y salida que permite una paralelización eficiente, como se muestra en la siguiente imagen.

Los tensores de entrada procesados se colocan en cola metódicamente 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 envía al codificador VAE, iniciando así el proceso de generación de imágenes. Al mismo tiempo, el tensor de salida 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 activa, las imágenes de entrada que se asemejan entre sí se alimentan 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, las imágenes de entrada no modificadas pueden aparecer ocasionalmente. Para superar este problema y prevenir el uso innecesario 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 del coseno entre la imagen de referencia y la imagen de entrada, y utiliza la puntuación de similitud del coseno para calcular la probabilidad de omitir los procesos subsiguientes de U-Net y VAE.
En función de la puntuación de probabilidad, la tubería decide si los procesos como la codificación VAE, la decodificación VAE y U-Net deben omitirse o no. 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 opera con una mayor similitud entre cuadros. 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 U-Net requiere incrustaciones de acondicionamiento, así como variables latentes de entrada. Tradicionalmente, las incrustaciones de acondicionamiento se derivan de incrustaciones de prompts que permanecen constantes en todos los cuadros. Para optimizar la derivación de las incrustaciones de prompts, la tubería de StreamDiffusion precomputa estas incrustaciones de prompts y las almacena en una caché, que se llaman en modo de transmisión o interactivo. Dentro del marco 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 para interfaces de aprendizaje profundo, para construir los motores VAE y U-Net, para acelerar la velocidad de inferencia. Para lograr esto, el componente TensorRT realiza numerous optimizaciones en las redes neuronales diseñadas para aumentar la eficiencia y mejorar la velocidad de transferencia 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 para garantizar 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 desruido, una caché de ruido muestreado, una caché de incrustación de prompt precomputada 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 dinámicamente el paso del modelo de difusión.
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 la eficiencia ligera VAE, 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 última generación.
Evaluación Cuantitativa
La siguiente figura demuestra la comparación de eficiencia entre el U-Net secuencial original y los componentes de lote de desruido en la tubería, y como se puede ver, implementar el enfoque de lote de desruido ayuda a reducir el tiempo de procesamiento significativamente, casi un 50% en comparación con los bucles U-Net tradicionales en etapas de desruido secuenciales.

Además, el tiempo de inferencia promedio en diferentes etapas de desruido también experimenta un impulso sustancial con diferentes factores de aceleración en comparación con las tuberías actuales de última generación, y los resultados se muestran en la siguiente imagen.

Continuando, 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 usar 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 al prompt de entrada en comparación con las imágenes generadas por la tubería sin usar 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 ruido por lotes. StreamDiffusion busca permitir una alta velocidad de transferencia y flujos fluidos, eliminando el enfoque tradicional de espera y interacción utilizado por los marcos de difusión existentes. 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.












