17 puntos por GN⁺ 26 일 전 | Aún no hay comentarios. | Compartir por WhatsApp
  • 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:
    1. Extracción de características: audio crudo → mel-spectrogram (representación 2D de tiempo × frecuencia)
    2. Agrupación en chunks: las características mel se agrupan por bloques para establecer el punto de partida de la secuencia de tokens
    3. 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.

Aún no hay comentarios.