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.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video