Ultralytics YOLO27 :
Licence YOLO
Retour au glossaire Ultralytics

SwiGLU

SwiGLU multiplie une projection activée par SiLU par une seconde projection linéaire : c’est la couche à propagation avant avec porte utilisée dans Llama, PaLM et Qwen. Code inclus.

SwiGLU (unité linéaire à porte Swish) est une variante à porte de la couche à propagation avant des transformers. Elle projette deux fois chaque vecteur de jeton, fait passer une projection par la fonction d’activation SiLU (Swish), multiplie les deux élément par élément, puis reprojette le produit à la dimension du modèle : FFN(x) = (SiLU(xW) ⊙ xV)W₂. Noam Shazeer l’a présentée dans l’article de 2020 GLU Variants Improve Transformer, et elle est depuis devenue le bloc à propagation avant de grands modèles de langage (LLM) comme PaLM, Llama, Mistral et Qwen. Contrairement à ReLU ou GELU, qui agissent indépendamment sur chaque nombre, SwiGLU contient des poids appris, ce qui en fait une petite couche à part entière.

Fonctionnement de SwiGLU#

Un réseau à propagation avant standard de transformer agrandit chaque vecteur de jeton avec une matrice de poids, applique une fonction d’activation, puis le ramène à sa dimension initiale avec une seconde matrice. SwiGLU remplace la première matrice et la fonction d’activation par une unité linéaire à porte (GLU), qui effectue deux projections parallèles de la même entrée :

  • Projection de porte : xW passe par SiLU, x · σ(x), ce qui produit des valeurs proches de zéro pour les entrées fortement négatives et proches de l’entrée pour les valeurs positives.
  • Projection de valeur : xV reste linéaire et transporte le contenu.
  • Produit élément par élément : la multiplication des deux permet à la porte d’augmenter, de réduire ou de presque annuler chaque caractéristique cachée selon l’entrée ; la projection de sortie W₂ ramène le résultat à la dimension du modèle.

Le principe de la porte vient de la GLU de Dauphin et de ses collègues, qui ont utilisé une porte sigmoïde dans des modèles de langage convolutionnels à portes en 2016. Dans son article, Shazeer a testé la même structure avec différentes fonctions de porte et a nommé chaque variante d’après sa fonction d’activation : GLU utilise la sigmoïde, ReGLU utilise ReLU, GEGLU utilise GELU, SwiGLU utilise Swish et une couche bilinéaire n’utilise aucune fonction d’activation. À l’instar de la base de code T5, ces couches omettent les termes de biais.

Pourquoi SwiGLU a remplacé ReLU et GELU dans les LLM#

Les couches à propagation avant à portes comportent trois matrices de poids au lieu de deux. Shazeer a donc réduit la largeur cachée d’un facteur de 2/3 pour conserver le même nombre de paramètres et le même coût de calcul : de 3 072 à 2 048 unités dans un modèle T5-base. À taille égale, SwiGLU a obtenu une log-perplexité de 1,636 après 524 288 étapes d’entraînement, contre 1,677 pour ReLU et 1,679 pour GELU. Elle a aussi obtenu des scores moyens plus élevés sur les benchmarks de compréhension du langage GLUE et SuperGLUE. L’article ne propose aucune théorie pour expliquer ce gain ; sa conclusion attribue la réussite de ces architectures, « toutes choses égales par ailleurs, à la bienveillance divine ».

Ce résultat s’est confirmé à grande échelle. Google a adopté SwiGLU dans PaLM en 2022, et Meta a remplacé ReLU par SwiGLU dans LLaMA en 2023, avec une largeur cachée de 2/3 × 4d, arrondie au multiple de 256 supérieur, soit 11 008 unités cachées pour le modèle 7B de dimension 4 096. Llama 2, Llama 3, Mistral et Qwen ont conservé cette conception. Dans les modèles à mélange d’experts (MoE), comme Mixtral, chaque expert est un bloc à propagation avant SwiGLU.

Implémenter SwiGLU dans PyTorch#

