Inhaltsverzeichnis
Swish
Gated Linear Unit
SwiGLU
Einfache Implementierung von Pytorch
SwiGLU-Effektvergleich
Heim Technologie-Peripheriegeräte KI Warum verwenden große Sprachmodelle SwiGLU als Aktivierungsfunktion?

Warum verwenden große Sprachmodelle SwiGLU als Aktivierungsfunktion?

Apr 08, 2024 pm 09:31 PM
大型语言模型 swiglu

Wenn Sie sich mit der Architektur großer Sprachmodelle befasst haben, ist Ihnen möglicherweise der Begriff „SwiGLU“ in den neuesten Modellen und Forschungsarbeiten aufgefallen. Man kann sagen, dass SwiGLU die am häufigsten verwendete Aktivierungsfunktion in großen Sprachmodellen ist. Wir werden sie in diesem Artikel ausführlich vorstellen. SwiGLU ist eigentlich eine von Google im Jahr 2020 vorgeschlagene Aktivierungsfunktion, die die Eigenschaften von SWISH und GLU kombiniert. Der vollständige chinesische Name von SwiGLU lautet „bidirektionale Gated Linear Unit“. Es optimiert und kombiniert zwei Aktivierungsfunktionen, SWISH und GLU, um die nichtlineare Ausdrucksfähigkeit des Modells zu verbessern. SWISH ist eine sehr häufige Aktivierungsfunktion, die häufig in großen Sprachmodellen verwendet wird, während GLU bei Aufgaben zur Verarbeitung natürlicher Sprache eine gute Leistung erbringt. Der Vorteil von SwiGLU besteht darin, dass es gleichzeitig die Glättungseigenschaften von SWISH und die Gating-Eigenschaften von GLU erhalten kann, wodurch der nichtlineare Ausdruck des Modells besser wird

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

Wir werden sie einzeln vorstellen:

Swish

Swish ist eine nichtlineare Aktivierungsfunktion, die wie folgt definiert ist:

Swish(x) = x*sigmoid(ßx)
Nach dem Login kopieren

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

wobei ß ein lernbarer Parameter ist. Swish kann besser sein als die ReLU-Aktivierungsfunktion, da es weichere Übergänge ermöglicht, was zu einer besseren Optimierung führen kann.

Gated Linear Unit

GLU (Gated Linear Unit) ist definiert als das Komponentenprodukt zweier linearer Transformationen, von denen eine durch Sigmoid aktiviert wird.

GLU(x) = sigmoid(W1x+b)⊗(Vx+c)
Nach dem Login kopieren

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

Das GLU-Modul kann Langzeitabhängigkeiten in Sequenzen effektiv erfassen und gleichzeitig einige der verschwindenden Gradientenprobleme vermeiden, die mit anderen Gating-Mechanismen wie LSTM und GRU verbunden sind.

SwiGLU

Wir haben bereits gesagt, dass SwiGLU eine Kombination aus beidem ist. Es ist eine GLU, aber anstatt Sigmoid als Aktivierungsfunktion zu verwenden, verwenden wir swish mit ß=1, sodass wir am Ende die folgende Formel erhalten:

SwiGLU(x) = Swish(W1x+b)⊗(Vx+c)
Nach dem Login kopieren

Wir verwenden die SwiGLU-Funktion, um ein Feedforward-Netzwerk aufzubauen

FFNSwiGLU(x) = (Swish1(xW)⊗xV)W2
Nach dem Login kopieren

Einfache Implementierung von Pytorch

Wenn die oben genannten mathematischen Prinzipien mühsam und langweilig erscheinen, erklären wir sie direkt anhand des folgenden Codes.

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)
Nach dem Login kopieren

Die in unserem Code verwendete F.silu-Funktion ist dieselbe wie swish, wenn ß=1 ist, daher verwenden wir sie direkt.

Sie können dem Code entnehmen, dass es in unserer Aktivierungsfunktion drei Gewichte gibt, die trainiert werden können, nämlich die Parameter aus der GLU-Formel.

SwiGLU-Effektvergleich

Beim Vergleich von SwiGLU mit anderen GLU-Varianten können wir sehen, dass SwiGLU in beiden Vortrainingsphasen eine bessere Leistung erbringt.

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

Downstream-Aufgaben

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

haben die beste Leistung, daher verwenden jetzt alle LLMs wie LLAMA, OLMO und PALM SwiGLU in ihrer Implementierung. Aber warum ist SwiGLU besser als die anderen?

