Nvidia Minitron Neue Methoden zur Effizienzsteigerung von Sprachmodellen durch Pruning und Distillation

Kategorien:
No items found.
Freigegeben:
August 27, 2024

Nvidia Minitron: Effiziente LLMs durch Pruning und Distillation

Einführung

Große Sprachmodelle (Large Language Models, LLMs) haben sich zu einem dominierenden Instrument in der natürlichen Sprachverarbeitung und -verständnis entwickelt, dank ihrer Effektivität und Vielseitigkeit. Modelle wie Llama 3.1 405B und Nvidia Nemotron-4 340B brillieren in vielen anspruchsvollen Aufgaben, darunter Codierung, logisches Denken und Mathematik. Ihre Bereitstellung ist jedoch ressourcenintensiv. Nvidia hat durch die Kombination von strukturellem Pruning und Wissensdistillation einen Weg gefunden, effizientere und kostengünstigere Sprachmodelle zu erstellen.

Hintergrund und Bedeutung

Die Entwicklung mehrerer multimilliardenparameter-Modelle von Grund auf ist extrem zeit-, daten- und ressourcenintensiv. Jüngste Arbeiten haben gezeigt, dass die Kombination von Gewichtspruning mit Wissensdistillation die Kosten für das Training von LLM-Modellfamilien erheblich reduzieren kann. Hierbei wird nur das größte Modell der Familie von Grund auf trainiert; andere Modelle werden durch sukzessives Pruning des größeren Modells und anschließende Wissensdistillation gewonnen, um die Genauigkeit der geprunten Modelle wiederherzustellen.

Pruning und Distillation: Methoden und Ansätze

Pruning reduziert die Modellgröße durch das Entfernen von Schichten (Depth Pruning) oder Neuronen, Attention Heads und Embedding Channels (Width Pruning). Dieser Prozess wird oft von einer gewissen Menge an Retraining begleitet, um die Genauigkeit wiederherzustellen. Modell-Distillation ist eine Technik, bei der Wissen von einem großen, komplexen Modell (Lehrermodell) an ein kleineres, einfacheres Modell (Schülermodell) übertragen wird. Das Ziel ist es, ein effizienteres Modell zu schaffen, das viel von der Vorhersagekraft des Originals beibehält, aber schneller und weniger ressourcenintensiv ist.

Stile der Distillation

Es gibt zwei Hauptstile der Distillation: - SDG-Finetuning: Hierbei wird synthetische Daten vom Lehrermodell verwendet, um das kleinere, vortrainierte Schülermodell weiter zu finetunen. - Klassische Wissensdistillation: Hierbei imitiert das Schülermodell die Logits und andere Zwischenzustände des Lehrermodells auf dem Trainingsdatensatz, was reichhaltigeres Feedback und bessere Trainingsgenauigkeit und Effizienz bietet. Diese zwei Stile sind komplementär zueinander und nicht exklusiv. Nvidia setzt in seinem neuesten Ansatz auf klassische Wissensdistillation.

Pruning und Distillation in der Praxis

Nvidia schlägt vor, Pruning mit klassischer Wissensdistillation als ressourceneffiziente Retraining-Technik zu kombinieren. Der Prozess beginnt mit einem 15B-Modell. Durch die Schätzung der Bedeutung jeder Komponente (Schicht, Neuron, Kopf und Embedding Channel) wird das Modell auf die Zielgröße von 8B getrimmt. Anschließend wird eine leichte Retraining-Prozedur mit Modell-Distillation durchgeführt, bei der das ursprüngliche Modell als Lehrer und das geprunte Modell als Schüler dient.

Wichtigkeit der Analyse

Um ein Modell zu prunen, ist es entscheidend zu verstehen, welche Teile des Modells wichtig sind. Nvidia schlägt eine aktivierungsbasierte Wichtigkeitsschätzungsstrategie vor, die gleichzeitig Sensitivitätsinformationen für alle berücksichtigten Achsen (Tiefe, Neuron, Kopf und Embedding Channel) mithilfe eines kleinen Kalibrierungsdatensatzes und nur Vorwärtspropagationsdurchläufen berechnet.

