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

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

WBOY
WBOYOriginal
2024-08-16 16:42:231018Durchsuche
Der Aufstieg kleiner Modelle.

Letzten Monat veröffentlichte Meta die Modellreihe Llama 3.1, zu der Metas bisher größtes 405B-Modell sowie zwei kleinere Modelle mit 70 Milliarden bzw. 8 Milliarden Parametern gehören.

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. Auch M Yann Lecun, der Gewinner des Turing Award und Chef-KI-Wissenschaftler von Meta, lobte die Forschung.

英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强
Nach der Beschneidung und Destillation hat das NVIDIA-Forschungsteam Llama 3.1 8B zu Llama-3.1-Minitron 4B verfeinert und als Open Source bereitgestellt. 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 relevante Papier dieser Forschung wurde bereits letzten Monat veröffentlicht. 🔜

Beschneiden Macht das Modell kleiner und schlanker und kann durch Entfernen von Schichten (Tiefenbeschneidung) oder Entfernen von Neuronen und Aufmerksamkeitsköpfen und Einbetten von Kanälen (Breitenbeschneidung) erreicht werden. Mit dem Beschneiden geht in der Regel ein gewisses Maß an Umschulung einher, um die Genauigkeit wiederherzustellen.

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.
英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强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 einem 15B-Modell, bewertet die Bedeutung jeder Komponente (Schicht, Neuron, Kopf und Einbettungskanal) und sortiert und bereinigt das Modell dann, um die Zielgröße zu erreichen: 8B-Modell. 英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强
2. Verwenden Sie dann die Modelldestillation für eine leichte Umschulung, wobei das ursprüngliche Modell der Lehrer und das beschnittene Modell der Schüler ist.
  • 3. Nehmen Sie nach dem Training das kleine Modell (8B) als Ausgangspunkt, beschneiden Sie es und destillieren Sie es in ein kleineres 4B-Modell. Der Prozess des Beschneidens und Destillierens vom 15B-Modell.

  • Zu beachten ist, dass Sie vor dem Beschneiden des Modells verstehen müssen, welche Teile des Modells wichtig sind. 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, nicht beschnittenen 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 Beschneidung und DestillationNVIDIA-Bereinigung und Wissensdestillation basierend auf einem kompakten Sprachmodell. Basierend auf Aufgrund meiner umfangreichen Ablationsforschung habe ich meine Lernergebnisse in den folgenden Best Practices für die strukturierte Komprimierung zusammengefasst.

Die erste besteht darin, die Größe anzupassen.

Um eine Reihe von LLMs zu trainieren, wird das größte zuerst trainiert und dann iterativ beschnitten und destilliert, um kleinere LLMs zu erhalten.

Wenn eine mehrstufige Trainingsstrategie zum Trainieren des größten Modells verwendet wird, 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.
  • Verwenden Sie den Destillationsverlust nur für die Umschulung anstelle des regulären Trainings.

Verwenden Sie Logit, Zwischenzustand und Einbettungsdestillation, 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 Funktionen eingeführt: Das mächtige Lama Die Open-Source-Modelle der 3.1-Familie sind in vielen Benchmarks mit Closed-Source-Modellen vergleichbar. 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 Tiefenbeschnitt

  • Nur Breitenbeschnitt# ?? 🎜 ## 🎜🎜#Teacher-Feinabstimmung

  • Um die Verteilungsverzerrung des ursprünglichen Datensatzes, auf dem das Modelltraining basiert, zu korrigieren, trainierte NVIDIA zunächst das ungekürzte 8B-Modell auf ihrem Datensatz (94B Token) Feinabgestimmt. 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 mittleren Schicht.

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

Abbildung 6 unten zeigt die Winogrande-Genauigkeit jedes beschnittenen Modells. Dies zeigt, dass es am besten ist, die 16. bis 31. Schicht zu löschen, wobei die 31. Schicht die vorletzte Schicht ist, 5 des beschnittenen Modells -Schuss Die Genauigkeit ist deutlich höher als die Zufallsgenauigkeit (0,5). Nvidia hat diese Erkenntnis übernommen und die Schichten 16 bis 31 entfernt.

                                                                                                                                                  

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

NVIDIA beschneidet Einbettung (versteckt) und MLP entlang der Breitenachse. Zwischenabmessungen 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. Nach der Wichtigkeitsschätzung entschied sich NVIDIA

, um die mittlere MLP-Dimension von 14336 auf 9216 zu beschneiden.

英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强Versteckte Größe von 4096 auf 3072 beschneiden.

Achten Sie erneut auf die Anzahl der Köpfe und die Anzahl der 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!

Stellungnahme:
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
Vorheriger Artikel:Wie funktioniert & in Word?Nächster Artikel:Wie funktioniert & in Word?