Nvidia spielt mit Beschneidung und Destillation: Halbierung der Llama 3.1 8B-Parameter, um bei gleicher Größe eine bessere Leistung zu erzielen

PHPz
Freigeben: 2024-08-16 16:42:44
Original
353 Leute haben es durchsucht
Der Aufstieg kleiner Modelle.

Letzten Monat veröffentlichte Meta die Modellreihe Llama 3.1, zu der Metas bislang größtes Modell, der 405B, sowie zwei kleinere Modelle gehören. Die Parameterbeträge betragen 70 Milliarden bzw. 8 Milliarden.

Llama 3.1 gilt als der Beginn einer neuen Ära von Open Source. Obwohl die Modelle der neuen Generation leistungsstark sind, erfordern sie bei der Bereitstellung immer noch große Mengen an Rechenressourcen.

Daher hat sich in der Branche ein weiterer Trend herausgebildet, der darin besteht, kleine Sprachmodelle (SLM) zu entwickeln, die bei vielen Sprachaufgaben eine ausreichende Leistung erbringen und zudem sehr kostengünstig bereitzustellen sind.

Kürzlich zeigen Untersuchungen von NVIDIA, dass durch strukturierte Gewichtsbereinigung in Kombination mit Wissensdestillation nach und nach kleinere Sprachmodelle aus einem zunächst größeren Modell gewonnen werden können. #🎜🎜 ##### 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜#, Meta-Chef-KI-Wissenschaftler Jann LECun lobte die Studie ebenfalls.

英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强
Nach der Beschneidung und Destillation verfeinerte das NVIDIA-Forschungsteam Llama 3.1 8B zu Llama-3.1-Minitron 4B und machte es Open Source. Dies ist Nvidias erste Veröffentlichung in der Open-Source-Reihe Llama 3.1.

Llama-3.1-Minitron 4B übertrifft modernste Open-Source-Modelle ähnlicher Größe, darunter Minitron 4B, Phi-2 2.7B, Gemma2 2.6B und Qwen2-1.5B.

Das entsprechende Papier dieser Forschung wurde bereits letzten Monat veröffentlicht.

英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强

Papierlink: https://www.arxiv.org/pdf/2407.14679

#🎜 ?? 🎜#
Durch das Beschneiden wird das Modell kleiner und schlanker, was durch das Entfernen von Schichten (Tiefenbeschneiden) oder das Entfernen von Neuronen und Aufmerksamkeitsköpfen und das Einbetten von Kanälen (Breitenbeschneiden) erreicht werden kann. Mit dem Beschneiden geht in der Regel ein gewisses Maß an Umschulung einher, um die Genauigkeit wiederherzustellen. 英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强
Modelldestillation ist eine Technik zur Wissensübertragung von einem großen komplexen Modell (oft als Lehrermodell bezeichnet) auf ein kleineres, einfacheres Schülermodell. Das Ziel besteht darin, ein effizienteres Modell zu erstellen, das einen Großteil der Vorhersagekraft des ursprünglichen größeren Modells beibehält, gleichzeitig schneller läuft und weniger Ressourcen verbraucht.
  • Es gibt zwei Hauptdestillationsmethoden: SDG-Feinabstimmung und klassische Wissensdestillation. Diese beiden Destillationsmethoden ergänzen sich. Dieser Artikel konzentriert sich auf klassische Methoden zur Wissensdestillation.

    NVIDIA verwendet eine Methode, die Bereinigung und klassische Wissensdestillation kombiniert, um große Modelle zu erstellen. Die folgende Abbildung zeigt den Bereinigungs- und Destillationsprozess eines einzelnen Modells (oben) und die Kette der Modellbereinigung und -destillation (unten). ). Der spezifische Prozess ist wie folgt:
  • 1 NVIDIA beginnt mit dem 15B-Modell, bewertet die Bedeutung jeder Komponente (Schicht, Neuron, Kopf und Einbettungskanal) und sortiert und bereinigt dann das zu erstellende Modell Zielgröße erreicht: 8B-Modell.

    2. Anschließend wurde eine leichte Umschulung mithilfe der Modelldestillation durchgeführt, wobei das ursprüngliche Modell der Lehrer und das beschnittene Modell der Schüler war.
