


Pourquoi les grands modèles linguistiques utilisent-ils SwiGLU comme fonction d'activation ?
Si vous avez prêté attention à l'architecture des grands modèles de langage, vous avez peut-être vu le terme « SwiGLU » dans les derniers modèles et documents de recherche. SwiGLU peut être considéré comme la fonction d'activation la plus couramment utilisée dans les grands modèles de langage. Nous la présenterons en détail dans cet article. SwiGLU est en fait une fonction d'activation proposée par Google en 2020, qui combine les caractéristiques de SWISH et de GLU. Le nom chinois complet de SwiGLU est « unité linéaire à porte bidirectionnelle ». Il optimise et combine deux fonctions d'activation, SWISH et GLU, pour améliorer la capacité d'expression non linéaire du modèle. SWISH est une fonction d'activation très courante et largement utilisée dans les grands modèles de langage, tandis que GLU fonctionne bien dans les tâches de traitement du langage naturel. L'avantage de SwiGLU est qu'il peut obtenir en même temps les caractéristiques de lissage de SWISH et les caractéristiques de gating de GLU, rendant ainsi l'expression non linéaire du modèle plus
Nous les présenterons une par une :
Swish
Swish est une fonction d'activation non linéaire, définie comme suit :
Swish(x) = x*sigmoid(ßx)
où, ß est un paramètre apprenable. Swish peut être meilleur que la fonction d'activation ReLU car il offre des transitions plus fluides qui peuvent conduire à une meilleure optimisation.
Gated Linear Unit
GLU (Gated Linear Unit) est définie comme le produit composant de deux transformations linéaires, dont l'une est activée par le sigmoïde.
GLU(x) = sigmoid(W1x+b)⊗(Vx+c)
Le module GLU peut capturer efficacement les dépendances à longue portée dans des séquences tout en évitant certains des problèmes de gradient de disparition associés à d'autres mécanismes de déclenchement tels que LSTM et GRU.
SwiGLU
Nous avons déjà dit que SwiGLU est une combinaison des deux. C'est un GLU, mais au lieu d'utiliser sigmoïde comme fonction d'activation, on utilise swish avec ß=1, on se retrouve donc avec la formule suivante :
SwiGLU(x) = Swish(W1x+b)⊗(Vx+c)
Nous utilisons la fonction SwiGLU pour construire un réseau feedforward
FFNSwiGLU(x) = (Swish1(xW)⊗xV)W2
Implémentation simple de Pytorch
Si les principes mathématiques ci-dessus semblent gênants et ennuyeux, nous l'expliquerons directement en utilisant le code ci-dessous.
class SwiGLU(nn.Module): def __init__(self, w1, w2, w3) -> None:super().__init__()self.w1 = w1self.w2 = w2self.w3 = w3 def forward(self, x):x1 = F.linear(x, self.w1.weight)x2 = F.linear(x, self.w2.weight)hidden = F.silu(x1) * x2return F.linear(hidden, self.w3.weight)
La fonction F.silu utilisée dans notre code est la même que swish lorsque ß=1, nous l'utilisons donc directement.
Comme vous pouvez le voir sur le code, il y a 3 poids dans notre fonction d'activation qui peuvent être entraînés, qui sont les paramètres de la formule GLU.
Comparaison des effets de SwiGLU
En comparant SwiGLU avec d'autres variantes de GLU, nous pouvons voir que SwiGLU fonctionne mieux pendant les deux périodes de pré-entraînement.
Les tâches en aval
ont les meilleures performances, alors maintenant les llm, comme LAMA, OLMO et PALM utilisent tous SwiGLU dans leur implémentation. Mais pourquoi SwiGLU est-il meilleur que les autres ?
Le journal n'a donné que les résultats des tests et n'a pas expliqué les raisons. Au lieu de cela, il a déclaré :
Nous n'offrons aucune explication sur la raison pour laquelle ces architectures semblent fonctionner, nous attribuons leur succès, comme tout le reste. à la bienveillance divine.
L'auteur a dit que l'alchimie était réussie.
Mais nous sommes maintenant en 2024 et nous pouvons l'expliquer avec force :
1 La réponse relativement faible de Swish aux valeurs négatives surmonte le défaut de ReLU selon lequel la sortie sur certains neurones est toujours nulle
2. Les caractéristiques de contrôle de GLU, ce qui signifie qu'il peut décider quelles informations doivent passer et quelles informations doivent être filtrées en fonction de la situation d'entrée. Ce mécanisme permet au réseau d'apprendre plus efficacement les représentations utiles et contribue à améliorer la capacité de généralisation du modèle. Dans les grands modèles de langage, cela est particulièrement utile pour traiter de longues séquences de texte avec des dépendances longue distance.
3. Les paramètres W1, W2, W3, b1, b2, b3 dans SwiGLU peuvent être appris par formation, afin que le modèle puisse ajuster dynamiquement ces paramètres en fonction de différentes tâches et ensembles de données. Flexibilité et adaptabilité améliorées du modèle.
4. L'efficacité du calcul est supérieure à certaines fonctions d'activation plus complexes (telles que GELU), tout en conservant de bonnes performances. Il s’agit d’une considération importante pour la formation et l’inférence de modèles linguistiques à grande échelle.
Choisissez SwiGLU comme fonction d'activation du grand modèle de langage, principalement parce qu'il combine les avantages des capacités non linéaires, des caractéristiques de déclenchement, de la stabilité du gradient et des paramètres apprenables. SwiGLU est largement adopté en raison de ses excellentes performances dans la gestion des relations sémantiques complexes et des problèmes de longue dépendance dans les modèles de langage, ainsi que dans le maintien de la stabilité de la formation et de l'efficacité informatique.
Adresse papier
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Explorer le fonctionnement interne des modèles de langue avec Gemma Scope Comprendre les complexités des modèles de langue IA est un défi important. La sortie de Google de Gemma Scope, une boîte à outils complète, offre aux chercheurs un moyen puissant de plonger

