te.ma ist seit dem 01. August 2024 bis auf Weiteres inaktiv und befindet sich im Archiv-Modus. Alle Publikationen sind weiter zugänglich. Der Kommentarbereich ist jedoch abgeschaltet. Bestehende Nutzerkonten bleiben bis 31. Juli 2025 weiter zugänglich, neue Nutzerkonten können nicht mehr angelegt werden. Unser Newsletter wird nicht mehr weiter bespielt.

Wie viel Modellgenauigkeit brauchen wir?

Re-Paper

Wie viel Modellgenauigkeit brauchen wir?

»Exploring the Accuracy – Energy Trade-off in Machine Learning«

Inhalte

Intro

Geschrieben von Solveig Klepper

Bei te.ma veröffentlicht 27.07.2023

te.ma DOI https://doi.org/10.57964/9y1r-sv87

Geschrieben von Solveig Klepper
Bei te.ma veröffentlicht 27.07.2023
te.ma DOI https://doi.org/10.57964/9y1r-sv87

Es gibt viele Modelle im Bereich des maschinellen Lernens, die eine Vielzahl von Designmöglichkeiten bieten. Jede Entscheidung im Design beeinflusst sowohl die Genauigkeit als auch den Energieverbrauch des Modells. Brownlee und Kollegen untersuchen systematisch das Zusammenspiel von Energieaufwand und Modellgenauigkeit und zeigen, dass es möglich ist, große Energieeinsparungen bei geringfügigem Genauigkeitsverlust zu erzielen.

Wer an künstlichen neuronalen Netzen forscht, dem steht eine Vielzahl an Design-Entscheidungen zur Auswahl. Meistens wird so gewählt, dass die Modelle möglichst akkurat sind, also möglichst keine Fehler machen. Der Hauptfokus der Forschung liegt also auf der Optimierung der Modellgenauigkeit. Diese Genauigkeit bemisst sich an der Menge richtiger Antworten, die ein Modell auf einem Testdatensatz produziert. 

Dabei basiert der größte Fortschritt, den die Forschung in den letzten Jahren gemacht hat,  auf den stetig wachsenden Modellen. Die durchschnittliche Anzahl an lernbaren Parametern – die Eigenschaften der künstlichen Neuronen – wächst seit der „Deep-Learning-Ära“ exponentiell. Der Trend geht dahin, immer größere, tiefere Netze zu entwickeln, ganz nach dem Motto: Scaling is all it takes – einfach Hochskalieren. Natürlich werden die Modelle damit auch besser. Je mehr Parameter ein Modell hat, desto komplexere Funktionen kann es erlernen. Die aktuell höchste Genauigkeit ist der Maßstab, mit dem auf Konferenzen zum Thema maschinelles Lernen gemessen wird. Und wer das aktuelle „SOTA“ schlägt, also das State-of-the-art-Modell, das aktuell Beste, dem ist eine Publikation auf einer der angesehensten Konferenzen garantiert.

Veröffentlichte KI-Modelle zwischen 1950 und 2021 und die benötigten Dezimalzahl-Operationen, gemessen in billarden FLOPs (floating-point operations). FLOPs sind ein guter Maßstab für die benötigte Energie. Die y-Achse ist logarithmisch, das bedeutet, das Wachstum ist klar exponentiell. Quelle: https://ourworldindata.org/artificial-intelligence

So werden die Modelle immer komplexer und energieaufwändiger, während die Optimierung des Energieverbrauchs oft vernachlässigt wird. Doch mit besseren Modellen wird auch das Potential für substanzielle Verbesserungen immer kleiner und in vielen Bereichen gibt es seit Jahren ein Kopf-an-Kopf-Rennen um das Erreichen der letzten paar Prozent. Da stellt sich die Frage: Wie viel Genauigkeit wird wirklich gebraucht und wie viel Energie sollte dafür investiert werden? Verfolgt die Forschung die richtigen Ziele?

Verlauf der Top-5-Genauigkeit von Machine-Learning-Modellen auf einem großen Bild-Datensatz (ImageNet) seit 2013. Seit fünf Jahren bewegen sich die Genauigkeitsverbesserungen in einem Bereich zwischen 96,2 und 99,02 Prozent. Quelle: https://ourworldindata.org/artificial-intelligence

Brownlee und Kollegen untersuchen das Zusammenspiel von Energieaufwand und Modellgenauigkeit systematisch anhand einer festen Architektur, der des Multilayer Perceptrons. Ihre relevanteste Frage lautet: Gibt es einen Zielkonflikt zwischen Energieaufwand und Genauigkeit und wenn ja, welche Faktoren sind dafür ausschlaggebend?