3. Nehmen Sie nach dem Training das kleine Modell (8B) als Ausgangspunkt, beschneiden Sie es und destillieren Sie es in ein kleineres 4B-Modell.

                                                                                                                                                            .

Es ist zu beachten, dass Sie vor dem Beschneiden des Modells verstehen müssen, welcher Teil des Modells wichtig ist. NVIDIA schlägt eine aktivierungsbasierte Strategie zur reinen Wichtigkeitsbewertung vor, die gleichzeitig Informationen in allen relevanten Dimensionen (Tiefe, Neuron, Kopf und Einbettungskanäle) berechnet und dabei einen kleinen Kalibrierungsdatensatz von 1024 Proben verwendet und nur eine Vorwärtsausbreitung erforderlich ist. Dieser Ansatz ist einfacher und kostengünstiger als Strategien, die auf Gradienteninformationen basieren und eine Backpropagation erfordern.

Während des Beschneidens können Sie iterativ zwischen Beschneiden und Wichtigkeitsschätzung für eine bestimmte Achse oder Achsenkombination wechseln. Empirische Studien zeigen, dass die Verwendung einer einzelnen Wichtigkeitsschätzung ausreichend ist und dass iterative Schätzungen keinen zusätzlichen Nutzen bringen.

Umschulung mittels klassischer Wissensdestillation

Abbildung 2 unten zeigt den Destillationsprozess, bei dem das N-Schicht-Schülermodell (das beschnittene Modell) aus dem M-Schicht-Lehrermodell (dem ursprünglichen unbeschnittenen Modell) destilliert wird. Das Schülermodell wird durch Minimierung einer Kombination aus Einbettungsausgangsverlusten, Logit-Verlusten und Transformer-Encoder-spezifischen Verlusten erlernt, die den Schülerblöcken S und den Lehrerblöcken T zugeordnet sind. Abbildung 2: Verlust des Destillationstrainings.

英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强

Best Practices für Pruning und DestillationBasierend auf umfangreicher Ablationsforschung zu Pruning und Wissensdestillation in kompakten Sprachmodellen fasst NVIDIA seine Lernergebnisse in den folgenden strukturierten Best Practices für die Komprimierung zusammen.

Eine besteht darin, die Größe anzupassen.

Um eine Reihe von LLMs zu trainieren, trainieren Sie zuerst das größte und beschneiden und destillieren Sie es dann iterativ, um kleinere LLMs zu erhalten.

Wenn Sie zum Trainieren des größten Modells eine mehrstufige Trainingsstrategie verwenden, ist es am besten, das in der letzten Trainingsphase erhaltene Modell zu beschneiden und neu zu trainieren.
  • Beschneiden Sie das verfügbare Quellmodell, das der Zielgröße am nächsten kommt.
  • Das zweite ist das Beschneiden.
  • Priorisieren Sie die Breitenbeschneidung vor der Tiefenbeschneidung, was bei Modellen unter der Parametergröße 15B gut funktioniert.

Verwenden Sie die einmalige Wichtigkeitsschätzung, da die iterative Wichtigkeitsschätzung keinen Nutzen bringt.
  • Die dritte ist die Umschulung.
  • Umschulung nur mit Destillationsverlust anstelle des regulären Trainings.

Verwenden Sie Logit, Zwischenzustand und eingebettete Destillation, wenn die Tiefe deutlich reduziert ist.
  • Verwenden Sie die reine Logit-Destillation, wenn die Tiefe nicht wesentlich abnimmt.
  • Llama-3.1-Minitron: Best Practices in die Tat umsetzen
  • Meta hat kürzlich die leistungsstarke Llama 3.1-Familie von Open-Source-Modellen auf den Markt gebracht, die in vielen Benchmarks mit Closed-Source-Modellen mithalten können. Die Parameter von Llama 3.1 reichen von gewaltigen 405B bis 70B und 8B.
Mit der Erfahrung der Nemotron-Destillation machte sich NVIDIA daran, das Llama 3.1 8B-Modell in ein kleineres und effizienteres 4B-Modell zu destillieren und ergriff dabei die folgenden Maßnahmen:

Lehrer-Feinabstimmung

