Mit einer Data Science Plattform erfolgreich KI einsetzen
In der Industrie werden künstliche Intelligenz und maschinelles Lernen für die Problemlösung immer beliebter. Während große Anstrengungen unternommen werden, um die Leistung von ML-Modellen weiter zu verbessern, hat sich der eigentliche Engpass dahin verlagert, solche ML-Lösungen aus den Labors in die Produktion zu bringen.
Wusstest du, dass 90 Prozent der Machine Learning (ML) Lösungen es nie in die Produktion schaffen? In diesem Artikel zeigen wir dir, wie die richtige Machine-Learning-Plattform hilft dies zu verhindern und was du bei der Auswahl einer Lösung beachten solltest.
Warum schaffen es KI-Lösungen nicht in Produktion?
Es gibt viele Gründe, warum es KI-Lösungen nicht aus dem Experiment-Labor schaffen. Den Unternehmen fehlt es an leicht zugänglichen Daten, an effektiver Kommunikation zwischen den Teams, an Tools zur Skalierung der KI-Modelle und an effektiver Modellüberwachung.
Fehlender Zugang zu Daten
Unternehmen sammeln prinzipiell viele Daten, jedoch hat oft jede Abteilung ihre eigenen Methoden zur Datenerfassung, ihre bevorzugten Formate, ihre Speicherorte und ihre Präferenzen in Bezug auf Sicherheit und Datenschutz.
Data Scientists hingegen benötigen oft Daten aus mehreren Abteilungen. Daten-Silos machen es schwieriger, diese Daten zu bereinigen und zu verarbeiten. Außerdem beklagen sich viele Datenwissenschaftler darüber, dass sie die benötigten Daten nicht einmal beschaffen können. Doch wie soll man überhaupt mit dem Training eines Modells beginnen, wenn man nicht über die nötigen Daten verfügt?
Mangelnde Abstimmung zwischen Teams und Abteilungen
Wenn Unternehmen ihre Silos abbauen wollen, bedeutet das auch, dass die Abteilungen mehr miteinander kommunizieren und ihre Ziele aufeinander abstimmen müssen.
In vielen Unternehmen gibt es eine grundlegende Kluft zwischen der IT-Abteilung und Data Science. Die IT-Abteilung neigt dazu, sich vorrangig darum zu kümmern, dass die Dinge funktionieren und dass sie stabil bleiben. Datenwissenschaftler hingegen experimentieren gerne.
Außerdem führen mangelnde Kommunikation zu Doppel- und Mehrarbeit. Beispielsweise könnte ein Software-Entwickler versuchen die Anforderung eines Data Scientist umzusetzen. Dabei entstehen oft Probleme, wie beispielsweise, wenn die Beteiligten nicht wissen, welche Version des Codes sie verwenden sollen und an wen sie sich wenden können, wenn sie auf Fehler stoßen, usw.
Die Skalierung ist schwieriger als du denkst
Wenn ein Modell in einer kleinen Umgebung gut funktioniert, heißt das noch lange nicht, dass es überall funktionieren wird.
Zum einen ist möglicherweise nicht die Hardware oder der Cloud-Speicherplatz vorhanden, um größere Datensätze zu verarbeiten. Schließlich ist die Datenbeschaffung in Produktion möglicherweise nicht einfach oder gar nicht möglich. Dies kann, wie bereits erwähnt, auf Silostrukturen in Unternehmen zurückzuführen sein.
Aufwändige Überwachung der produktiven Lösungen
Ein weiterer Grund, warum es so schwierig ist, KI-Lösungen in Produktion umzusetzen, ist die Tatsache, dass sich die Daten, mit denen die Algorithmen trainiert werden, oft mit der Zeit stark verändern. Das bedeutet, dass die Algorithmen gegebenenfalls häufig neu trainiert werden müssen. Das erfordert eine umfassende Überwachung der produktiven KI-Lösungen. Das wiederum kostet viel Zeit und Ressourcen.
Die Lösung? Eine passende Data-Science-Plattform kann Abhilfe schaffen.
Was ist eine Data Science Plattform?
Eine Machine-Learning (ML) bzw. Data Science Plattform ist definiert als eine Sammlung von Services, die den gesamten ML-Lebenszyklus abdeckt und Unternehmen bei der kontinuierlichen Entwicklung, Bereitstellung, Integration und Überwachung ihrer KI- und ML-Lösungen unterstützt.
Data Science Plattformen ermöglichen es den Datenwissenschaftlern, sich auf die Ergebnisse ihrer Arbeit zu konzentrieren, anstatt sich mit der niedrigeren Ebene der technischen Implementierung zu befassen.
Warum braucht dein Unternehmen eine Machine-Learning Plattform?
Die Entwicklung von ML-Modellen ist meist komplex. Die Komplexität von ML-Lösungen und deren Entwicklungsprozess ist insbesondere auf folgende Faktoren zurückzuführen:
- Unterschiedliche Programmiersprachen und Tools: Datenwissenschaftler beginnen den ML-Lebenszyklus in der Regel mit verschiedenen Programmiersprachen (z. B. Python und R) und Tools (Jupyter Notebook, RStudio, PyCharm) in verschiedenen Versionen.
- Unterschiedliche Bibliotheken: Außerdem verwenden sie in der Regel unterschiedliche Bibliotheken (z. B. TensorFlow, scikit-learn, XGBoost) für die Entwicklung von Algorithmen
- Kleine Stichproben von Daten: In vielen Fällen erstellen die Datenwissenschaftler einen Prototyp mit einer kleinen Datenprobe, die normalerweise von den verfügbaren Ressourcen (z. B. Speicher und CPUs) ihrer Laptops oder Workstations unterstützt wird.
- Potenzielle Inkompatibilität mit Geschäftsanforderungen: Die Tools, Frameworks und Datenanforderungen in dieser Modellentwicklungsphase sind möglicherweise nicht mit der vom Unternehmen geforderten Standards für die Produktion kompatibel.
Die auf diese Weise entwickelten Lösungen erzeugen wenig bis keinen Wert und haben auch keine geschäftlichen Auswirkungen. Um ihr volles Potenzial freizusetzen und kontinuierlich Wert zu schaffen, müssen sie aus der Experimentierphase herausgenommen und tief in die Geschäftsprozesse des Unternehmens integriert werden. Dies ist jedoch unmöglich ohne bestimmte Komponenten wie eine effiziente Datenpipeline, einen kontinuierlichen Integrations- und Bereitstellungsprozess und Artefakt- und Metadatenmanagement.
Nur eine umfassende Palette von ML-Services – d. h. eine ML-Plattform – ermöglicht den Übergang zur nächsten Phase des ML-Lebenszyklus, in der die sorgfältig trainierte und ausgewählte ML-Lösung aus dem Labor in die reale Welt gelangt.
Was solltest du bei der Auswahl einer Machine Learning Plattform beachten?
Eine Machine Learning-Plattform erhöht die Chancen deiner ML-Lösung, den Sprung vom Labor in die Produktion zu schaffen. Aber wie findest du heraus, welche ML-Plattform am besten zu dir passt?
Es gibt fünf Funktionsbereiche innerhalb von ML-Plattformen. ML-Projekte beginnen in der Regel mit dem Einlesen der gesammelten Daten (Datenverarbeitung), gefolgt von Experimenten und der Entwicklung von Algorithmen (Experimente). Die im Prozess erstellten ML-Modelle werden dann getestet, integriert und in die Produktion überführt (Continuous Integration). Außerdem werden die Modelle validiert und kontinuierlich überwacht (Industrialisierung). Die Nutzung bzw. Ausbringung von KI-Anwendungen und ML-Lösungen ist über verschiedene Wege möglich. Die Möglichkeiten reichen von programmierbaren Schnittstellen, Batch Services bis hin zu Dashboards (Bereitstellung).
Datenverarbeitung
Die Daten sind im Bereich des Machine Learning das A und O. Dies gilt auch für die Verfügbarkeit von qualitativ hochwertigen Daten, da das Training und die Bereitstellung von Modellen eine grundlegende Fähigkeit einer ML-Plattform ist. Eine Datenpipeline stellt die für die Modellschulung erforderlichen Daten bereit. Damit die Datenpipeline eine Verbindung zu verschiedenen Datenquellen (Batch und Streaming, strukturiert und unstrukturiert) sicherstellen kann, bietet eine ML-Plattform idealerweise verschiedene Konnektoren. Der Daten- und Speicherbereich bietet darüber hinaus Funktionalitäten zur Datenqualitätsprüfung, Datentransformation und Datenversionierung.
Experimente
Die Entwicklung von ML-Modellen ist ein iterativer Prozess, bei dem in einem ersten Schritt mit verschiedenen Algorithmen und Konfigurationen (z.B. verschiedenen Hyperparametern) experimentiert wird, um das beste Modellergebnis zu erzielen. Um diesen Prozess nachvollziehbar und bei Bedarf automatisiert zu gestalten, sollte eine ML-Plattform Funktionen für den Vergleich, die gemeinsame Nutzung, die Wiederverwendbarkeit und die Zusammenarbeit bei der Modellentwicklung unterstützen. So sollte sie eine Komponente bereitstellen, die diese experimentelle Entwicklung zentral verwaltet und die Modellversionen zusammen mit den zugehörigen Artefakten und Metadaten speichert, verfolgt und auswertet.
Continuous Integration
Das Training von Modellen erfolgt in der Regel mit Programmiersprachen wie Python (oder manchmal R) und findet in einer anderen Umgebung statt als der spätere Einsatz in der Produktion. Dies bringt zwei Herausforderungen mit sich:
1. Die Modelle müssen persistiert werden können.
2. Modelle müssen zwischen verschiedenen Umgebungen portabel sein.
Dies erfordert ein einheitliches Modellformat wie ONNX oder PMML zur Speicherung von Modellen (einschließlich Artefakten) und deren Abhängigkeiten. Es muss auch möglich sein, die gespeicherten Modelle den Parametern und Metriken aus den Trainingsläufen zuzuordnen. Diese Funktionalitäten werden häufig durch einen Modellspeicher einschließlich einer Modellregistrierung abgedeckt.
Ebenso relevant ist ein Feature Store, mit dem die Speicherung, Wiederverwendbarkeit und Bereitstellung der Features sowohl beim Modelltraining als auch beim Model Serving (z.B. Generierung von Vorhersagen in produktiver Umgebung) erleichtert wird. Feature Store und Model Store sind entscheidend für die kontinuierliche Automatisierung, Integration und Bereitstellung von Modellen über den gesamten ML-Lebenszyklus.
Jedoch ersetzen sie nicht den gesamten Machine Learning CI/CD-Prozess. Die ML-Plattform muss daher den Aufbau einer Pipeline, die Automatisierung von Prozessen und die Verpackung sowie die Bereitstellung von Modellen in einer geeigneten Umgebung unterstützen. Ein entscheidender Faktor ist dabei die Fähigkeit, externe Tools zur Orchestrierung und Automatisierung von CI/CD-Workflows zu integrieren.
Industrialisierung
Für den langfristigen Erfolg einer ML-Lösung ist es entscheidend, dass die Leistung von ML-Modellen in der Produktion im Laufe der Zeit nicht abnimmt und das Modell zumindest überwacht und gegenüber einem Basismodell validiert wird. Im Idealfall werden die Modelle kontinuierlich neu trainiert. Eine ML-Plattform sollte daher eine Modellüberwachung bieten, um relevante Modell-KPIs zu verfolgen und eine automatische Modellumschulung über einen vordefinierten Zeitplan oder über bestimmte Auslöser auszulösen.
Bereitstellung
Um schließlich in der Lage zu sein, die Ergebnisse oder Vorhersagen des Modells an konsumierende Anwendungen weiterzugeben, sollte eine ML-Plattform Funktionen für das Model Serving bereitstellen. Dazu gehören Themen wie die Modellorchestrierung und das Testen von Modellen (z.B. A/B-Tests). Weitere wesentliche Funktionalitäten für die Datenpräsentation sind Model Insights, d.h. die Möglichkeit, Erkenntnisse aus der Modelltrainingsphase mit verschiedenen Stakeholdern zu teilen. Visualisierungsmöglichkeiten in der ML-Plattform, z.B. in Form eines Dashboards oder der Integration mit Visualisierungstools wie Tableau oder Power BI, sind sehr hilfreich.