Hierfür testen sie auf unterschiedlich großen Datensätzen unterschiedliche Konfigurationen. Eine Konfiguration besteht dabei aus wählbaren Parametern eines Modells, wie zum Beispiel die Aktivierungsfunktion, die Tiefe des neuronalen Netzes (Anzahl der Schichten), die Lernrate, die Menge an Daten, die dem Modell in einem einzelnen Trainingsschritt zur Verfügung stehen, und vieles mehr. 

Die Ergebnisse überraschen zunächst nicht. Ist das Modell bei einer Konfiguration besonders genau, dann verbraucht es auch mehr Energie. Den Haupteinfluss nehmen hierbei strukturelle Parameter: Über je mehr Schichten ein neuronales Netz verfügt, desto mehr Kapazität hat es, was sich wiederum in der Genauigkeit widerspiegelt. Doch mehr Schichten heißt auch mehr Rechenoperationen und mehr Energieverbrauch.

Überraschender an den Ergebnissen ist, dass auch nicht-strukturelle Parameter wie der Optimierungsalgorithmus, welcher nur während des Trainings aktiv ist, den Energieverbrauch während der Anwendung des Modells beeinflussen kann. So oder so wird deutlich, dass der Mehrverbrauch an Energie in keinem Verhältnis zur Modellgenauigkeit steht und für ein wenig Einbuße in der Genauigkeit enorme Energieanteile gespart werden können. In Experimenten zeigen die Forscher*innen, dass bei der Anwendung eines Modells auf einem der Datensätze 77 Prozent der Energie gespart werden können, wenn man sich mit 93,2 statt 94,3 Prozent Genauigkeit zufrieden gibt. Auch im Training kann zwischen 30-50 Prozent der Energie gespart werden.

Die Studie gibt nur einen kleinen Einblick in den Energieverbrauch von KI-Modellen. Obwohl die meisten Modelle in der Praxis auf einer GPU rechnen, wird hier nur der Energieverbrauch auf einer CPU gemessen. Außerdem ist das Multilayer Perceptron, auf dem hier das Zusammenspiel von Energieaufwand und Modellgenauigkeit untersucht wird, ein relativ simples Modell und wird in der Praxis und auf Bilddaten selten verwendet. Doch die Studie gibt wichtige Denkanstöße, was den Energieverbrauch und die Genauigkeit von KI-Modellen betrifft. 

In den letzten Jahren haben sich einzelne Forschungsgruppen zunehmend mit der gezielten Optimierung des Energieverbrauchs von KI-Modellen auseinandergesetzt. Nicht nur aus ökologischen Gründen, sondern auch im Hinblick auf mobile Anwendungen, für die energieeffiziente KI-Modelle höchst relevant sind. Vor dem Hintergrund der Forschungsergebnisse von Brownlee und Co. erscheint es plausibel, bei der Entwicklung eines Modells immer dessen Energieverbrauch mit im Blick zu haben. Gerade dann, wenn durch verhältnismäßig geringe Einbußen in der Genauigkeit hohe Energieeinsparungen zu erzielen sind. Dafür muss die Forschung weg von der Maxime „nur Genauigkeit zählt“ und hin zu Maßstäben, die mehrere Faktoren berücksichtigen.

Re-Paper

Eingeschränkter Zugang
Eingeschränkter Zugang bedeutet, dass das Material nicht ohne weiteres öffentlich zugänglich ist.
Verwandte Artikel

Das mehrschichtige Perzeptron ist eine Erweiterung des Perzeptrons. Es besteht aus zahlreichen, in Schichten organisierten Perzeptronen. Es kann wesentlich komplexere Funktionen abbilden und damit auch schwierigere Probleme lösen.

Künstliche neuronale Netze (KNN) sind mathematische Funktionen, die durch die Funktionsweise von Nerven in unserem Gehirn inspiriert sind. Hierbei wird die Signalverarbeitung zwischen einzelnen „künstlichen Neuronen" simuliert. Jedes KNN besteht aus mehreren Schichten dieser Neuronen. Eingehende Signale, wie Beispielsweise Pixel in einem Bild, werden von Schicht zu Schicht weitergeleitet, bis sie in der finalen Schicht eine Ausgabe – 1 oder 0, Katze oder Hund – produzieren. Mehrere Schichten können sich hierbei komplexeren Funktionen annähern.

