Inhaltsverzeichnis
Transformer-Architekturdiagramm und Code sind „inkonsistent“
Heim Technologie-Peripheriegeräte KI Das Bild stimmt nicht mit dem Code überein. Im Transformer-Papier wurde ein Fehler gefunden: Es hätte 1.000 Mal darauf hingewiesen werden sollen.

Das Bild stimmt nicht mit dem Code überein. Im Transformer-Papier wurde ein Fehler gefunden: Es hätte 1.000 Mal darauf hingewiesen werden sollen.

May 25, 2023 pm 03:01 PM
ai 代码

Im Jahr 2017 hat das Google Brain-Team die Transformer-Architektur in seinem Artikel „Attention Is All You Need“ kreativ vorgeschlagen. Seitdem ist diese Forschung bahnbrechend und hat sich heute zu einem der beliebtesten Modelle im Bereich NLP entwickelt Es wurde häufig auf verschiedene Sprachaufgaben angewendet und erzielte viele SOTA-Ergebnisse.

Darüber hinaus hat Transformer, das im Bereich NLP eine Vorreiterrolle spielt, schnell Bereiche wie Computer Vision (CV) und Spracherkennung durchschritten und bei Aufgaben wie Bildklassifizierung und Zielerkennung gute Ergebnisse erzielt und Spracherkennung.

Das Bild stimmt nicht mit dem Code überein. Im Transformer-Papier wurde ein Fehler gefunden: Es hätte 1.000 Mal darauf hingewiesen werden sollen.

Papieradresse: https://arxiv.org/pdf/1706.03762.pdf

Seit seiner Einführung ist Transformer zum Kernmodul vieler Modelle geworden, wie z Bekannte BERT, T5 usw. haben alle Transformatoren. Sogar das in letzter Zeit populär gewordene ChatGPT setzt auf Transformer, das bereits von Google patentiert wurde.

Das Bild stimmt nicht mit dem Code überein. Im Transformer-Papier wurde ein Fehler gefunden: Es hätte 1.000 Mal darauf hingewiesen werden sollen.

Bildquelle: https://patentimages.storage.googleapis.com/05/e8/f1/cd8eed389b7687/US10452978.pdf

Darüber hinaus hat OpenAI eine Reihe veröffentlicht Beim Modell GPT (Generative Pre-Trained Transformer) mit Transformer im Namen ist ersichtlich, dass Transformer der Kern des GPT-Serienmodells ist.

Gleichzeitig sagte OpenAI-Mitbegründer Ilya Stutskever kürzlich, als er über Transformer sprach, dass die Erstveröffentlichung von Transformer tatsächlich am zweiten Tag nach der Veröffentlichung des Papiers erfolgte und sie es kaum erwarten konnten, ihre vorherige Version zu wechseln Forschung zu Transformer. Transformer, gefolgt von GPT. Es ist ersichtlich, dass die Bedeutung von Transformer offensichtlich ist.

In 6 Jahren hat sich das auf Transformer basierende Modell immer weiter entwickelt und ist gewachsen. Jetzt hat jedoch jemand einen Fehler im ursprünglichen Transformer-Papier entdeckt.

Transformer-Architekturdiagramm und Code sind „inkonsistent“

Die Person, die den Fehler entdeckte, war Sebastian Raschka, ein bekannter Forscher für maschinelles Lernen und KI und Chef-KI-Ausbilder des Startups Lightning AI. Er wies darauf hin, dass das Architekturdiagramm im ursprünglichen Transformer-Papier falsch sei und eine Layer-Normalisierung (LN) zwischen Restblöcken platziert habe, was nicht mit dem Code übereinstimme.

Das Bild stimmt nicht mit dem Code überein. Im Transformer-Papier wurde ein Fehler gefunden: Es hätte 1.000 Mal darauf hingewiesen werden sollen.

Das Diagramm der Transformatorarchitektur sieht wie folgt auf der linken Seite aus, und auf der rechten Seite befindet sich die Post-LN-Transformatorschicht (aus dem Artikel „On Layer Normalization in the Transformer Architecture“ [1]).

