La nueva IA de Google genera más de 1000 tokens por segundo (DiffusionGemma)

BBetter Stack
컴퓨터/소프트웨어게임/e스포츠

Transcript

00:00:00Google ha estado que arde últimamente. La semana pasada hice un video sobre su innovador modelo
00:00:05Gemma 4 sin codificador y esta semana lanzaron otro modelo sorprendentemente innovador. Se llama Diffusion
00:00:11Gemma y este modelo es increíblemente rápido. Es capaz de generar más de mil tokens
00:00:18por segundo y la razón por la que puede hacerlo es porque genera texto de una manera
00:00:23completamente diferente a cualquier otro modelo que hayas usado antes. Así que en este video veremos
00:00:29Diffusion Gemma, veremos cómo funciona y te mostraré cómo puedes probarlo tú mismo también.
00:00:35Va a ser muy divertido, así que vamos a sumergirnos en ello.
00:00:41Cada modelo de lenguaje con el que has hablado funciona de la misma manera fundamental. Son autorregresivos
00:00:48y esa es una palabra elegante para decir que generan un token a la vez de izquierda a derecha. Escriben una palabra
00:00:54luego miran todo lo escrito hasta ahora y luego predicen la siguiente palabra y el ciclo simplemente
00:00:59se repite. Y la forma en que funciona para los grandes modelos comerciales como Claude o GPT es que cuando un servidor
00:01:06genera un token, la mayor parte del tiempo no se gasta en computación, sino en cargar los pesos del modelo
00:01:12fuera de la memoria. Y eso es algo ineficiente si solo estás atendiendo a un usuario. Entonces los servidores agrupan cientos
00:01:19de usuarios, cargan los pesos una vez y los ejecutan contra todos al mismo tiempo. Y de esa manera,
00:01:25puedes atender a 256 usuarios con una sola carga de memoria. Pero cuando ejecutas un modelo localmente, eres solo un usuario,
00:01:33así que no hay nadie con quien agruparte. La GPU carga la parte masiva de los pesos, hace un pequeño
00:01:39cálculo para producir un token, y luego se queda inactiva antes de hacerlo todo de nuevo. En términos técnicos,
00:01:46esto se llama estar limitado por la memoria. Tu costosa GPU pasa la mayor parte de su vida esperando el siguiente
00:01:52token en lugar de computar realmente. Así que Google DeepMind analizó este problema y planteó una pregunta ingeniosa:
00:01:58Si la nube llena el tiempo de inactividad sirviendo a 256 usuarios a la vez, ¿qué pasaría si llenáramos ese tiempo de inactividad
00:02:07para un solo usuario en su lugar? Entonces, en lugar de un token para 256 personas, ¿qué pasaría si generáramos 256 tokens para una
00:02:16persona, todos a la vez? Y esa es toda la idea detrás de Diffusion Gemma. En lugar de escribir palabra por palabra,
00:02:23el modelo comienza con un lienzo, que es una fila de 256 tokens de marcador de posición completamente aleatorios. Así que es solo
00:02:31ruido. Y su trabajo es arreglar ese lienzo, todas las posiciones a la vez, y convertirlo en texto real. Entonces, al predecir todos
00:02:38los 256 tokens de una sola vez, le estás dando a tu GPU una gran carga de trabajo real en lugar de dejarla inactiva. De esa manera,
00:02:46haces que el modelo pase de estar limitado por la memoria a estar limitado por la computación, y toda esa potencia desperdiciada finalmente se utiliza.
00:02:53Pero esto no es tan sencillo como parece. Predecir 256 tokens a la vez es realmente difícil.
00:03:01Porque ¿cómo adivina el modelo el token número 254 cuando no tiene idea de qué resultaron ser los tokens 1 al 253?
00:03:09Y eso es exactamente lo que sucede. Los primeros tokens salen bien, pero cuanto más avanza,
00:03:15más se desmorona en sinsentidos. Pero ¿qué pasaría si, en lugar de hacer una sola pasada, el modelo hiciera
00:03:21varias pasadas? Y este es el truco clave. El modelo pasa por el lienzo una y otra vez, pero ahora
00:03:28puede ver sus propias conjeturas anteriores. Los tokens que predijo con confianza se convierten en pistas de contexto que
00:03:35ayudan a arreglar los más desordenados. Y lo mejor es que solo necesita unas pocas pasadas. Muchas menos pasadas que
00:03:42el recuento total de 256 tokens. Y de ahí es exactamente de donde proviene la velocidad del modelo. Y probablemente hayas visto
00:03:49este truco antes. Se llama difusión. Comienzas con ruido y luego lo refinas paso a paso. Y
00:03:55esa es exactamente la misma idea que impulsa a los generadores de imágenes por IA. Y la forma en que el modelo lo aprende es
00:04:01añadiendo deliberadamente ruido a imágenes reales durante el entrenamiento y luego aprendiendo a predecir y restar ese ruido
00:04:07para sacarlo. Pero, ¿cómo aplicas ese mismo concepto al texto? Esa es la parte difícil. Porque con una imagen,
00:04:14el ruido es fácil. Hacer que un píxel sea un poco más rojo o azul. Pero con el texto, ¿cómo haces que la palabra
00:04:19el sea un poco menos “el”? ¿Qué significa ese ruido siquiera para una palabra? Bueno, DeepMind inventó
00:04:27algo llamado difusión de estado uniforme. Entonces, en lugar de jugar con letras, tratas a la palabra intercambiada
00:04:32al azar como el ruido. Y para corromper tu texto de entrenamiento, reemplazas algunas palabras reales con otras aleatorias.
00:04:38Y el trabajo del modelo es descubrir qué palabras son basura y finalmente arreglarlas con múltiples pasadas.
00:04:45De hecho, existe una versión más simple para hacer esto llamada difusión de máscara que simplemente deja en blanco los tokens.
00:04:51Pero esa tiene un gran defecto. Una vez que el modelo se compromete con una palabra, queda bloqueada para siempre. Tiene el mismo
00:04:57problema que tienen los modelos autorregresivos. Pero la difusión de estado uniforme soluciona esto manteniendo siempre algún tipo de token en
00:05:04cada posición. Por lo que un modelo puede mirar una palabra que aceptó hace tres pasos, decidir si ya no encaja
00:05:10más y cambiarla. Así que básicamente podemos corregirlo por sí mismo hasta el final. Pero esta solución
00:05:15también tiene una trampa. La difusión necesita un codificador para entender tu aviso y un eliminador de ruido para limpiar el
00:05:23lienzo. Así que DeepMind desarrolló un parche de codificador-eliminador de ruido. Está construido sobre su modelo existente de 26 mil millones
00:05:30de parámetros GEMMA4 y cambia entre los dos modos cuando genera tu respuesta. En modo codificador,
00:05:36el modelo lee tu aviso, intenta extraer algo de contexto y orientación para él. Recopila todo eso
00:05:42en la caché KV y luego lo pasa directamente al eliminador de ruido. Y el trabajo del eliminador de ruido es esencialmente
00:05:49limpiar el lienzo. Y lo hace haciendo dos cosas. Primero, recuerda cómo un LLM normal produce un
00:05:56puntaje de confianza o un logit para cada posición, pero descarta todos excepto el último. Por cierto,
00:06:02si te estás confundiendo aquí, también hice un video hace un tiempo explicando cómo funcionan los LLMs con más
00:06:07detalle. Así que mira ese video si estás interesado. Entonces, esencialmente, Diffusion GEMMA no descarta
00:06:13los puntajes. Mantiene todos esos puntajes de confianza porque cada posición del lienzo necesita su propia predicción.
00:06:19Y en segundo lugar, este eliminador de ruido no usa atención causal, que es la regla de que una palabra solo
00:06:25puede mirar hacia atrás, que es como funcionan los modelos autorregresivos. Así que, en cambio, la reemplaza con una atención
00:06:31bidireccional. Así que ahora cada token puede ver a todos los demás tokens en todas las direcciones. Así que, para cada posición,
00:06:38aplicas esos puntajes de confianza, miras otros tokens y limpias el lienzo lentamente, paso a paso.
00:06:44Y así es como Diffusion GEMMA puede lograr su increíble velocidad de más de 1000 tokens por segundo
00:06:51en una GPU H100. Ahora tengo que ser honesto contigo. Esto no es una bala de plata. Con estas nuevas tácticas,
00:06:58Diffusion GEMMA básicamente está intercambiando calidad por velocidad. Para un trabajo de máxima calidad, el estándar GEMMA 4 es
00:07:05todavía una mejor opción. Este modelo está diseñado específicamente para tareas locales críticas como edición en línea, completar código
00:07:13o iteración rápida. Y es especialmente fuerte en tareas no lineales como rellenar el medio
00:07:19de un bloque de código o incluso resolver un Sudoku, en lo cual los modelos normales de izquierda a derecha son bastante malos.
00:07:26Entonces, todo eso suena fascinante, pero probémoslo nosotros mismos y veamos cómo funciona en acción.
00:07:33Google ha publicado los pesos bajo la licencia Apache 2.0 en Hugging Face.
00:07:38Así que si tienes una GPU potente como una RTX 5090, podrías intentar ejecutarlo localmente. Y también hay una
00:07:44receta especial para VLLM que puedes ejecutar en Docker para simplificar ese proceso. Pero tengo mucha curiosidad por
00:07:51ver si este modelo realmente puede alcanzar más de 1000 tokens por segundo. Así que para esta prueba, intentaré
00:07:58ejecutarlo en una GPU H100 usando un contenedor RunPod y ver qué tal va. Y por cierto, también he
00:08:04publicado una plantilla de Diffusion GEMMA para ejecutarlo en RunPod. Así que si quieres replicar esta prueba,
00:08:10todo lo que tienes que hacer es ejecutar esa plantilla al crear un nuevo pod. Entonces, para hacer esta prueba en RunPod,
00:08:15voy a elegir el contenedor H100. Y como mencioné antes, creé una plantilla de Diffusion GEMMA
00:08:22que puedes reutilizar. Así que simplemente puedes hacer clic en un disco de volumen y luego hacer clic en implementar
00:08:28bajo demanda. Y tomará unos minutos hasta que descargue el contenedor y lance todo.
00:08:34Y si vamos a los registros, si ves que la aplicación se inició completamente, eso significa que VLLM está listo
00:08:40y ahora es accesible a través del puerto 8000. Si abrimos esto, verán un detalle de no encontrado,
00:08:46pero no te preocupes por eso. Esto significa que realmente está funcionando. Solo necesitamos copiar esta URL. Entonces, para
00:08:52configurar Diffusion GEMMA para que se ejecute en una terminal de agente de IA, algo como Open Code, necesitas
00:08:58configurar la configuración de Open Code para acceder al servidor remoto. Así que puedes hacer eso con este simple
00:09:04comando y esto abrirá el archivo de configuración. Y aquí, solo estoy especificando nuestro servidor RunPod y
00:09:11tiene seleccionado el modelo Diffusion GEMMA. Y puedes simplemente guardar este archivo e iniciar Open Code.
00:09:17Así que en esta prueba, voy a pedirle que genere un panel de seguimiento de finanzas personales llamado Ledger.
00:09:24Y veamos qué tan rápido puede generar eso. Mira eso. Al instante, comienza a transmitir de inmediato.
00:09:34Mira qué increíblemente rápido es. Santo cielo. Guau. Eso es una locura. Y aquí en los registros,
00:09:43podemos ver que está promediando 700 tokens por segundo. Entonces, para la fase de salida, bajó un poco,
00:09:50pero durante la fase de razonamiento, sí llegó a 700 tokens por segundo. Eso es una locura. Así que
00:09:58abrámoslo. Está bien. Esto parece un panel de control. Eso es bueno. Está bien. De hecho, obtenemos algunas categorías
00:10:06y cosas sucediendo aquí. Si añadimos algo por aquí. Oh, de hecho lo añade como un gasto. Así que los
00:10:13gastos no se están actualizando realmente. Así que no es completamente funcional, pero al menos algunas partes son interactivas.
00:10:20Para esta siguiente tarea, veamos si realmente puede hacer un juego de estilo arcade.
00:10:26Así que vamos a encenderlo. Una vez más, la velocidad es simplemente una locura. Está bien. Este está tardando un poco más.
00:10:36De hecho, tenemos dos archivos aquí. Interesante, interesante. Está bien. Así que notó un error tipográfico y luego
00:10:44procesó el archivo HTML nuevamente, lo cual es bastante bueno. Está bien. Muy bien. Abrámoslo. Reiniciar.
00:10:52Oh, guau. Este está funcionando. Oh, guau. Esto es genial. Guau. Muy bien. Eso es impresionante. Así que el juego es
00:11:03completamente funcional y tomó 14 segundos generar este juego. 14 segundos para generar un juego como este.
00:11:11Así que, aunque su página de marketing decía que podíamos esperar velocidades de mil tokens por segundo en la H
00:11:18100. Esa no fue mi observación. Um, no sé. Tal vez haya algo que deba ajustar en la
00:11:26plantilla o en mis avisos, pero sin embargo, estoy realmente impresionado. Es una bestia. Así que ahí lo tienen,
00:11:33amigos. Ese es Diffusion Gemma en pocas palabras. Creo que este es uno de los lanzamientos más interesantes
00:11:38del año porque demuestra que puedes tomar un paradigma de generación totalmente diferente del mundo de las imágenes,
00:11:44pegarlo en un modelo existente que ya entrenaste y desbloquear ganancias de velocidad reales para configuraciones
00:11:51locales de un solo usuario. Y creo que esto también abre la puerta a toda una nueva familia de modelos locales rápidos e interactivos
00:11:58que utilizan todo el potencial de tu hardware en lugar de dejarlo inactivo. Entonces, ¿qué piensas
00:12:04de Diffusion Gemma? ¿Lo has probado? ¿Lo usarás? Háznoslo saber en la sección de comentarios a continuación.
00:12:09Y amigos, si les gustan este tipo de análisis técnicos, por favor háganmelo saber aplastando ese
00:12:14botón de “me gusta” debajo del video. Y también no olviden suscribirse a nuestro canal. Esto ha sido
00:12:19Andrus de Betterstack y los veré en los próximos videos.