Nur tiefe Beschneidung
  • Width -PRUNING
  • Accuracy Benchmark
  • performance Benchmark
  • Teacher Feinabstimmung
  • Um die Verteilungsverzerrung des ursprünglichen Datensatzes zu korrigieren, auf dem das Modelltraining basiert, nvidia zuerst führte eine vollständige Reihe von Tests an ihrem Datensatz durch (94B-Token) und verfeinerte das ungekürzte 8B-Modell. Experimente zeigen, dass das Lehrermodell bei der Destillierung eine suboptimale Anleitung für den Datensatz liefert, wenn die Verteilungsverzerrung nicht korrigiert wird.

Nur Tiefenbeschneidung

Um von 8B auf 4B zu reduzieren, hat NVIDIA 16 Ebenen (50 %) beschnitten. Sie bewerten zunächst die Bedeutung jeder Schicht oder Gruppe aufeinanderfolgender Unterschichten, indem sie sie aus dem Modell entfernen, und beobachten einen Anstieg des LM-Verlusts oder eine Abnahme der Genauigkeit bei nachgelagerten Aufgaben.

Abbildung 5 unten zeigt die LM-Verlustwerte im Validierungssatz nach dem Entfernen von 1, 2, 8 oder 16 Schichten. Das rote Diagramm für Schicht 16 zeigt beispielsweise den LM-Verlust an, der auftritt, wenn die ersten 16 Schichten entfernt werden. Schicht 17 zeigt an, dass ein LM-Verlust auch auftritt, wenn die erste Schicht beibehalten wird und die Schichten 2 bis 17 gelöscht werden. Nvidia stellt fest: Die Start- und Endschicht sind die wichtigsten.

                                                                                                                                                                 Abbildung 5: Die Bedeutung des reinen Tiefenschnitts der Mittelschicht.

英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强

NVIDIA stellt jedoch fest, dass dieser LM-Verlust nicht unbedingt direkt mit der Downstream-Leistung zusammenhängt.

Abbildung 6 unten zeigt die Winogrande-Genauigkeit jedes beschnittenen Modells. Sie zeigt, dass es am besten ist, die 16. bis 31. Schicht zu löschen, wobei die 31. Schicht die vorletzte Schicht ist. Die 5-Schuss-Genauigkeit des beschnittenen Modells ist deutlich höher. mit zufälliger Genauigkeit (0,5). Nvidia nutzte diese Erkenntnis und entfernte die Schichten 16 bis 31. Abbildung 6: Genauigkeit der Winogrande-Aufgabe, wenn 16 Schichten entfernt werden.

Nur Breitenbeschneidung

NVIDIA beschneidet die Einbettung (versteckt) und die MLP-Zwischenabmessungen entlang der Breitenachse, um Llama 3.1 8B zu komprimieren. Insbesondere verwenden sie die zuvor beschriebene aktivierungsbasierte Strategie, um Wichtigkeitswerte für jeden Aufmerksamkeitskopf, jeden Einbettungskanal und jede versteckte MLP-Dimension zu berechnen.
英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强Nach der Wichtigkeitsschätzung entschied sich NVIDIA

, die MLP-Mitteldimension von 14336 auf 9216 zu beschneiden.

Versteckte Größe von 4096 auf 3072 reduzieren.

Achten Sie erneut auf die Anzahl der Köpfe und Schichten.

Es ist erwähnenswert, dass nach dem Einzelprobenschnitt der LM-Verlust beim Breitenschnitt höher ist als beim Tiefenschnitt. Nach einer kurzen Umschulungsphase kehrte sich der Trend jedoch um.

Genauigkeitsbenchmark

NVIDIA hat das Modell anhand der folgenden Parameter destilliert:

  • Spitzenlernrate = 1e-4

  • Minimale Lernrate = 1e-5

  • 40 Schritte linear

  • Cosine Decay Plan

  • Globale Chargengröße = 1152

Tabelle 1 unten zeigt die Llama-3.1-Minitron 4B-Modellvarianten (Breitenbeschneidung und Tiefenbeschneidung), die dem ursprünglichen Llama 3.1 8B-Modell ähneln, andere Leistungsvergleiche von großen und kleinen Modellen anhand von Benchmarks über mehrere Domänen hinweg. Insgesamt bestätigte NVIDIA erneut die Wirksamkeit einer umfassenden Pruning-Strategie im Vergleich zu einem tiefen Pruning, das Best Practices folgt.