Der inkonsistente Codeteil lautet wie folgt: Zeile 82 schreibt die Ausführungssequenz „layer_postprocess_sequence="dan"", was bedeutet, dass die Nachverarbeitung Dropout, Residual_Add und Layer_norm nacheinander ausführt. Wenn add&norm in der linken Mitte des obigen Bildes so verstanden wird: add liegt über der Norm, also zuerst normieren und dann addieren, dann stimmt der Code tatsächlich nicht mit dem Bild überein.

Code-Adresse:

https://github.com/tensorflow/tensor2tensor/commit/f5c9b17e617ea9179b7d84d36b1e8162cb369f25#diff-76e2b94ef1 68 71bdbf46bf04dfe7f1477bafb884748f08197c9cf1b10a4dd78e…

Als nächstes sagte Sebastian, dass das Papier „On Layer „Normalisierung in der Transformatorarchitektur“ geht davon aus, dass Pre-LN eine bessere Leistung erbringt und das Gradientenproblem lösen kann. Dies ist bei vielen oder den meisten Architekturen in der Praxis der Fall, kann jedoch zum Zusammenbruch der Darstellung führen.

Bessere Farbverläufe können erreicht werden, wenn die Ebenennormalisierung in der Restverbindung vor den Aufmerksamkeits- und vollständig verbundenen Ebenen platziert wird.

Das Bild stimmt nicht mit dem Code überein. Im Transformer-Papier wurde ein Fehler gefunden: Es hätte 1.000 Mal darauf hingewiesen werden sollen.

Während also die Debatte über Post-LN oder Pre-LN weitergeht, kombiniert ein anderer Artikel diese beiden Punkte, nämlich „ResiDual: Transformer with Dual Residual Connections“ [2] .

In Bezug auf Sebastians Entdeckung denken einige Leute, dass wir oft auf Papiere stoßen, die nicht mit dem Code oder den Ergebnissen übereinstimmen. Das meiste davon ist ehrlich, aber manchmal ist es seltsam. Angesichts der Popularität des Transformer-Papiers hätte diese Inkonsistenz tausendfach erwähnt werden müssen.

Sebastian antwortete, dass der „originellste“ Code zwar fairerweise mit dem Architekturdiagramm übereinstimmt, die 2017 eingereichte Codeversion jedoch geändert und das Architekturdiagramm nicht aktualisiert wurde. Das ist also wirklich verwirrend.

Das Bild stimmt nicht mit dem Code überein. Im Transformer-Papier wurde ein Fehler gefunden: Es hätte 1.000 Mal darauf hingewiesen werden sollen.

Ein Internetnutzer sagte: „Das Schlimmste am Lesen von Code ist, dass man oft kleine Änderungen wie diese findet und nicht weiß, ob sie beabsichtigt oder unbeabsichtigt sind. Sie können' Ich teste es nicht einmal, weil Sie nicht genug Rechenleistung haben, um das Modell zu trainieren.“

Ich weiß nicht, ob Google den Code oder das Architekturdiagramm in Zukunft aktualisieren wird, wir werden abwarten und sehen!

Das obige ist der detaillierte Inhalt vonDas Bild stimmt nicht mit dem Code überein. Im Transformer-Papier wurde ein Fehler gefunden: Es hätte 1.000 Mal darauf hingewiesen werden sollen.. 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)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen 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)

Welche Methode wird verwendet, um Strings in Objekte in Vue.js umzuwandeln? Welche Methode wird verwendet, um Strings in Objekte in Vue.js umzuwandeln? Apr 07, 2025 pm 09:39 PM

Bei der Konvertierung von Zeichenfolgen in Objekte in Vue.js wird JSON.Parse () für Standard -JSON -Zeichenfolgen bevorzugt. Bei nicht standardmäßigen JSON-Zeichenfolgen kann die Zeichenfolge durch Verwendung regelmäßiger Ausdrücke verarbeitet und Methoden gemäß dem Format oder dekodierten URL-kodiert reduziert werden. Wählen Sie die entsprechende Methode gemäß dem String -Format aus und achten Sie auf Sicherheits- und Codierungsprobleme, um Fehler zu vermeiden.