Das Papier gab nur die Testergebnisse bekannt und erläuterte nicht die Gründe. Stattdessen hieß es:

Wir geben keine Erklärung dafür, warum diese Architekturen zu funktionieren scheinen, wie alles andere auch. zur göttlichen Güte.

Der Autor sagte, dass die Alchemie erfolgreich war.

Aber jetzt haben wir das Jahr 2024 und wir können es eindringlich erklären:

1 Swishs relativ geringe Reaktion auf negative Werte überwindet das Manko von ReLU, dass die Ausgabe auf einigen Neuronen immer Null ist

2. Die Gating-Eigenschaften von GLU bedeuten, dass sie basierend auf der Eingabesituation entscheiden kann, welche Informationen weitergeleitet und welche Informationen gefiltert werden sollen. Dieser Mechanismus ermöglicht es dem Netzwerk, nützliche Darstellungen effektiver zu lernen und trägt dazu bei, die Generalisierungsfähigkeit des Modells zu verbessern. In großen Sprachmodellen ist dies besonders nützlich für die Verarbeitung langer Textsequenzen mit Abhängigkeiten über große Entfernungen.

3. Die Parameter W1, W2, W3, b1, b2, b3 können durch Training erlernt werden, sodass das Modell diese Parameter dynamisch an verschiedene Aufgaben und Datensätze anpassen kann.

4. Die Berechnungseffizienz ist höher als bei einigen komplexeren Aktivierungsfunktionen (wie GELU), während die Leistung dennoch gut bleibt. Dies ist eine wichtige Überlegung für das Training und die Inferenz umfangreicher Sprachmodelle.

Wählen Sie SwiGLU als Aktivierungsfunktion des großen Sprachmodells, hauptsächlich weil es die Vorteile nichtlinearer Fähigkeiten, Gating-Eigenschaften, Gradientenstabilität und lernbarer Parameter kombiniert. SwiGLU wird aufgrund seiner hervorragenden Leistung bei der Bewältigung komplexer semantischer Beziehungen und langer Abhängigkeitsprobleme in Sprachmodellen sowie der Aufrechterhaltung der Trainingsstabilität und Recheneffizienz weit verbreitet.

Papieradresse

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

Das obige ist der detaillierte Inhalt vonWarum verwenden große Sprachmodelle SwiGLU als Aktivierungsfunktion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Warum verwenden große Sprachmodelle SwiGLU als Aktivierungsfunktion? Warum verwenden große Sprachmodelle SwiGLU als Aktivierungsfunktion? Apr 08, 2024 pm 09:31 PM

Wenn Sie sich mit der Architektur großer Sprachmodelle befasst haben, ist Ihnen möglicherweise der Begriff „SwiGLU“ in den neuesten Modellen und Forschungsarbeiten aufgefallen. Man kann sagen, dass SwiGLU die am häufigsten verwendete Aktivierungsfunktion in großen Sprachmodellen ist. Wir werden sie in diesem Artikel ausführlich vorstellen. SwiGLU ist eigentlich eine von Google im Jahr 2020 vorgeschlagene Aktivierungsfunktion, die die Eigenschaften von SWISH und GLU kombiniert. Der vollständige chinesische Name von SwiGLU lautet „bidirektionale Gated Linear Unit“. Es optimiert und kombiniert zwei Aktivierungsfunktionen, SWISH und GLU, um die nichtlineare Ausdrucksfähigkeit des Modells zu verbessern. SWISH ist eine sehr häufige Aktivierungsfunktion, die in großen Sprachmodellen weit verbreitet ist, während GLU bei Aufgaben zur Verarbeitung natürlicher Sprache eine gute Leistung gezeigt hat.

Kann LLM durch Feinabstimmung wirklich neue Dinge lernen: Die Einführung neuen Wissens kann dazu führen, dass das Modell mehr Halluzinationen hervorruft Kann LLM durch Feinabstimmung wirklich neue Dinge lernen: Die Einführung neuen Wissens kann dazu führen, dass das Modell mehr Halluzinationen hervorruft Jun 11, 2024 pm 03:57 PM

