Herausforderung
Die Entwicklung komplexer Machine Learning Modelle findet häufig in einer Sandbox, also in einer abgeschlossenen Entwicklungsumgebung statt. Nach dem erfolgreichen Test der Modelle werden diese anschließend in die vorhandene IT-Landschaft implementiert, um dort in regelmäßigen Zyklen ausgeführt zu werden. Unser Kunde, ein internationales Logistikunternehmen, stand vor der Herausforderung, dass die von ihm entwickelten Modelle zur Prognose des Nachfrageaufkommens für mehr als 10.000 Entitäten geschätzt werden mussten und unter dieser Voraussetzung eine tägliche Prognose nicht möglich schien.
Ansatz
Um die tägliche Rechenlast bewältigen zu können, haben wir für den Kunden zunächst ein eigenes R-Package entwickelt, das die nötigen Funktionen und Modelle beinhaltet. Dieses wird zentral verwaltet und gewartet. Im Anschluss daran haben wir einen automatisierten Prozess programmiert, der mittels Parallelisierung die über 10.000 Modelle gleichzeitig auf einer Multicore-Serverumgebung ausführt. Hierbei wurden mehrere Modelle gleichzeitig trainiert und lieferten Prognosen für die Nachfrage pro Kund:in für den nächsten Geschäftstag ab. Aufgrund der leistungsstarken Infrastruktur des Kunden konnten bis zu 20 Modelle parallel trainiert werden
Ergebnis
Auf Basis der parallelisierten Implementierung der Modelle kann unser Kunde nun täglich die Nachfrage aller für ihn relevanten Kund:innen und Entitäten vorhersagen. Durch die parallelisierte Durchführung der Modellschätzungen konnte die Rechenzeit um den Faktor 15 reduziert werden, was eine Schätzung aller Entitäten überhaupt erst möglich macht.