Retraining mit klassischer Wissensdistillation

Das Retraining umfasst die Minimierung einer Kombination aus Embedding-Output-Verlust, Logit-Verlust und transformatorenspezifischen Verlusten, um sicherzustellen, dass das kleinere Modell viel von der Genauigkeit des ursprünglichen Modells beibehält.

Beste Praktiken für Pruning und Distillation

Aufgrund umfangreicher Ablationsstudien hat Nvidia mehrere Best Practices für strukturierte Kompression zusammengefasst: - Größe: Zuerst das größte Modell trainieren und dann sukzessiv prunen und distillieren. - Pruning: Breitenpruning bevorzugen gegenüber Tiefenpruning für Modelle mit bis zu 15B Parametern. - Retraining: Ausschließlich mit Distillationsverlust retraining.

Anwendung auf Llama 3.1

Nvidia hat diese Praktiken auf das Llama 3.1 8B Modell angewendet und daraus das effiziente Llama-3.1-Minitron 4B Modell erstellt. Dieses Modell zeigt eine vergleichbare Leistung zu anderen hochmodernen Open-Source-Modellen ähnlicher Größe.

Feintuning des Lehrermodells

Um die Verteilungsschicht über den ursprünglichen Datensatz zu korrigieren, wurde das ungeprunte 8B-Modell zunächst auf einem spezifischen Datensatz feingetunt. Ohne diese Korrektur bietet der Lehrer suboptimale Anleitung während der Distillation.

Pruning: Depth-Only und Width-Only

Für Depth-Only Pruning hat Nvidia 16 Schichten vom 8B-Modell entfernt, wobei Schichten fokussiert wurden, die die Leistung bei nachgelagerten Aufgaben am wenigsten beeinflussten. Für Width-Only Pruning wurden die MLP-Zwischendimension und die verborgene Größe reduziert, gefolgt von einer Neutrainierung der Attention-Head-Anzahl und der Schichtenanzahl.

Benchmarking und Leistung

Das Llama-3.1-Minitron 4B Modell zeigt signifikante Verbesserungen in Genauigkeit und Ressourceneffizienz. Leistungsbenchmarks zeigen, dass das Llama-3.1-Minitron 4B Modell eine durchschnittliche Durchsatzrate von ~2,7x im Vergleich zum ursprünglichen 8B Modell erreicht.

Schlussfolgerung

Die Kombination von Pruning und klassischer Wissensdistillation bietet eine kosteneffiziente Methode zur Erstellung kleinerer LLMs mit überlegener Genauigkeit im Vergleich zum Training von Grund auf. Das Llama-3.1-Minitron 4B Modell von Nvidia exemplifiziert diesen Ansatz und bietet eine robuste Lösung für die effiziente Bereitstellung von Sprachmodellen. Bibliographie - https://developer.nvidia.com/blog/how-to-prune-and-distill-llama-3-1-8b-to-an-nvidia-llama-3-1-minitron-4b-model/ - https://research.nvidia.com/publication/_llm-pruning-and-distillation-practice-minitron-approach - https://www.marktechpost.com/2024/08/16/nvidia-ai-released-llama-minitron-3-1-4b-a-new-language-model-built-by-pruning-and-distilling-llama-3-1-8b/ - https://www.reddit.com/r/machinelearningnews/comments/1etxyy8/nvidia_ai_released_llamaminitron_31_4b_a_new/ - https://ai.meta.com/blog/nvidia-llama/ - https://blockchain.news/news/nvidia-unveils-pruning-and-distillation-techniques-for-efficient-llms - https://arxiv.org/html/2408.11796v1 - https://gist.github.com/cedrickchee - https://www.marktechpost.com/2024/08/22/mistral-nemo-minitron-8b-released-nvidias-latest-ai-model-redefines-efficiency-and-performance-through-advanced-pruning-and-knowledge-distillation-techniques/ - https://www.linkedin.com/posts/abderrahim-boutorh_llms-ai-nlp-activity-7230130688010661889-aopH
Was bedeutet das?