Remote Senior Backend Engineers (Plattformen) benötigen Kreise Remote Senior Backend Engineers (Plattformen) benötigen Kreise Apr 08, 2025 pm 12:27 PM

Remote Senior Backend Engineer Job Vacant Company: Circle Standort: Remote-Büro-Jobtyp: Vollzeitgehalt: 130.000 bis 140.000 US-Dollar Stellenbeschreibung Nehmen Sie an der Forschung und Entwicklung von Mobilfunkanwendungen und öffentlichen API-bezogenen Funktionen, die den gesamten Lebenszyklus der Softwareentwicklung abdecken. Die Hauptaufgaben erledigen die Entwicklungsarbeit unabhängig von RubyonRails und arbeiten mit dem Front-End-Team von React/Redux/Relay zusammen. Erstellen Sie die Kernfunktionalität und -verbesserungen für Webanwendungen und arbeiten Sie eng mit Designer und Führung während des gesamten funktionalen Designprozesses zusammen. Fördern Sie positive Entwicklungsprozesse und priorisieren Sie die Iterationsgeschwindigkeit. Erfordert mehr als 6 Jahre komplexes Backend für Webanwendungen

VUE.JS Wie kann man ein Array von String -Typ in ein Array von Objekten umwandeln? VUE.JS Wie kann man ein Array von String -Typ in ein Array von Objekten umwandeln? Apr 07, 2025 pm 09:36 PM

Zusammenfassung: Es gibt die folgenden Methoden zum Umwandeln von VUE.JS -String -Arrays in Objektarrays: Grundlegende Methode: Verwenden Sie die Kartenfunktion, um regelmäßige formatierte Daten zu entsprechen. Erweitertes Gameplay: Die Verwendung regulärer Ausdrücke kann komplexe Formate ausführen, müssen jedoch sorgfältig geschrieben und berücksichtigt werden. Leistungsoptimierung: In Betracht ziehen die große Datenmenge, asynchrone Operationen oder effiziente Datenverarbeitungsbibliotheken können verwendet werden. Best Practice: Clear Code -Stil, verwenden Sie sinnvolle variable Namen und Kommentare, um den Code präzise zu halten.

So verwenden Sie MySQL nach der Installation So verwenden Sie MySQL nach der Installation Apr 08, 2025 am 11:48 AM

Der Artikel führt den Betrieb der MySQL -Datenbank vor. Zunächst müssen Sie einen MySQL -Client wie MySQLworkBench oder Befehlszeilen -Client installieren. 1. Verwenden Sie den Befehl mySQL-uroot-P, um eine Verbindung zum Server herzustellen und sich mit dem Stammkonto-Passwort anzumelden. 2. Verwenden Sie die Erstellung von Createdatabase, um eine Datenbank zu erstellen, und verwenden Sie eine Datenbank aus. 3.. Verwenden Sie CreateTable, um eine Tabelle zu erstellen, Felder und Datentypen zu definieren. 4. Verwenden Sie InsertInto, um Daten einzulegen, Daten abzufragen, Daten nach Aktualisierung zu aktualisieren und Daten nach Löschen zu löschen. Nur indem Sie diese Schritte beherrschen, lernen, mit gemeinsamen Problemen umzugehen und die Datenbankleistung zu optimieren, können Sie MySQL effizient verwenden.

Laravels Geospatial: Optimierung interaktiver Karten und großen Datenmengen Laravels Geospatial: Optimierung interaktiver Karten und großen Datenmengen Apr 08, 2025 pm 12:24 PM