Key Takeaway

Diffusion Gemma redefine la generación de texto al aplicar técnicas de difusión para predecir 256 tokens simultáneamente, logrando velocidades de hasta 700 tokens por segundo en hardware local.

Highlights

  • Diffusion Gemma genera texto mediante la predicción de 256 tokens de manera simultánea en lugar de un proceso autorregresivo tradicional.

  • El modelo utiliza un mecanismo de difusión para refinar un lienzo inicial de ruido en texto coherente a través de múltiples pasadas.

  • La arquitectura emplea atención bidireccional, permitiendo que cada token acceda al contexto completo en todas las direcciones.

  • Las pruebas en una GPU H100 lograron una velocidad promedio de 700 tokens por segundo durante la fase de razonamiento.

  • Este enfoque desplaza la limitación del rendimiento de la memoria a la capacidad de cómputo, optimizando el uso de la GPU para usuarios individuales.

Timeline

Limitaciones de los modelos autorregresivos tradicionales

  • Los modelos comerciales generan un token a la vez de izquierda a derecha.
  • La mayoría del tiempo de procesamiento en servidores se pierde cargando pesos del modelo desde la memoria.
  • Las GPU locales permanecen inactivas gran parte del tiempo al servir a un solo usuario, lo que crea un cuello de botella de memoria.

