17 points par GN⁺ 27 일 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Gemma 4, lancé par Google DeepMind, est une famille de LLM multimodaux composée de quatre modèles : E2B, E4B, 31B et 26B A4B, et toutes les variantes prennent en charge l’entrée d’images
  • Tous les modèles partagent une architecture qui alterne des couches d’attention locale (fenêtre glissante) et d’attention globale, avec une dernière couche toujours fixée en attention globale
  • Les couches d’attention globale appliquent simultanément trois techniques d’optimisation : GQA (Grouped Query Attention), la méthode K=V et p-RoPE, afin de réduire la mémoire et le coût de calcul
  • Les petits modèles (E2B et E4B) utilisent des Per-Layer Embeddings (PLE) pour stocker de grandes tables d’embeddings en mémoire flash et minimiser l’usage de la VRAM, avec en plus un encodeur audio embarqué
  • Gemma 4 prend en charge un encodeur de vision (basé sur ViT) compatible avec des rapports d’aspect et des résolutions variables, ainsi qu’une architecture MoE (26B A4B), ce qui permet des usages allant de l’on-device à l’inférence de grande ampleur

Composition de la famille Gemma 4

  • Elle se compose de 4 modèles et utilise deux types d’architectures : dense et MoE
    • Gemma 4 - E2B : applique les Per-Layer Embeddings, 2 milliards de paramètres effectifs
    • Gemma 4 - E4B : applique les Per-Layer Embeddings, 4 milliards de paramètres effectifs
    • Gemma 4 - 31B : modèle dense de 31 milliards de paramètres
    • Gemma 4 - 26B A4B : modèle MoE de 26 milliards de paramètres au total, dont seulement 4 milliards sont activés à l’inférence
  • Tous les modèles sont multimodaux et peuvent traiter des images de tailles et résolutions variées
  • Les petits modèles (E2B et E4B) prennent aussi en charge, en plus des images et du texte, les entrées audio

Architecture commune de Gemma 4

Alternance des couches d’attention (Interleaving Layers)

  • Comme Gemma 3, le modèle alterne des couches d’attention locale (fenêtre glissante) et des couches d’attention globale
    • Attention à fenêtre glissante : ne référence que les tokens dans une plage donnée → réduction du coût de calcul
    • Attention globale : référence l’ensemble de la séquence → permet de saisir la structure complète du contexte
  • Taille de la fenêtre glissante
    • Petits modèles (E2B et E4B) : 512 tokens
    • Grands modèles (26B A4B et 31B) : 1024 tokens
  • Dans Gemma 3, la dernière couche pouvait parfois être une attention locale, mais dans Gemma 4, la dernière couche est toujours une attention globale
  • Ratio d’alternance
    • E2B : motif 4:1, avec 4 couches d’attention locale puis 1 couche d’attention globale
    • Autres modèles : motif 5:1 (5 couches locales + 1 couche globale)

Optimisation de l’attention globale

GQA (Grouped Query Attention)

  • Dans les couches d’attention globale, 8 têtes de requête partagent une seule tête KV, ce qui réduit fortement le volume de stockage du cache KV
  • Pour compenser la baisse potentielle de performances liée à la réduction du nombre de têtes KV, la dimension des clés est doublée

Méthode K=V

  • Dans les couches d’attention globale, les Keys et les Values sont définies comme identiques, ce qui réduit encore les besoins mémoire du cache KV
  • Cette technique améliore l’efficacité mémoire avec une dégradation des performances limitée

p-RoPE

  • RoPE (encodage positionnel rotatif) n’est appliqué qu’à une partie des dimensions plutôt qu’à l’ensemble (par exemple, si p=0,25, il ne s’applique qu’aux 25 % supérieurs des paires)
  • Les paires basse fréquence servent à préserver des informations sémantiques plutôt qu’une information de position
  • Cette approche est particulièrement efficace dans l’attention globale pour atténuer les distorsions de distance entre tokens dues aux longs contextes
  • Récapitulatif des améliorations appliquées aux couches d’attention globale :
    • la dernière couche est toujours une attention globale
    • 1 Key partagé pour 8 requêtes
    • dimension des Keys doublée
    • Keys = Values
    • application de p-RoPE avec p=0,25

Encodeur de vision

  • Basé sur Vision Transformer (ViT), il convertit l’image en une séquence de patches pour générer les embeddings
    • chaque patch a une taille de 16×16 pixels
  • Les petits modèles (E2B et E4B) utilisent un encodeur de vision de 150 millions de paramètres, les autres modèles un encodeur de vision de 550 millions de paramètres