Déverrouiller le succès de l'entreprise: un guide pour devenir un analyste de Business Intelligence Imaginez transformer les données brutes en informations exploitables qui stimulent la croissance organisationnelle. C'est le pouvoir d'un analyste de Business Intelligence (BI) - un rôle crucial dans GU

Instruction ALTER TABLE de SQL: Ajout de colonnes dynamiquement à votre base de données Dans la gestion des données, l'adaptabilité de SQL est cruciale. Besoin d'ajuster votre structure de base de données à la volée? L'énoncé de la table alter est votre solution. Ce guide détaille l'ajout de Colu

Introduction Imaginez un bureau animé où deux professionnels collaborent sur un projet critique. L'analyste commercial se concentre sur les objectifs de l'entreprise, l'identification des domaines d'amélioration et la garantie d'alignement stratégique sur les tendances du marché. Simulé

Excel Counting and Analysis: Explication détaillée du nombre et des fonctions de compte Le comptage et l'analyse des données précises sont essentiels dans Excel, en particulier lorsque vous travaillez avec de grands ensembles de données. Excel fournit une variété de fonctions pour y parvenir, les fonctions Count et Count sont des outils clés pour compter le nombre de cellules dans différentes conditions. Bien que les deux fonctions soient utilisées pour compter les cellules, leurs cibles de conception sont ciblées sur différents types de données. Faisons des détails spécifiques du comptage et des fonctions de coude, mettons en évidence leurs caractéristiques et différences uniques et apprenez à les appliquer dans l'analyse des données. Aperçu des points clés Comprendre le nombre et le cou

La révolution de l'IA de Google Chrome: une expérience de navigation personnalisée et efficace L'intelligence artificielle (IA) transforme rapidement notre vie quotidienne, et Google Chrome mène la charge dans l'arène de navigation Web. Cet article explore les exciti

Réinventuation d'impact: le quadruple bas Pendant trop longtemps, la conversation a été dominée par une vision étroite de l’impact de l’IA, principalement axée sur le résultat du profit. Cependant, une approche plus holistique reconnaît l'interconnexion de BU

Les choses évoluent régulièrement vers ce point. L'investissement affluant dans les prestataires de services quantiques et les startups montre que l'industrie comprend son importance. Et un nombre croissant de cas d'utilisation réels émergent pour démontrer sa valeur


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Version Mac de WebStorm
Outils de développement JavaScript utiles

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.