El método autorregresivo estándar es ineficiente para usuarios únicos porque la GPU realiza un cálculo mínimo y espera el siguiente token. Los servidores mitigan esto agrupando a 256 usuarios para amortizar la carga de pesos. Diffusion Gemma busca aplicar esta eficiencia de agrupación a un solo usuario generando múltiples tokens a la vez.

Mecánica de Diffusion Gemma

  • El modelo comienza con un lienzo de 256 tokens de ruido aleatorio y los refina en múltiples pasadas.
  • La difusión de estado uniforme reemplaza palabras aleatorias en lugar de usar máscaras de tokens vacías.
  • Un parche codificador-eliminador de ruido permite alternar entre la comprensión del aviso y la limpieza del lienzo de texto.

A diferencia de la generación palabra por palabra, este modelo corrige todo el bloque de texto simultáneamente. Al usar atención bidireccional, cada posición del lienzo puede ser corregida basándose en las conjeturas de pasos anteriores. Este proceso transforma la inactividad de la GPU en carga de trabajo computacional real.

Prueba de rendimiento y aplicaciones

  • Diffusion Gemma prioriza la velocidad y tareas no lineales como completar código o rellenar bloques de texto.
  • Las pruebas en un contenedor RunPod con una GPU H100 promediaron 700 tokens por segundo.
  • La generación de una aplicación funcional de juego estilo arcade se completó en 14 segundos.

El modelo no reemplaza la calidad de Gemma 4 para tareas estándar, sino que destaca en iteración rápida local. La implementación práctica a través de VLLM permite integrar este modelo en terminales de agentes de IA para un desarrollo de código casi instantáneo. El resultado es un hardware utilizado a su máximo potencial en lugar de permanecer en espera.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video