Verarbeiten Sie 7 Millionen Aufzeichnungen effizient und erstellen Sie interaktive Karten mit Geospatial -Technologie. In diesem Artikel wird untersucht, wie über 7 Millionen Datensätze mithilfe von Laravel und MySQL effizient verarbeitet und in interaktive Kartenvisualisierungen umgewandelt werden können. Erstes Herausforderungsprojektanforderungen: Mit 7 Millionen Datensätzen in der MySQL -Datenbank wertvolle Erkenntnisse extrahieren. Viele Menschen erwägen zunächst Programmiersprachen, aber ignorieren die Datenbank selbst: Kann sie den Anforderungen erfüllen? Ist Datenmigration oder strukturelle Anpassung erforderlich? Kann MySQL einer so großen Datenbelastung standhalten? Voranalyse: Schlüsselfilter und Eigenschaften müssen identifiziert werden. Nach der Analyse wurde festgestellt, dass nur wenige Attribute mit der Lösung zusammenhängen. Wir haben die Machbarkeit des Filters überprüft und einige Einschränkungen festgelegt, um die Suche zu optimieren. Kartensuche basierend auf der Stadt

Vue- und Element-UI-Kaskaden-Dropdown-Box V-Model-Bindung Vue- und Element-UI-Kaskaden-Dropdown-Box V-Model-Bindung Apr 07, 2025 pm 08:06 PM

Vue- und Element-UI-kaskadierte Dropdown-Boxen V-Model-Bindung gemeinsame Grubenpunkte: V-Model bindet ein Array, das die ausgewählten Werte auf jeder Ebene des kaskadierten Auswahlfelds darstellt, nicht auf einer Zeichenfolge; Der Anfangswert von ausgewählten Optionen muss ein leeres Array sein, nicht null oder undefiniert. Die dynamische Belastung von Daten erfordert die Verwendung asynchroner Programmierkenntnisse, um Datenaktualisierungen asynchron zu verarbeiten. Für riesige Datensätze sollten Leistungsoptimierungstechniken wie virtuelles Scrollen und fauler Laden in Betracht gezogen werden.

Wie man MySQL löst, kann nicht gestartet werden Wie man MySQL löst, kann nicht gestartet werden Apr 08, 2025 pm 02:21 PM

Es gibt viele Gründe, warum MySQL Startup fehlschlägt und durch Überprüfung des Fehlerprotokolls diagnostiziert werden kann. Zu den allgemeinen Ursachen gehören Portkonflikte (prüfen Portbelegung und Änderung der Konfiguration), Berechtigungsprobleme (Überprüfen Sie den Dienst Ausführen von Benutzerberechtigungen), Konfigurationsdateifehler (Überprüfung der Parametereinstellungen), Datenverzeichniskorruption (Wiederherstellung von Daten oder Wiederaufbautabellenraum), InnoDB-Tabellenraumprobleme (prüfen IBDATA1-Dateien), Plug-in-Ladeversagen (Überprüfen Sie Fehlerprotokolle). Wenn Sie Probleme lösen, sollten Sie sie anhand des Fehlerprotokolls analysieren, die Hauptursache des Problems finden und die Gewohnheit entwickeln, Daten regelmäßig zu unterstützen, um Probleme zu verhindern und zu lösen.

So optimieren Sie die Datenbankleistung nach der MySQL -Installation So optimieren Sie die Datenbankleistung nach der MySQL -Installation Apr 08, 2025 am 11:36 AM

Die MySQL -Leistungsoptimierung muss von drei Aspekten beginnen: Installationskonfiguration, Indexierung und Abfrageoptimierung, Überwachung und Abstimmung. 1. Nach der Installation müssen Sie die my.cnf -Datei entsprechend der Serverkonfiguration anpassen, z. 2. Erstellen Sie einen geeigneten Index, um übermäßige Indizes zu vermeiden und Abfrageanweisungen zu optimieren, z. B. den Befehl Erklärung zur Analyse des Ausführungsplans; 3. Verwenden Sie das eigene Überwachungstool von MySQL (ShowProcessList, Showstatus), um die Datenbankgesundheit zu überwachen und die Datenbank regelmäßig zu sichern und zu organisieren. Nur durch kontinuierliche Optimierung dieser Schritte kann die Leistung der MySQL -Datenbank verbessert werden.

See all articles