recherche
MaisonPériphériques technologiquesIAPourquoi 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

为什么大型语言模型都在使用 SwiGLU 作为激活函数?

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)

为什么大型语言模型都在使用 SwiGLU 作为激活函数?

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)

为什么大型语言模型都在使用 SwiGLU 作为激活函数?

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.

为什么大型语言模型都在使用 SwiGLU 作为激活函数?

Les tâches en aval

为什么大型语言模型都在使用 SwiGLU 作为激活函数?

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

https://www.php.cn/link/86e33d550dc162366a02003089ab9894

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!

Déclaration
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Gemma Scope: le microscope de Google pour regarder dans le processus de pensée de l'IAGemma Scope: le microscope de Google pour regarder dans le processus de pensée de l'IAApr 17, 2025 am 11:55 AM

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

Qui est un analyste de Business Intelligence et comment en devenir un?Qui est un analyste de Business Intelligence et comment en devenir un?Apr 17, 2025 am 11:44 AM

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

Comment ajouter une colonne dans SQL? - Analytique VidhyaComment ajouter une colonne dans SQL? - Analytique VidhyaApr 17, 2025 am 11:43 AM

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

Analyste d'entreprise vs analyste de donnéesAnalyste d'entreprise vs analyste de donnéesApr 17, 2025 am 11:38 AM

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é

Que sont le comte et le coude à Excel? - Analytique VidhyaQue sont le comte et le coude à Excel? - Analytique VidhyaApr 17, 2025 am 11:34 AM

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

Chrome est là avec l'IA: vivre quelque chose de nouveau tous les jours !!Chrome est là avec l'IA: vivre quelque chose de nouveau tous les jours !!Apr 17, 2025 am 11:29 AM

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

Côté humain de l'AI: le bien-être et le quadruple de basCôté humain de l'AI: le bien-être et le quadruple de basApr 17, 2025 am 11:28 AM

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

5 cas d'utilisation de l'informatique quantique qui change la donne que vous devriez connaître5 cas d'utilisation de l'informatique quantique qui change la donne que vous devriez connaîtreApr 17, 2025 am 11:24 AM

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

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

SublimeText3 version anglaise

SublimeText3 version anglaise

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

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

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