Large Language Models (LLMs) werden auf riesigen Textdatenbanken trainiert und erwerben dort große Mengen an realem Wissen. Dieses Wissen wird in ihre Parameter eingebettet und kann dann bei Bedarf genutzt werden. Das Wissen über diese Modelle wird am Ende der Ausbildung „verdinglicht“. Am Ende des Vortrainings hört das Modell tatsächlich auf zu lernen. Richten Sie das Modell aus oder verfeinern Sie es, um zu erfahren, wie Sie dieses Wissen nutzen und natürlicher auf Benutzerfragen reagieren können. Aber manchmal reicht Modellwissen nicht aus, und obwohl das Modell über RAG auf externe Inhalte zugreifen kann, wird es als vorteilhaft angesehen, das Modell durch Feinabstimmung an neue Domänen anzupassen. Diese Feinabstimmung erfolgt mithilfe von Eingaben menschlicher Annotatoren oder anderer LLM-Kreationen, wobei das Modell auf zusätzliches Wissen aus der realen Welt trifft und dieses integriert

Visualisieren Sie den FAISS-Vektorraum und passen Sie die RAG-Parameter an, um die Ergebnisgenauigkeit zu verbessern Visualisieren Sie den FAISS-Vektorraum und passen Sie die RAG-Parameter an, um die Ergebnisgenauigkeit zu verbessern Mar 01, 2024 pm 09:16 PM

Da sich die Leistung groß angelegter Open-Source-Sprachmodelle weiter verbessert, hat sich auch die Leistung beim Schreiben und Analysieren von Code, Empfehlungen, Textzusammenfassungen und Frage-Antwort-Paaren (QA) verbessert. Aber wenn es um die Qualitätssicherung geht, mangelt es LLM oft an Problemen im Zusammenhang mit ungeschulten Daten, und viele interne Dokumente werden im Unternehmen aufbewahrt, um Compliance, Geschäftsgeheimnisse oder Datenschutz zu gewährleisten. Wenn diese Dokumente abgefragt werden, kann LLM Halluzinationen hervorrufen und irrelevante, erfundene oder inkonsistente Inhalte produzieren. Eine mögliche Technik zur Bewältigung dieser Herausforderung ist Retrieval Augmented Generation (RAG). Dabei geht es darum, die Antworten durch Verweise auf maßgebliche Wissensdatenbanken über die Trainingsdatenquelle hinaus zu verbessern, um die Qualität und Genauigkeit der Generierung zu verbessern. Das RAG-System umfasst ein Retrieval-System zum Abrufen relevanter Dokumentfragmente aus dem Korpus

Optimierung von LLM mithilfe der SPIN-Technologie für das Feinabstimmungstraining für das Selbstspiel Optimierung von LLM mithilfe der SPIN-Technologie für das Feinabstimmungstraining für das Selbstspiel Jan 25, 2024 pm 12:21 PM

2024 ist ein Jahr der rasanten Entwicklung für große Sprachmodelle (LLM). In der Ausbildung von LLM sind Alignment-Methoden ein wichtiges technisches Mittel, einschließlich Supervised Fine-Tuning (SFT) und Reinforcement Learning mit menschlichem Feedback, das auf menschlichen Präferenzen basiert (RLHF). Diese Methoden haben eine entscheidende Rolle bei der Entwicklung von LLM gespielt, aber Alignment-Methoden erfordern eine große Menge manuell annotierter Daten. Angesichts dieser Herausforderung ist die Feinabstimmung zu einem dynamischen Forschungsgebiet geworden, in dem Forscher aktiv an der Entwicklung von Methoden arbeiten, mit denen menschliche Daten effektiv genutzt werden können. Daher wird die Entwicklung von Ausrichtungsmethoden weitere Durchbrüche in der LLM-Technologie fördern. Die University of California hat kürzlich eine Studie zur Einführung einer neuen Technologie namens SPIN (SelfPlayfInetuNing) durchgeführt. S

Nutzung von Wissensgraphen, um die Fähigkeiten von RAG-Modellen zu verbessern und falsche Eindrücke von großen Modellen zu verringern Nutzung von Wissensgraphen, um die Fähigkeiten von RAG-Modellen zu verbessern und falsche Eindrücke von großen Modellen zu verringern Jan 14, 2024 pm 06:30 PM

Halluzinationen sind ein häufiges Problem bei der Arbeit mit großen Sprachmodellen (LLMs). Obwohl LLM glatte und kohärente Texte erzeugen kann, sind die generierten Informationen oft ungenau oder inkonsistent. Um LLM vor Halluzinationen zu schützen, können externe Wissensquellen wie Datenbanken oder Wissensgraphen zur Bereitstellung sachlicher Informationen genutzt werden. Auf diese Weise kann sich LLM auf diese zuverlässigen Datenquellen verlassen, was zu genaueren und zuverlässigeren Textinhalten führt. Vektordatenbank und Wissensgraph-Vektordatenbank Eine Vektordatenbank ist ein Satz hochdimensionaler Vektoren, die Entitäten oder Konzepte darstellen. Sie können verwendet werden, um die Ähnlichkeit oder Korrelation zwischen verschiedenen Entitäten oder Konzepten zu messen, die anhand ihrer Vektordarstellungen berechnet werden. Eine Vektordatenbank kann Ihnen anhand der Vektorentfernung sagen, dass „Paris“ und „Frankreich“ näher beieinander liegen als „Paris“ und