L’extrait PyTorch ci-dessous construit une couche à propagation avant ReLU standard et une couche SwiGLU pour un modèle de dimension 512, puis compare leurs tailles :

import torch
import torch.nn.functional as F
from torch import nn

d_model = 512
x = torch.randn(4, d_model)  # four token vectors

# Standard transformer FFN: two matrices around a 4x wider ReLU hidden layer
relu_ffn = nn.Sequential(nn.Linear(d_model, 2048, bias=False), nn.ReLU(), nn.Linear(2048, d_model, bias=False))

# SwiGLU FFN: three matrices, hidden width cut to about 2/3 of 2048
w_gate = nn.Linear(d_model, 1365, bias=False)
w_value = nn.Linear(d_model, 1365, bias=False)
w_out = nn.Linear(1365, d_model, bias=False)
y = w_out(F.silu(w_gate(x)) * w_value(x))  # (SiLU(xW) * xV) W2

relu_params = sum(p.numel() for p in relu_ffn.parameters())
swiglu_params = sum(m.weight.numel() for m in (w_gate, w_value, w_out))
print(f"ReLU FFN:   output {tuple(relu_ffn(x).shape)}, {relu_params:,} parameters")
print(f"SwiGLU FFN: output {tuple(y.shape)}, {swiglu_params:,} parameters")

Il affiche ReLU FFN: output (4, 512), 2,097,152 parameters et SwiGLU FFN: output (4, 512), 2,096,640 parameters. Avec 1 365 unités cachées, soit environ les 2/3 de 2 048, les trois matrices SwiGLU contiennent presque exactement autant de poids que les deux matrices ReLU ; toute différence de qualité vient donc du mécanisme de porte. De nombreuses implémentations fusionnent les matrices de porte et de valeur en une seule projection, puis divisent sa sortie en deux ; elles exécutent ainsi une grande multiplication matricielle plutôt que deux petites.

  • SiLU (Swish) : SiLU est la fonction élémentaire utilisée dans la porte. SwiGLU est la couche complète à porte, avec ses trois projections.
  • GLU et GEGLU : variantes apparentées qui utilisent une porte sigmoïde ou GELU. Dans les tests de Shazeer, GEGLU a égalé SwiGLU avec une log-perplexité de 1,633 ; les modèles Gemma de Google l’utilisent.
  • Attention : l’attention produit également des poids dépendant des données, mais elle mélange l’information entre les jetons. SwiGLU applique séparément une porte aux caractéristiques de chaque jeton.
  • Modèles de vision : les couches à propagation avant à portes apparaissent aussi dans les modèles de vision et multimodaux. YOLOE, le détecteur à vocabulaire ouvert créé par des chercheurs de l’Université Tsinghua et disponible dans le paquet Ultralytics, affine les embeddings textuels des prompts de classe avec un bloc SwiGLU résiduel. Ce bloc s’exécute une fois par appel set_classes() et est supprimé lors de l’exportation ; il n’ajoute donc aucun coût par image.

Explore solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les prises de vue aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la surveillance environnementale, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Déploie l’IA visuelle pour la surveillance aérienne avec les modèles Ultralytics YOLO. Donne de la puissance aux drones, aux workflows aéronautiques, à la conservation de l’environnement et aux secteurs géospatiaux grâce à des solutions de vision par ordinateur.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus
La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les prises de vue aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la surveillance environnementale, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Déploie l’IA visuelle pour la surveillance aérienne avec les modèles Ultralytics YOLO. Donne de la puissance aux drones, aux workflows aéronautiques, à la conservation de l’environnement et aux secteurs géospatiaux grâce à des solutions de vision par ordinateur.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus
La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les prises de vue aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la surveillance environnementale, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Déploie l’IA visuelle pour la surveillance aérienne avec les modèles Ultralytics YOLO. Donne de la puissance aux drones, aux workflows aéronautiques, à la conservation de l’environnement et aux secteurs géospatiaux grâce à des solutions de vision par ordinateur.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique