IT Consulting/ 13.04.2022 / Shashank Pandey

Maschinelles Lernen: Sind Modelle (nicht) reproduzierbar?

Bei Maschinellem Lernen (ML) ist die Reproduzierbarkeit des Codes nicht garantiert. Dasselbe Modell kann auf einem System eine Genauigkeit von 80 % und auf einem anderen System eine Genauigkeit von 81 % aufweisen. Diese Abweichung in der Genauigkeit könnte einigen Modellen einen unfairen Vorteil verschaffen oder sogar die künftige Entwicklung behindern, da die Industrie und die Labors das zuvor entwickelte Modell nicht reproduzieren können. Im folgenden Artikel werden die Faktoren für die Reproduzierbarkeit von ML-Modellen erörtert sowie Maßnahmen, die Unternehmen in Betracht ziehen sollten, um die Reproduzierbarkeit zu erhöhen.

Maschinelles Lernen (ML): Vom Experiment zum stabilen Produkt

Die Frage nach der Reproduzierbarkeit ist ein bekanntes Problem in der Wissenschaft. In einer Umfrage der Fachzeitschrift Nature gab mehr als die Hälfte der befragten Forscher an, dass sie ihre eigenen Experimente nicht reproduzieren können. Die Ergebnisse sind dramatisch: 52 % der befragten 1.576 Forscher sind der Meinung, dass es in der Wissenschaft ein erhebliches Problem bei der Reproduzierbarkeit von Ergebnissen gibt. Diese Zahlen sind alarmierend – denn wir bewegen uns mit großen Schritten auf eine Zukunft voller KI und ML zu. Da selbstlernende Algorithmen zu Beginn immer mit einem gewissen Grad an Unsicherheit behaftet sind, lässt sich die Erstellung eines einzigartigen ML-Modells durchaus mit einem wissenschaftlichen Experiment vergleichen.

Bei jedem Projekt, das das Training eines selbstlernenden Modells beinhaltet, sollte diese Frage daher frühzeitig angegangen werden. Wenn sichergestellt ist, dass ein Modell unter verschiedenen Umständen reproduzierbar ist, lassen sich nicht nur die Kosten für die Änderung und Anpassung des Modells für jede Maschine sparen. Dieser Ansatz verschafft dem Eigentümer des ML-Modells auch einen Wettbewerbsvorteil. Denn er kann auf einem robusten und zuverlässigen Produkt aufbauen, das unveränderliche Leistungen erbringt. Dies bringt uns zu der Frage, wie Forscher oder auch Entwickler wissen können, ob ihr Modell reproduzierbar ist.

Im Folgenden werden drei Beobachtungen vorgestellt, welche die Reproduzierbarkeit eines ML-Algorithmus unterstützen können. Außerdem stellen wir Ihnen einen Fragebogen mit qualitativen und quantitativen Anteilen zur Verfügung. Die Entscheidung, ob Sie ein Modell auf Reproduzierbarkeit entwerfen, sollte im Vorab getroffen werden. Denn sie zieht zusätzlichen Aufwand an Zeit und Ressourcen nach sich.

Das Training für reproduzierbare ML-Modelle

Bevor wir uns die Ergebnisse ansehen, sollte die Definition von Reproduzierbarkeit festgelegt werden. Ein Beitrag der National Academics of Science, Engineering and Medicine aus dem Jahr 2019 definiert Reproduzierbarkeit als das Erzielen konsistenter Berechnungsergebnisse unter Verwendung derselben:

  • Eingabedaten,
  • Berechnungsschritte,
  • angewandten Methoden,
  • Code,
  • und Voraussetzungen der Analyse.

Ein reproduzierbares ML-Modell sollte also unter verschiedenen Umständen in Bezug auf die oben genannten Faktoren die gleiche Leistung erbringen oder konsistente Ergebnisse liefern. Der Business Case für ML ist eng mit dieser Fähigkeit verbunden. Da das Training eines ML-Modells viel Zeit und Mühe kostet – was als Investition in zukünftige Resultate betrachtet werden sollte – wird es nur dann einen ROI liefern, wenn es immer wieder für verschiedene Anwendungsfälle und Maßstäbe anwendbar ist.

Auf dem Weg zu einer Lösung für die Reproduzierbarkeit sind unbedingt die folgenden drei Schlüsselbeobachtungen zu berücksichtigen:

  1. Die chaotische Funktion Logistic Map ist auf gleichen und unterschiedlichen CPUs reproduzierbar. Wir haben vier verschiedene CPUs ausprobiert, von denen zwei die gleiche Marke und Modellnummer hatten, während die anderen beiden von einem anderen Hersteller stammten – die Ergebnisse des Modells waren bei allen gleich.
  2. Das Bildklassifizierungsmodell (Datentyp: Float) ist selbst auf demselben Rechner nicht reproduzierbar. Bei komplexen Modellen wie der Bildklassifikation gibt es vererbte Varianzen, die nicht berücksichtigt werden und daher die endgültige Genauigkeit des Modells beeinträchtigen. Das Bildklassifizierungsmodell (Datentyp: double) ist mit einer geringen Abweichung bei der Genauigkeit des Modells reproduzierbar. Der Nachteil ist jedoch, dass sich die Ausführungszeit des Experiments bei unserem Test um den Faktor 22 erhöht hat. Das Experiment war im Vergleich zu anderen Bildklassifizierungsmodellen relativ einfach, der Multiplikationsfaktor steigt jedoch zwangsläufig mit der Größe des Datensatzes und der Komplexität, d.h. die Anzahl der Parameter nimmt zu.
  3. Änderungen in der GPU-Treiberversion wirken sich auf die Genauigkeit des Modells aus. Daher ist es wichtig, Low-Level-Details der Systeme wie CPU-Typ, GPU-Typ, GPU-Treiberversion und andere zu erfassen. Infolgedessen ist die Verwendung einer Software zur Verfolgung von Experimenten äußerst hilfreich, um die Ergebnisse mit den Hyperparametern und Systemdetails des Modells bzw. der Maschine zu verknüpfen und zu speichern.

Reproduzierbarkeit beginnt als Designentscheidung

Wenn Sie mit einem neuen Modell beginnen, sollten Sie sich einige Fragen stellen, bevor Sie die Entscheidung über die Konzeption und den Verlauf des Trainings treffen: 

  1. Wie wichtig ist die Genauigkeit des Modells für mich?
  2. Will ich dasselbe Modell später auf verschiedenen Maschinen reproduzieren?
  3. Wie hoch ist die für mich zulässige Abweichung bei der Genauigkeit des Modells?
  4. Welche Einschränkungen gibt es bei Trainingszeit und -budget?

Anhand dieser Fragen können Sie für Ihr Modell entscheiden, ob Sie einige – oder alle – der Vorschläge aus diesem Blogbeitrag berücksichtigen. Zu beachten ist, dass die oben genannte Liste von Fragen nur als Anhaltspunkt dient und bei Weitem nicht erschöpfend ist. Die Fragen können sich je nach Ihren spezifischen Modellanforderungen sowie den Voraussetzungen Ihrer Infrastruktur ändern.

Die in diesem Blogpost geteilten Beobachtungen sind das Ergebnis der Masterarbeit des Autors, die er am Lehrstuhl für Data Science an der Universität Passau abgeschlossen hat. Sie können Shashank auf LinkedIn und GitHub folgen

Einblicke

Shaping the future with our clients