Heim > Artikel > Technologie-Peripheriegeräte > Der erste 100-Milliarden-Modell-Komprimierungsalgorithmus SparseGPT ist da und reduziert die Kosten für die Rechenleistung bei gleichzeitiger Beibehaltung einer hohen Genauigkeit
Seit dem Aufkommen von GPT-3 im Jahr 2020 hat die Popularität von ChatGPT die generativen großen Sprachmodelle der GPT-Familie erneut ins Rampenlicht gerückt und sie haben bei verschiedenen Aufgaben eine starke Leistung gezeigt.
Der enorme Umfang des Modells führt jedoch auch zu einem Anstieg der Rechenkosten und einer Zunahme der Bereitstellungsschwierigkeiten.
Zum Beispiel belegt das Modell GPT-175B insgesamt mindestens 320 GB Speicherplatz im Halbgenauigkeitsformat (FP16). mit 80 GB Speicherplatz erforderlich.
Die Modellkomprimierung ist eine häufig verwendete Methode zur Reduzierung der Rechenkosten großer Modelle. Bisher konzentrieren sich jedoch fast alle vorhandenen GPT-Komprimierungsmethoden alle auf die Quantisierung, d. Verringerung der Genauigkeit der numerischen Darstellung eines einzelnen Gewichts.
Eine weitere Methode der Modellkomprimierung ist das Pruning, bei dem Netzwerkelemente entfernt werden, die von einzelnen Gewichten (unstrukturiertes Pruning) bis hin zu Komponenten mit höherer Granularität wie ganzen Zeilen/Spalten reichen von Gewichtsmatrizen (strukturiertes Pruning). Dieser Ansatz funktioniert gut in Vision- und kleineren Sprachmodellen, führt jedoch zu einem Genauigkeitsverlust und erfordert eine umfangreiche Neuschulung des Modells, um die Genauigkeit wiederherzustellen, sodass die Kosten bei groß angelegten Modellen wie GPT erneut zu hoch werden . Obwohl es einige Single-Shot-Pruning-Methoden gibt, mit denen das Modell ohne erneutes Training komprimiert werden kann, sind sie zu rechenintensiv und schwer auf Modelle mit Milliarden von Parametern anzuwenden.
Gibt es also für ein großes Modell der Größe von GPT-3 eine Möglichkeit, es genau zu beschneiden und gleichzeitig einen minimalen Genauigkeitsverlust beizubehalten und die Kosten zu reduzieren?
Kürzlich haben zwei Forscher des Österreichischen Instituts für Wissenschaft und Technologie (ISTA), Elias Frantar und Dan Alistarh, an einer Studie zusammengearbeitet, die auf 10 bis 100 Milliarden Parameter abzielte Zum ersten Mal im Modellmaßstab wird eine genaue Einzelschuss-Beschneidungsmethode SparseGPT vorgeschlagen.
Papieradresse: https://arxiv.org/pdf/2301.00774 .pdf
SparseGPT kann das GPT-Serienmodell in einem einzigen Schritt ohne Umschulung auf 50 % Sparsity beschneiden. Das größte öffentlich verfügbare Modell, GPT-175B, erreicht diese Bereinigung mit einer einzigen GPU in nur wenigen Stunden.
Darüber hinaus ist SparseGPT auch sehr genau und kann den Genauigkeitsverlust minimieren. Wenn beispielsweise SparseGPT auf den derzeit größten Open-Source-Modellen OPT-175B und BLOOM-176B ausgeführt wird, kann eine Sparsity von 60 % erreicht und gleichzeitig der Genauigkeitsverlust minimiert werden.
Die Forschung an sehr großen Modellen war in den letzten Jahren sehr aktiv, aber Bisher gibt es kein Modell mit mehr als 10 Milliarden Parametern, das eine sehr genaue hohe Sparsifizierung erreichen kann.
Bestehende Methoden stellen zu hohe Anforderungen an den Rechenaufwand. Am Beispiel der derzeit genauesten Post-Training-Methode OBC ist für ein Milliarde-Parameter-Modell eine Stunde erforderlich oder mehr zum Komprimieren. Die schnellste bekannte Post-Training-Methode, AdaPrune, benötigt ebenfalls Minuten, um ein Modell mit einer Milliarde Parametern zu bereinigen, und bei dieser Geschwindigkeit erfordert ein Modell im Maßstab von GPT-3 schätzungsweise Hunderte von Stunden (Wochen) Berechnung.
Die meisten bestehenden Beschneidungsmethoden, wie z. B. das schrittweise Beschneiden, erfordern nach dem Beschneidungsschritt eine umfangreiche Neuschulung, um die Genauigkeit wiederherzustellen, und Modelle im GPT-Maßstab erfordern normalerweise einen großen Rechen- und Parameteraufwand Anpassung für Training oder Feinabstimmung, was die Anwendung umschulungsbasierter Methoden erschwert. Daher ist die Anwendung dieses progressiven Beschneidungsansatzes im GPT-Maßstab nicht möglich.
Diese Arbeit des ISTA-Teams schlägt die SparseGPT-Methode vor, die Modelle mit mehr als 100 Milliarden Parametern auf einer einzigen GPU in wenigen Stunden ausführen kann und ausreichend genau ist to Modelle werden auf ein Sparsity-Niveau von 50–60 % reduziert, ohne die Leistung wesentlich zu beeinträchtigen.
Der Kern von SparseGPT ist ein neuer groß angelegter ungefährer spärlicher Regressionsalgorithmus, der auf halbstrukturierte Muster (2:4 und 4:8) verallgemeinert werden kann Kompatibel mit vorhandenen Gewichtsquantisierungsmethoden.
Die meisten vorhandenen Beschneidungsmethoden wie das progressive Amplitudenbeschneiden (Gradual Magnitude Pruning) Nach dem Bereinigungsschritt ist eine große Umschulung erforderlich, um die Genauigkeit wiederherzustellen, und Modelle im GPT-Maßstab erfordern normalerweise eine große Menge an Berechnungen und Parameteranpassungen für das Training oder die Feinabstimmung, was die Anwendung von Umschulungsmethoden erschwert. Daher ist die Anwendung dieses progressiven Beschneidungsansatzes im GPT-Maßstab nicht möglich.
SparseGPT ist eine Post-Training-Methode für Modelle im GPT-Maßstab, da keine Feinabstimmung durchgeführt wird.
Es gibt derzeit viele Methoden zur Quantifizierung von Modellen im GPT-Maßstab nach dem Training, wie ZeroQuant, LLM.int8() und nuQmm usw., aber die Aktivierungsquantisierung kann aufgrund des Vorhandenseins abnormaler Merkmale schwierig sein. GPTQ nutzt ungefähre Informationen zweiter Ordnung, um Gewichte genau auf 2–4 Bit zu quantisieren, was für die größten Modelle geeignet ist und in Kombination mit effizienten GPU-Kernen zu einer 2–5-fachen Inferenzbeschleunigung führen kann.
Aber da sich GPTQ auf Sparsifizierung und nicht auf Quantisierung konzentriert, ist SparseGPT eine Ergänzung zur Quantifizierungsmethode, und beide können in Kombination angewendet werden.
Darüber hinaus eignet sich SparseGPT neben unstrukturiertem Pruning auch für halbstrukturierte Muster, wie das beliebte n:m-Sparse-Format, das auf Ampere-NVIDIA-GPUs eine Beschleunigung im Verhältnis 2:4 erreichen kann.
Nach der Bewertung des Effekts des SparseGPT-Komprimierungsmodells stellten die Forscher fest, dass die Schwierigkeit der Sparsifizierung großer Sprachmodelle proportional zur Modellgröße ist, die sich von bestehenden Modellen unterscheidet Mit der Magnitude Pruning-Methode kann durch die Verwendung von SparseGPT ein höherer Grad an Modellsparsität bei gleichzeitig minimalem Genauigkeitsverlust erreicht werden.
Die Forscher implementierten SparseGPT auf PyTorch und verwendeten die Transformers-Bibliothek von HuggingFace, um das Modell und den Datensatz zu verarbeiten, alles auf einer einzigen NVIDIA A100-GPU mit 80 GB Speicher. Unter solchen experimentellen Bedingungen kann SparseGPT in etwa 4 Stunden eine vollständige Sparsifizierung eines Modells mit 175 Milliarden Parametern erreichen.
Die Forscher teilen Transformer-Schichten nacheinander aus, was den Speicherbedarf erheblich reduziert und auch die Genauigkeit der parallelen Verarbeitung aller Schichten erheblich verbessert. Alle Kompressionsexperimente wurden in einem Durchgang ohne Feinabstimmung durchgeführt.
Bei den Bewertungsobjekten handelt es sich hauptsächlich um Modelle der OPT-Serie, die eine Reihe von Modellen mit 125 Millionen bis 175 Milliarden Parametern umfassen, wodurch die Skalierungsleistung des Beschneidens im Verhältnis zur Modellgröße leicht beobachtet werden kann. Zusätzlich wurden 176 Milliarden Parametervarianten von BLOOM analysiert.
In Bezug auf Datensätze und Bewertungsmetriken nutzt das Experiment die Verwirrung des ursprünglichen WikiText2-Testsatzes, um die Genauigkeit der SparseGPT-Komprimierungsmethode zu bewerten. Gleichzeitig werden einige ZeroShot-Genauigkeitsmetriken verwendet, um die Interpretierbarkeit zu erhöhen auch verwendet. Darüber hinaus konzentriert sich die Bewertung auf die Genauigkeit des spärlichen Modells im Verhältnis zur Grundlinie des dichten Modells und nicht auf absolute Zahlen.
Die Forscher beschneiden alle linearen Schichten der gesamten OPT-Modellreihe (mit Ausnahme von Standardeinbettungen und Headern), um 50 % unstrukturierte Sparsity zu erreichen, volle 4:8 bzw. volle halbstrukturierte Sparsity, die Ergebnisse sind wie folgt unten dargestellt.
Es ist ersichtlich, dass die Genauigkeit des durch Amplitudenbeschneidung komprimierten Modells bei allen Größen schlecht ist und je größer das Modell ist, desto stärker sinkt die Genauigkeit.
Der Trend der mit SparseGPT komprimierten Modelle ist unterschiedlich. Unter 2,7 Milliarden Parametern beträgt der Ratlosigkeitsverlust
Bei einem festen Sparsity-Level nimmt die relative Genauigkeit von spärlichen Modellen im Vergleich zu dichten Modellen ab, wenn die Modellgröße zunimmt . Die Autoren vermuten, dass dies an ihrem höheren Parametrisierungsgrad und ihrer insgesamt größeren Immunität gegenüber Rauschen liegen könnte.
Verglichen mit der Basislinie des dichten Modells beträgt das Ratlosigkeitswachstum bei maximalem Maßstab bei Verwendung von SparseGPT zum Komprimieren des Modells auf 4:8 und 2:4 Sparsity nur 0,11 bzw. 0,39. Dieses Ergebnis bedeutet, dass wir in der Praxis eine Geschwindigkeitssteigerung um das Zweifache erreichen können und kommerzielle NVIDIA Ampere-GPUs bereits 2:4 Sparsity unterstützen.
Der Autor untersuchte den Zusammenhang zwischen der Leistung von zwei Milliarden Modellen, OPT-175B und BLOOM-176B, und dem Grad der Sparsity, der durch die Verwendung von SparseGPT entsteht. Die Ergebnisse sind in der folgenden Abbildung dargestellt.
Es ist ersichtlich, dass beim Modell OPT-175B durch Amplitudenbeschneidung eine Sparsität von bis zu 10 % erreicht werden kann, gefolgt von einem großen Genauigkeitsverlust. SparseGPT kann mit zunehmender Ratlosigkeit auch eine Sparsität von 60 % erreichen.
Für das BLOOM-176B-Modell kann durch Amplitudenbereinigung zwar eine Sparsität von 30 % ohne nennenswerten Genauigkeitsverlust erreicht werden, im Vergleich dazu kann SparseGPT eine Sparsität von 50 % erreichen, was einer Verbesserung um das 1,66-fache entspricht. Darüber hinaus bleibt die Perplexität des mit SparseGPT komprimierten Modells bei 80 % Sparsity immer noch auf einem angemessenen Niveau, aber wenn die Amplitudenbereinigung 40 % Sparsity von OPT und 60 % Sparsity von BLOOM erreicht, beträgt die Perplexität bereits > 100.
Darüber hinaus ist SparseGPT in der Lage, etwa 100 Milliarden Gewichte aus diesen Modellen zu entfernen, mit begrenzten Auswirkungen auf die Modellgenauigkeit.
Schließlich zeigt diese Studie zum ersten Mal, dass ein groß angelegtes vorab trainiertes Modell auf Basis von Transformer durch einmalige Gewichtsbereinigung ohne Umschulung und mit sehr geringem Genauigkeitsverlust auf eine hohe Sparsität komprimiert werden kann.
Es ist erwähnenswert, dass die Methode von SparseGPT lokal ist: Nach jedem Bereinigungsschritt werden Gewichtsaktualisierungen durchgeführt, um die Eingabe-Ausgabe-Beziehung jeder Ebene beizubehalten, und diese Aktualisierungen werden ohne unter den gegebenen Umständen berechnete globale Gradienteninformationen durchgeführt . Daher scheint der hohe Parametrisierungsgrad großer GPT-Modelle es diesem Ansatz zu ermöglichen, spärlich genaue Modelle unter den „Nachbarn“ dichter vorab trainierter Modelle direkt zu identifizieren.
Da außerdem der im Experiment verwendete Genauigkeitsindikator (Perplexität) sehr empfindlich ist, scheint die generierte Ausgabe des spärlichen Modells eng mit der Ausgabe des dichten Modells verknüpft zu sein.
Diese Forschung ist von großer positiver Bedeutung für die Linderung der Rechenleistungsbeschränkungen großer Modelle. Eine zukünftige Arbeitsrichtung besteht darin, den Feinabstimmungsmechanismus großer Modelle zu untersuchen und gleichzeitig die Genauigkeit von SparseGPT zu erweitern Modelltraining. Durch die Anwendbarkeit wird der Rechenaufwand für das Training großer Modelle reduziert.
Das obige ist der detaillierte Inhalt vonDer erste 100-Milliarden-Modell-Komprimierungsalgorithmus SparseGPT ist da und reduziert die Kosten für die Rechenleistung bei gleichzeitiger Beibehaltung einer hohen Genauigkeit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!