Prise en charge des rapports d’aspect variables

  • Les ViT classiques imposent des entrées carrées, ce qui pose des problèmes d’encodage positionnel selon le rapport d’aspect
  • Gemma 4 introduit RoPE 2D : les embeddings de patch sont divisés en deux parties pour encoder indépendamment les positions horizontales (w) et verticales (h)
  • L’image d’entrée est redimensionnée de façon adaptative pour correspondre aux patches de 16×16 pixels, et les zones qui ne correspondent pas exactement sont remplies par padding
  • Les patches de taille variable sont poolés selon leur position spatiale afin d’être réduits à un nombre fixe d’embeddings de patch

Prise en charge de résolutions variables (soft token budget)

  • Introduction du concept de soft token budget : le nombre maximal d’embeddings de patch transmis au LLM est plafonné
    • budgets sélectionnables par l’utilisateur : 70, 140, 280, 560, 1120 tokens
  • Plus le budget est élevé (par ex. 1120), plus la haute résolution est conservée ; plus il est faible (par ex. 70), plus l’image est réduite
  • Exemple : avec un budget de 280, le nombre maximal de patches = 9 × 280 = 2 520 (avec average pooling par blocs de 3×3)

Projection linéaire (Linear Projection)

  • Les embeddings de sortie de l’encodeur de vision ont une dimension et une distribution différentes des embeddings de tokens du LLM, ils passent donc par un petit réseau neuronal de projection
  • Après projection, RMSNorm est appliqué pour correspondre aux attentes d’échelle des blocs Transformer suivants
  • La couche de projection linéaire est entraînée avec Gemma 4 afin d’optimiser l’alignement des embeddings de patch avec l’espace attendu par le LLM

Gemma 4 - 31B (Dense)

  • Modèle à architecture dense de 31 milliards de paramètres, c’est la structure la plus proche du schéma de base parmi les variantes Gemma 4
  • Structurellement similaire au modèle 27B de Gemma 3, mais avec les améliorations communes de Gemma 4 comme K=V et p-RoPE
  • Le nombre de couches passe de 62 à 60, mais avec une architecture plus large par couche

Gemma 4 - 26B A4B (Mixture of Experts)

  • Totalise 26 milliards de paramètres, mais n’utilise à l’inférence que 4 milliards de paramètres (paramètres actifs), ce qui lui permet d’opérer à une vitesse proche d’un modèle 4B
  • Structure MoE (Mixture of Experts) : au lieu d’un grand FFNN classique, le modèle utilise de nombreux petits FFNN (Experts) dont seule une partie est activée selon l’entrée
    • parmi 128 Experts au total, 8 sont sélectionnés et activés à l’inférence
    • 1 Expert partagé (Shared Expert) est toujours actif : il gère les connaissances générales et sa taille est trois fois supérieure à celle des autres Experts
  • Le routeur génère, pour chaque token d’entrée, des probabilités de sélection des Experts afin d’effectuer le routage, puis applique ces poids probabilistes aux résultats des Experts sélectionnés
  • Tous les paramètres sont chargés en mémoire, mais seuls 8 Experts + 1 Expert partagé sont réellement utilisés au calcul → les 119 autres restent inactifs

Gemma 4 - E2B & E4B (Dense + Per-Layer Embeddings)

Per-Layer Embeddings (PLE)

  • Au lieu d’être intégrées dans le modèle, des tables d’embeddings distinctes pour chaque couche sont ajoutées afin de minimiser l’usage de la VRAM sur les petits appareils
  • Pour E2B : table PLE de 262 144 tokens × 35 couches × 256 dimensions → stockée en mémoire flash
  • Au début de l’inférence, les embeddings par couche des tokens d’entrée sont consultés une seule fois → inutile de les relire à chaque couche ensuite
  • Entre chaque bloc décodeur, une fonction de gating détermine le poids des embeddings, puis ceux-ci sont projetés vers la taille d’embedding d’origine (E2B : 256→1536, E4B : 256→2560)
  • Les embeddings projetés sont normalisés puis additionnés à la sortie du bloc décodeur précédent → le modèle peut continuer à référencer le sens des tokens
  • Le « E » désigne les paramètres effectifs (effective parameters) hors PLE

Encodeur audio

  • Présent uniquement sur les petits modèles (E2B et E4B), il sert à des usages comme la reconnaissance automatique de la parole et la traduction
  • Traitement audio en 3 étapes :
    1. Extraction de caractéristiques : audio brut → mel-spectrogram (représentation 2D temps × fréquence)
    2. Regroupement en chunks : les caractéristiques mel sont groupées par chunks pour définir le point de départ de la séquence de tokens
    3. Downsampling : 2 couches de convolution 2D réduisent la longueur de séquence et génèrent des soft tokens
  • L’encodeur audio utilise Conformer : une structure qui ajoute un module convolutionnel à un encodeur Transformer standard
  • Les embeddings de sortie du Conformer sont eux aussi convertis, comme pour l’encodeur de vision, par projection linéaire afin de s’aligner sur l’espace d’embedding de Gemma 4

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.