英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强

                                                                                                                                                                             Tabelle 1: Genauigkeitsvergleich des Minitron 4B-Basismodells im Vergleich zu Basismodellen ähnlicher Größe.

Um zu überprüfen, ob das destillierte Modell zu einem leistungsstarken Befehlsmodell werden kann, hat NVIDIA NeMo-Aligner zur Feinabstimmung des Llama-3.1-Minitron 4B-Modells verwendet.

Sie verwendeten Nemotron-4 340B-Trainingsdaten und werteten sie auf IFEval, MT-Bench, ChatRAG-Bench und dem Berkeley Function Calling Leaderboard (BFCL) aus, um Anweisungen zu befolgen, Rollenspiele, RAG und Funktionsaufruffähigkeiten zu testen. Schließlich wurde bestätigt, dass das Modell Llama-3.1-Minitron 4B ein zuverlässiges Unterrichtsmodell sein kann, das andere Basis-SLMs übertrifft.

英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强

                                                                                                                                                                              Tabelle 2: Accurac Y-Vergleich des ausgerichteten Minitron 4B-Basismodells mit ausgerichteten Modellen ähnlicher Größe.

Leistungsbenchmarks

NVIDIA optimierte die Modelle Llama 3.1 8B und Llama-3.1-Minitron 4B mit NVIDIA TensorRT-LLM, einem Open-Source-Toolkit zur Optimierung der LLM-Inferenz.

Die nächsten beiden Abbildungen zeigen die Durchsatzanforderungen pro Sekunde verschiedener Modelle bei FP8- und FP16-Präzision unter verschiedenen Anwendungsfällen, ausgedrückt als Kombination aus Eingabesequenzlänge und Ausgabesequenzlänge (ISL/OSL) der Stapelgröße von 32 für 8B Modell und Die Stapelgröße des 4B-Modells ist eine Kombination aus Eingabesequenzlänge und Ausgabesequenzlänge (ISL/OSL) von 64, da die kleineren Gewichte eine größere Stapelgröße auf einer NVIDIA H100 80-GB-GPU ermöglichen.

Die Llama-3.1-Minitron-4B-Depth-Base-Variante ist die schnellste mit einem durchschnittlichen Durchsatz, der etwa 2,7-mal so hoch ist wie der von Llama 3.1 8B, während die Llama-3.1-Minitron-4B-Width-Base-Variante einen durchschnittlichen Durchsatz aufweist Der Durchsatz ist etwa 1,8-mal so hoch wie der von Llama 3.1 8B. Der Einsatz im FP8 verbessert außerdem die Leistung aller drei Modelle um etwa das 1,3-fache im Vergleich zu BF16.

英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强
英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强

                                                                                                                                                   80 GB GPU.

Fazit

Beschneidung und klassische Wissensverfeinerung sind eine sehr kostengünstige Methode, um schrittweise LLMs kleinerer Größe zu erhalten und in allen Bereichen eine höhere Genauigkeit zu erzielen als das Training von Grund auf. Dies ist ein effizienterer und dateneffizienterer Ansatz als die Feinabstimmung synthetischer Daten oder das Vortraining von Grund auf.

Llama-3.1-Minitron 4B ist NVIDIAs erster Versuch, die hochmoderne Open-Source-Llama-3.1-Serie zu nutzen. Informationen zur Verwendung der SDG-Feinabstimmung von Llama-3.1 mit NVIDIA NeMo finden Sie im Abschnitt /sdg-law-title-generation auf GitHub.

Weitere Informationen finden Sie in den folgenden Ressourcen:

  • https://arxiv.org/abs/2407.14679

  • https://github.com/NVlabs/Minitron

  • https:// Huggingface.co/nvidia/Llama-3.1-Minitron-4B-Width-Base

  • https://huggingface.co/nvidia/Llama-3.1-Minitron-4B-Depth-Base

Referenzlinks:

https://developer.nvidia.com/blog/how-to-prune-and-distill-llama-3-1-8b-to-an-nvidia-llama-3-1-minitron-4b -Modell/

Das obige ist der detaillierte Inhalt vonNvidia spielt mit Beschneidung und Destillation: Halbierung der Llama 3.1 8B-Parameter, um bei gleicher Größe eine bessere Leistung zu erzielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:jiqizhixin.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage