Optimierung Training für Deep Learning

Code Review und Aufbereitung von Trainingsdaten

Herausforderung

Unser Kunde entwickelt eine Machine Learning (ML) Lösung aus dem Bereich des Natural Language Processings (NLP). Ziel ist es dabei aus Webseiten Wörter und Phrasen zu extrahieren und anschließend vorab definierten Klassen zuzuordnen. Man spricht in diesem Kontext auch von Token Classification oder im weiteren Sinn von Named Entity Recognition. Der Klassifikator, also das Neuronale Netz, basiert hierbei auf einem vortrainierten NLP Deep Learning Modell. Dieses wird mithilfe eines vom Kunden selbst erstellten Datensatzes nachtrainiert (Fine tuning). Da der Datensatz sehr umfangreich ist, dauert das Training auch auf leistungsstarken GPU-Instanzen mehrere Stunden bis Tage. Unser Kunde beauftragt uns die Qualität der Trainingsdaten zu erhöhen, um so eine höhere Klassifikationsleistung und im besten Fall auch eine kürzere Trainingszeit zu erreichen.

Lösung

Nach einer eingehenden Analyse des Status quo definieren wir ein Maßnahmenbündel, um die Qualität der Trainingsdaten zu erhöhen. Dieses beinhaltet insbesondere die Filterung und Anreicherung der Trainingsdaten. Hierzu verwenden wir sowohl regelbasierte Ansätze als auch weitere Verfahren aus dem Bereich des Maschinellen Lernens. Dadurch schaffen wir es einerseits die Qualität der annotierten Labels zu erhöhen. Andererseits können wir so auch Trainingsbeispiele mit geringer Qualität eliminieren und aus dem Datensatz entfernen. Dies führt zu einer deutlichen Reduktion der Trainingszeit.

Weiterhin optimieren wir die Vorverarbeitung und das Fine-tuning des NLP-Modells. Ausgehend von einem initialen Code Review finden wir mehrere Schritte in der Vorverarbeitung der Daten, die Optimierungspotenzial aufweisen. Unter anderem optimieren wir das sprachabhängige Tokenizing der Eingangsdaten. Ebenso können wir beim Fine tuning des NLP-Modells sowie im Postprocessing Quick Wins identifizieren und umsetzen. Mit unterschiedlichen Parameterkonfiguration führen wir jeweils das Fine tuning des Deep Learning Modells auf Nvidia-GPU-Instanzen in AWS durch.

Um den Kunden ein einfaches Experimentieren mit dem neuen Modell zu ermöglichen, liefern wir zudem eine Testanwendung mit Weboberfläche. Für einen effizienten Wissenstransfer schulen wir die Mitarbeiter des Kunden und zeigen die Motivation für unsere Anpassungen auf.

Ergebnis

Wir erreichen durch unsere Optimierungen eine deutliche Verbesserung der Klassifikationsleistung des NLP-Verfahrens. Für unseren Kunden bedeutet dies eine messbare Verbesserung in der Kernkomponente seines Systems. Neben den von uns direkt umgesetzten Verbesserungen können wir dem Kunden zusätzliches Optimierungspotenzial aufzeigen.

Nutzen

Daten

Technologien