Kommentar von Qi Wu, Ontolux KI-Modelle optimieren und Ressourcen sparen

Von Qi Wu

Häufig ist die Rede davon, wie erfolgreich und leistungsfähig KI-Modelle trotz ihrer kurzen Entwicklungsgeschichte mittlerweile sind. Wenn wir uns aber nur auf die erstaunlichen Fähigkeiten der KI-Modelle konzentrieren, vergessen wir jedoch, dass sie immer noch einen enormen Energieverbrauch haben. Der nachfolgende Artikel erklärt, wie der Rechenaufwand von KI-Modellen reduziert werden kann und wie sich mithilfe von Knowledge Distillation Ressourcen einsparen lassen.

Anbieter zum Thema

Die Autorin: Qi Wu ist Machine Learning Engineer bei der KI-Agentur Ontolux.
Die Autorin: Qi Wu ist Machine Learning Engineer bei der KI-Agentur Ontolux.
(Bild: Ontolux)

In einer aktuellen Untersuchung Energy and Policy Considerations for Deep Learning in NLP von Forschern der University of Massachusetts, Amherst, wurde eine Lebenszyklus-Analyse für das Training mehrerer gängiger großer KI-Modelle erstellt. Darin werden die finanziellen und ökologischen Kosten für das Training von aktuell erfolgreichen, neuronalen Netzwerkmodellen für NLP quantifiziert und approximiert. Ergebnis: Die Trainingsprozesse eines Transformer-Modells mit 213 Millionen Parametern verbrauchen fünfmal so viel Energie wie ein durchschnittliches US-Auto während seiner gesamten Lebensdauer.

Abgesehen von den Trainingskosten sind auch die Betriebskosten von KI-Modellen nicht zu vernachlässigen. Nehmen wir das gängige GPT-3 von OpenAI als Beispiel. Es benötigt mindestens 350 Gigabyte VRAM, nur um das Modell zu laden und die Inferenz mit einer angemessenen Geschwindigkeit durchzuführen. Die Hardwarekosten für den Betrieb von GPT-3 liegen also zwischen 100.000 und 150.000 US-Dollar, ohne andere Kosten wie etwa Strom, Kühlung oder Backup zu berücksichtigen. Eine Alternative ist die Nutzung eines skalierbaren Cloud-Dienstes, dessen jährliche Kosten bei mindestens 87.000 US-Dollar liegen.

Möglichkeiten der Modellkomprimierung und -beschleunigung

Die hohen Trainings- und Betriebskosten für KI-Modelle haben somit wirtschaftliche und ökologische Folgen. Deshalb wurden bereits eine Vielzahl an Techniken der Modellkomprimierung und -beschleunigung entwickelt, damit hochmoderne Deep-Learning-Modelle in energie- und ressourcensparenden Geräten eingesetzt werden können, ohne dass die Modellleistung signifikant sinkt. In den letzten fünf Jahren wurden große Fortschritte auf diesem Gebiet erzielt.

Im Allgemeinen werden diese Techniken in die folgenden Kategorien unterteilt: (Cheng et al., 2020)

  • Parameter Pruning
  • Quantization
  • Low-rank Factorization
  • Transferred/Compact convolutional Filters
  • Knowledge Distillation

Während die ersten drei Ansätze versuchen, unwesentliche Parameter eines großen Modells zu identifizieren und zu entfernen, um so eine Modellkomprimierung und -beschleunigung zu erreichen, verfolgt die Knowledge Distillation die Idee, Wissen von einem größeren Modell auf ein kleineres zu übertragen.

Knowledge Distillation

Bei der Knowledge Distillation wird das kleinere Modell als „Schülermodell“ und das große Modell als „Lehrermodell“ bezeichnet. Das Schülermodell versucht, das Wissen aus dem Lehrermodell zu destillieren, indem es das Verhalten des Lehrers nachahmt. Mit anderen Worten: Die Verlustfunktion des Schülermodells wird danach berechnet, wie gut der Schüler die Ausgabe des Lehrers nachahmt, oder anders ausgedrückt, wie gut das Schülermodell tatsächlich das wahre Label der Trainingsdaten vorhersagt.

Ein Modellversuch: Komprimierung durch Knowledge Distillation

In einem Modellversuch haben wir mittels Knowledge Distillation ein kleineres Modell eines der bekanntesten und modernsten Modelle für die deutsche Sprache, das ner-german-large von flair, bei vergleichbarer Leistung erstellt. flair ist ein einfacher NLP-Rahmen, der von Zalando Research unter Professor Alan Akbik, Professor für maschinelles Lernens an der Humboldt-Universität zu Berlin, entwickelt wurde und als Open Source zur Verfügung steht. Das Modell hat eine Größe von 2,24 Gigabyte und 560 Millionen Parameter, was zu einer relativ hohen Inferenzzeit führt.

