Guía visual de Gemma 4
(newsletter.maartengrootendorst.com)- Gemma 4, lanzado por Google DeepMind, es una familia de LLM multimodales compuesta por cuatro modelos: E2B, E4B, 31B y 26B A4B, y todas las variantes admiten entrada de imágenes
- Todos los modelos comparten una estructura que intercala capas de atención local (ventana deslizante) y atención global, y la última capa siempre se fija como atención global
- En las capas de atención global se aplican simultáneamente tres técnicas de eficiencia: GQA (Grouped Query Attention), la técnica K=V y p-RoPE, para reducir memoria y cómputo
- Los modelos pequeños (E2B y E4B) usan Per-Layer Embeddings (PLE) para almacenar una gran tabla de embeddings en memoria flash y minimizar el uso de VRAM; además incorporan un codificador de audio
- Gemma 4 admite un amplio rango de usos, desde on-device hasta inferencia de gran escala, gracias a un codificador de visión (basado en ViT) con soporte para relaciones de aspecto y resoluciones variables, y a la arquitectura MoE (26B A4B)
Composición de la familia Gemma 4
- Está formada por 4 modelos y utiliza dos tipos de arquitectura: dense y MoE
- Gemma 4 - E2B: aplica Per-Layer Embeddings, con 2 mil millones de parámetros efectivos
- Gemma 4 - E4B: aplica Per-Layer Embeddings, con 4 mil millones de parámetros efectivos
- Gemma 4 - 31B: modelo dense de 31 mil millones de parámetros
- Gemma 4 - 26B A4B: modelo MoE con 26 mil millones de parámetros totales, de los cuales solo 4 mil millones se activan durante la inferencia
- Todos los modelos son multimodales y pueden procesar imágenes de distintos tamaños y resoluciones
- Los modelos pequeños (E2B y E4B) también admiten entrada de audio, además de imagen y texto
Arquitectura común de Gemma 4
Intercalado de capas de atención (Interleaving Layers)
- Igual que en Gemma 3, se intercalan capas de atención local (ventana deslizante) y atención global
- Atención de ventana deslizante: solo consulta tokens dentro de un rango determinado → reduce la carga de cómputo
- Atención global: consulta toda la secuencia → permite captar la estructura completa del contexto
- Tamaño de la ventana deslizante
- Modelos pequeños (E2B y E4B): 512 tokens
- Modelos grandes (26B A4B y 31B): 1024 tokens
- En Gemma 3, la última capa a veces era de atención local, pero en Gemma 4 la última capa siempre se fija como atención global
- Proporción de intercalado
- E2B: patrón 4:1 de 4 capas de atención local + 1 capa de atención global
- Resto de modelos: patrón 5:1 (5 capas locales + 1 global)
Eficiencia en la atención global
GQA (Grouped Query Attention)
- En las capas de atención global, 8 cabezas de consulta comparten 1 cabeza KV, lo que reduce drásticamente el almacenamiento de la caché KV
- Para compensar la posible pérdida de rendimiento por reducir el número de cabezas KV, se duplica la dimensión de Key
Técnica K=V
- En las capas de atención global, Keys y Values se establecen como idénticos, reduciendo aún más los requisitos de memoria de la caché KV
- Es una técnica que mejora la eficiencia de memoria sin una gran degradación del rendimiento
p-RoPE
- RoPE (Rotary Position Encoding) se aplica no a toda la dimensión sino solo a una parte de ella (si p=0.25, se aplica solo al 25% superior de los pares)
- Los pares de baja frecuencia se usan para preservar información semántica en lugar de información posicional
- Es especialmente eficaz en la atención global para mitigar el problema de distorsión de distancia entre tokens provocado por contextos largos
- Resumen de todas las mejoras aplicadas a las capas de atención global:
- La última capa siempre es de atención global
- Se comparte 1 Key por cada 8 consultas
- La dimensión de Key se duplica
- Keys = Values
- Se aplica p-RoPE con p=0.25
Codificador de visión
- Basado en Vision Transformer (ViT), convierte imágenes en secuencias de parches para generar embeddings
- Cada parche tiene un tamaño de 16×16 píxeles
- Los modelos pequeños (E2B y E4B) usan un codificador de visión de 150 millones de parámetros, y los demás usan uno de 550 millones de parámetros
Soporte para relación de aspecto variable
- Los ViT tradicionales usan una entrada cuadrada fija → esto genera problemas porque la codificación posicional cambia según la relación de aspecto
- Gemma 4 incorpora 2D RoPE: divide los embeddings de parche en dos partes y codifica por separado la posición horizontal (w) y vertical (h)
- La imagen de entrada se redimensiona de forma adaptativa para ajustarse a parches de 16×16 píxeles, y las partes que no encajan por completo se rellenan con padding
- Los parches de tamaño variable se pooling en función de su posición espacial para reducirlos a un número fijo de embeddings de parche
Soporte para resolución variable (soft token budget)
- Se introduce el concepto de soft token budget, que limita el número máximo de embeddings de parche enviados al LLM
- Presupuestos seleccionables por el usuario: 70, 140, 280, 560 y 1120 tokens
- Cuanto mayor sea el presupuesto (por ejemplo, 1120), más resolución se conserva; cuanto menor sea (por ejemplo, 70), más se reduce la escala de la imagen
- Ejemplo: si el presupuesto es 280, el número máximo de parches = 9 × 280 = 2,520 (aplicando average pooling por bloques de 3×3)
Proyección lineal (Linear Projection)
- Los embeddings de salida del codificador de visión difieren en dimensión y distribución respecto a los embeddings de tokens del LLM, por lo que se proyectan con una red neuronal pequeña
- Después de la proyección, se aplica RMSNorm para ajustarlos a la escala esperada por los bloques Transformer posteriores
- La capa de proyección lineal se entrena junto con Gemma 4 para optimizar que los embeddings de parche coincidan con lo que espera el LLM
Gemma 4 - 31B (Dense)
- Es un modelo de arquitectura dense con 31 mil millones de parámetros, la variante más cercana a la estructura básica dentro de Gemma 4
- Es estructuralmente similar al modelo 27B de Gemma 3, pero incorpora las mejoras comunes de Gemma 4, como K=V y p-RoPE
- El número de capas se redujo de 62 a 60, pero con una estructura más ancha por capa
Gemma 4 - 26B A4B (Mixture of Experts)
- Aunque tiene 26 mil millones de parámetros en total, durante la inferencia usa solo 4 mil millones de parámetros (parámetros activos), por lo que funciona a una velocidad similar a la de un modelo 4B
- Estructura MoE (Mixture of Experts): en lugar de una FFNN grande convencional, usa múltiples FFNN pequeñas (Experts) y solo activa algunas según la entrada
- De un total de 128 Experts, durante la inferencia se seleccionan y activan 8
- 1 Shared Expert siempre está activo: se encarga del conocimiento general y tiene un tamaño 3 veces mayor que los demás Experts
- El Router genera probabilidades de selección de Expert para cada token de entrada y realiza el enrutamiento; al resultado de los Experts seleccionados se le aplican pesos probabilísticos
- Todos los parámetros se cargan en memoria, pero en el cómputo real solo se usan 8 Experts + 1 Shared Expert → los otros 119 quedan en espera
Gemma 4 - E2B y E4B (Dense + Per-Layer Embeddings)
Per-Layer Embeddings (PLE)
- Se agregan tablas de búsqueda de embeddings separadas para cada capa en lugar de mantenerlas dentro del modelo, minimizando así el uso de VRAM en dispositivos pequeños
- En el caso de E2B: tabla PLE de 262,144 tokens × 35 capas × 256 dimensiones → almacenada en memoria flash
- Al comenzar la inferencia, los embeddings por capa de los tokens de entrada se consultan una sola vez → luego no hace falta volver a consultarlos en cada capa
- Entre bloques decodificadores, una función de gating determina el peso de los embeddings y luego estos se proyectan al tamaño original del embedding (E2B: 256→1536, E4B: 256→2560)
- Los embeddings proyectados se normalizan y luego se suman a la salida del bloque decodificador anterior → el modelo puede seguir consultando el significado del token de forma continua
- La “E” se refiere a los parámetros efectivos (effective parameters) excluyendo PLE
Codificador de audio
- Solo está presente en los modelos pequeños (E2B y E4B) y se utiliza para reconocimiento automático de voz y traducción, entre otros casos
- 3 etapas del procesamiento de audio:
- Extracción de características: audio crudo → mel-spectrogram (representación 2D de tiempo × frecuencia)
- Agrupación en chunks: las características mel se agrupan por bloques para establecer el punto de partida de la secuencia de tokens
- Downsampling: 2 capas convolucionales 2D acortan la longitud de la secuencia y generan soft tokens
- El codificador de audio usa Conformer: una estructura que añade módulos convolucionales a un codificador Transformer estándar
- Igual que en el codificador de visión, los embeddings de salida de Conformer también se transforman al espacio de embeddings de Gemma 4 mediante proyección lineal
Aún no hay comentarios.