RoSA: Eine neue Methode zur effizienten Feinabstimmung großer Modellparameter RoSA: Eine neue Methode zur effizienten Feinabstimmung großer Modellparameter Jan 18, 2024 pm 05:27 PM

Da Sprachmodelle in einem noch nie dagewesenen Ausmaß skaliert werden, wird eine umfassende Feinabstimmung für nachgelagerte Aufgaben unerschwinglich teuer. Um dieses Problem zu lösen, begannen Forscher, der PEFT-Methode Aufmerksamkeit zu schenken und sie zu übernehmen. Die Hauptidee der PEFT-Methode besteht darin, den Umfang der Feinabstimmung auf einen kleinen Satz von Parametern zu beschränken, um die Rechenkosten zu senken und gleichzeitig eine hochmoderne Leistung bei Aufgaben zum Verstehen natürlicher Sprache zu erzielen. Auf diese Weise können Forscher Rechenressourcen einsparen und gleichzeitig eine hohe Leistung aufrechterhalten, wodurch neue Forschungsschwerpunkte auf dem Gebiet der Verarbeitung natürlicher Sprache entstehen. RoSA ist eine neue PEFT-Technik, die durch Experimente mit einer Reihe von Benchmarks gezeigt hat, dass sie frühere Low-Rank-Adaptive- (LoRA) und reine Sparse-Feinabstimmungsmethoden mit demselben Parameterbudget übertrifft. Dieser Artikel wird näher darauf eingehen

Detaillierte Erläuterung der GQA, des in großen Modellen häufig verwendeten Aufmerksamkeitsmechanismus und der Pytorch-Codeimplementierung Detaillierte Erläuterung der GQA, des in großen Modellen häufig verwendeten Aufmerksamkeitsmechanismus und der Pytorch-Codeimplementierung Apr 03, 2024 pm 05:40 PM

Grouped Query Attention (GroupedQueryAttention) ist eine Methode zur Aufmerksamkeit für mehrere Abfragen in großen Sprachmodellen. Ihr Ziel besteht darin, die Qualität von MHA zu erreichen und gleichzeitig die Geschwindigkeit von MQA beizubehalten. GroupedQueryAttention gruppiert Abfragen und Abfragen innerhalb jeder Gruppe haben die gleiche Aufmerksamkeitsgewichtung, was dazu beiträgt, die Rechenkomplexität zu reduzieren und die Inferenzgeschwindigkeit zu erhöhen. In diesem Artikel erklären wir die Idee der GQA und wie man sie in Code übersetzt. GQA befindet sich im Artikel GQA:TrainingGeneralizedMulti-QueryTransformerModelsfromMulti-HeadCheckpoint

LLMLingua: Integrieren Sie LlamaIndex, komprimieren Sie Hinweise und stellen Sie effiziente Inferenzdienste für große Sprachmodelle bereit LLMLingua: Integrieren Sie LlamaIndex, komprimieren Sie Hinweise und stellen Sie effiziente Inferenzdienste für große Sprachmodelle bereit Nov 27, 2023 pm 05:13 PM

Das Aufkommen großer Sprachmodelle (LLMs) hat Innovationen in mehreren Bereichen angeregt. Die zunehmende Komplexität von Eingabeaufforderungen, die durch Strategien wie CoT-Eingabeaufforderungen (Chain-of-Think) und kontextuelles Lernen (ICL) vorangetrieben werden, stellt jedoch rechnerische Herausforderungen dar. Diese langwierigen Eingabeaufforderungen erfordern erhebliche Ressourcen für die Argumentation und erfordern daher effiziente Lösungen. In diesem Artikel wird die Integration von LLMLingua mit dem proprietären LlamaIndex vorgestellt, um effizientes Denken durchzuführen. LLMLingua ist ein von Microsoft-Forschern bei EMNLP2023 veröffentlichtes Verfahren, das die Fähigkeit von LLML, wichtige Informationen in langen Kontextszenen zu erkennen, durch schnelle Komprimierung verbessert. LLMLingua und llamindex

See all articles