Für den Aufbau des Schülermodells haben wir verschiedene Architekturen für neuronale Netze getestet und uns für BiLSTM-CRF (Bidirectional Long Short-term Memory with Conditional Random Field) entschieden.

Als Trainingsdaten haben wir Nachrichtendaten genutzt, die wir zufällig aus dem Internet heruntergeladen haben. Damit sowohl Lehrer- als auch Schülermodell die Textdaten verarbeiten können, erfolgt der Prozess des „Word Embeddings“.

Im NLP wird der Begriff Word Embedding in Bezug auf die Darstellung von Wörtern für die Textanalyse verwendet, in der Regel in Form eines reellwertigen Vektors, der die Bedeutung des Wortes kodiert, sodass man davon ausgeht, dass die Wörter, die im Vektorraum näher beieinander liegen, eine ähnliche Bedeutung haben.

Für die Eingabedarstellung haben wir das klassische GloVe-Embedding für die deutsche Sprache gewählt. GloVe ist ein unüberwachter Lernalgorithmus. Das Trainingsziel von GloVe besteht darin, Wortvektoren so zu lernen, dass ihr Skalarprodukt gleich dem Logarithmus der Wahrscheinlichkeit des gemeinsamen Auftretens der Wörter ist.

Das Modell ner-de dient als Basis, da es dieselbe Modellarchitektur wie das Schülermodell (BiLSTM-CRF) verwendet, aber im Vergleich zu diesem viel größer ist.

Ergebnisse

Trainingszeit: Die allgemeine Trainingszeit für die Schülermodelle betrug in unseren Experimenten etwa 6 bis 9 Minuten pro Epoche. Dabei haben wir Schülermodelle mit 25.000 Sätzen trainiert. Die Anzahl der Trainingsepochen lag bei rund 80 Epochen, entweder mit GloVe- oder Bytepair-Embeddings.

Inferenzzeit und Modellgröße: Wie in den Diagrammen dargestellt, verglichen wir mehrere kleine Schülermodelle mit zwei großen Modellen. Dabei stellt ner-german-large das Lehrermodell dar.

Hinsichtlich der Inferenzzeit konnten alle Schülermodelle deutlich reduziert werden.

Inferenzzeit für Lehrer- und Schülermodelle, ausgewertet auf Basis von 1.000 Sätzen aus dem Testsatz des deutschen CoNLL (Conference on Computational Natural Language Learning) 2003.
Inferenzzeit für Lehrer- und Schülermodelle, ausgewertet auf Basis von 1.000 Sätzen aus dem Testsatz des deutschen CoNLL (Conference on Computational Natural Language Learning) 2003.
(Bild: Ontolux)

Auch die Modellgröße konnte bezogen auf die Parameteranzahl für alle Schülermodelle reduziert werden.

Modellgröße, d. h., Parameteranzahl verschiedener Modelle
Modellgröße, d. h., Parameteranzahl verschiedener Modelle
(Bild: Ontolux)

Fazit

Das Schülermodell 25k_softlabels_crf_glovede_80ep konnte die besten Ergebnisse erzielen. Es wurde mit 25k Trainingssätzen auf einer BiLSTM-CRF-Modellarchitektur unter Verwendung von GloVe German Embedding für 80 Epochen trainiert.

Tabelle Ergebnisse
Tabelle Ergebnisse
(Bild: Ontolux)

Es überrascht nicht, dass das Lehrermodell ner-german-large die beste Leistung (F1-Score) aufweist. Betrachtet man jedoch die Relation zwischen Rechenkosten und Modellleistung, kann das Schülermodell als eine gute Alternative für viele Anwendungsfälle angesehen werden. Der Vergleich zwischen dem Schülermodellen und dem ner-de Modell zeigt die Stärke der Knowledge Distillation, weil das Schülermodell eine bessere Verallgemeinerung erzielte – mit weniger Parametern und mit der gleichen Modellarchitektur.

Das Modell wird nach der Distillation viel effizienter und verliert wenig an Leistung, gemessen am F1-Score. Die viel kleinere Modellgröße, die erheblich weniger Rechenkosten erfordert, weniger RAM verbraucht und eine höhere Geschwindigkeit bringt, macht das Modell kommerziell sehr gut nutzbar.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Big Data, Analytics & AI

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Artikelfiles und Artikellinks

(ID:47974838)