Das künstliche neuronale Netz findet breite Anwendung in der Bildverarbeitung, um Objekte auf Bildern zu erkennen. Auch Zeitserien, also Daten mit zeitlicher Dimension, können mit künstlichen neuronalen Netzwerken verarbeitet werden, um sie zu vervollständigen oder fortzusetzen. So basieren auch Algorithmen zur Sprachverarbeitung oder zur Wettervorhersage auf künstlichen neuronalen Netzen. Eine großartige Erklärungsreihe zu künstlichen neuronalen Netzen ist auf YouTube zu finden, unter https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi 

Deep Learning ist eine Kategorie maschineller Lernverfahren, die auf besonders tiefen künstlichen neuronalen Netzen basieren. Als tief wird jedes künstliche neuronale Netz bezeichnet, das über mindestens drei Schichten verfügt. Während derartige Modelle Ende des 20. Jahrhunderts aufgrund von limitierenden Rechenkapazitäten noch wenig Anwendung fanden, trifft diese Definition heute auf beinahe jedes künstliche neuronale Netz zu.

GPUs (graphics processing unit) sind ein Computer-Bauteil, das ursprünglich für Grafikkarten entwickelt wurde. Sie funktionieren ähnlich wie CPUs, die typischerweise in Computern oder Smartphones als zentrale Recheneinheit verbaut sind. GPUs haben aber deutlich mehr Rechenkerne. Außerdem sind sie spezialsiert auf Rechenoperationen mit Matritzen und Vektoren, die für die Verarbeitung von Bildern wichtig sind. Diese Operationen kommen aber auch sehr häufig im Training und Betrieb von KIs zum Einsatz. Daher gehören GPUs und Grafikkarten mittlerweile zur Standardausrüstung von Rechenzentren für KI-Entwicklung.

Die Aktivierungsfunktion simuliert in einem neuronalen Netzwerk die Aktivierung der künstlichen Neuronen. Viele Neuronen in unserem Gehirn werden aktiviert, sobald eine bestimmte Eingansspannung überschritten wird. Sind also die Signale, die ein Neuron erreichen, in ihrer Summe höher als der Schwellwert, feuert das Neuron ein eigenes Signal. In künstlichen neuronalen Netzen wird ein ähnliches Verhalten simuliert. Hierfür wird eine Aktivierungsfunktion definiert, meistens die ReLU-Funktion (Rectified Linear Unit). Sie schickt kein Signal bei negativem Eingang, leitet das Einganssignal aber weiter, sobald es positiv wird.

Jedes künstliche neuronale Netz besteht aus mehreren Schichten und jede Schicht eines künstlichen neuronalen Netzes besteht aus künstlichen Neuronen. Eingehende Signale werden iterativ von Schicht zu Schicht propagiert, bis sie in der finalen Schicht eine Ausgabe produzieren. Mehr Schichten können hierbei komplexere Funktionen approximieren.

Jedes neuronale Netz hat lernbare Komponenten. In jedem Trainingsschritt werden diese stückweise verändert und so in Richtung der Zielfunktion angepasst. Wie groß ein solches Stück ist, wird durch die Lernrate festgesetzt. Bei einer kleineren Lernrate werden kleinere Schritte in Richtung der Lösung gemacht.

Ein Optimierungsalgorithmus beschreibt ein bestimmtes Verfahren, mit dem Optima (Extremstellen) in einer Funktion gefunden werden können. Anders als beispielsweise eine Parabel hat die Funktion, die durch ein künstliches neuronales Netz beschrieben wird, oft keine schöne Form und viele unterschiedlich gute Optima (im Normalfall sind wir an den Minima interessiert).

Ein Prozessor (engl. CPU, Central Processing Unit) ist typischerweise in elektronischen Geräten wie Computern als zentrale Recheneinheit verbaut. Ein Prozessor ist ein programmierbares Rechenwerk, das anhand eines Algorithmus andere Maschinen oder elektrische Schaltungen steuert. Auch in primitiveren Geräten wie Waschmaschinen findet man CPUs in Form von Mikro-Prozessoren.

Diskussionen
0 Kommentare
Es gibt neue Kommentare!
Te.ma befindet sich im Archiv-Modus und daher ist die Kommentarfunktion deaktiviert.

Noch keine Kommentare

te.ma sammelt keine Cookies. Um mit der Allgemeinen Datenschutzgrundverordnung (DSGVO) übereinzustimmen, müssen wir dich aber informieren, dass von uns eingebundene externe Medien (z.B. von YouTube) möglicherweise Cookies sammeln. Mehr dazu in unserer Datenschutzerklärung.