Online Magazine
ML-Plattformen und wie man ihre Fähigkeiten beurteilt

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? Mit Hilfe eines Evaluation-Frameworks.
von Bhaumik Pandya

Wie in diesem Artikel gezeigt wurde, kann eine ML-Plattform die Chancen deiner ML-Lösung erhöhen, den Sprung vom Labor in die Produktion zu schaffen. Um die Plattform zu finden, die den Anforderungen deines Unternehmens am besten entspricht, benötigst du ein Framework, das dir hilft, die Fähigkeiten von ML-Plattformen zu bewerten. Ein Beispiel hierfür ist das Accenture Assessment Framework, das den gesamten ML-Lebenszyklus umfasst.
Um dieses Framework zu verstehen, müssen zunächst die funktionalen Fähigkeiten definiert werden, die eine ML-Plattform abdecken sollte, damit sie die kontinuierliche Entwicklung, Integration, Bereitstellung und Überwachung einer ML-Lösung zu ermöglicht.
Welche funktionalen Fähigkeiten sollte eine ML-Plattform haben?
Um Ron Schmelzer zu zitieren: «Die Plattform für maschinelles Lernen gibt es nicht». In einer Welt, in der Linien durch eine bereits komplizierte Software- und Serviceumgebung gezogen werden, geben die funktionalen Fähigkeiten einen Anhaltspunkt dafür, was notwendig ist, um eine ML-Lösung in die Produktion zu bringen. Das Ergebnis ist eine Capability Map (Abbildung 1), die den gesamten ML-Lebenszyklus abdeckt und fünf Funktionsbereiche umfasst: Datenerfassung und -speicherung, Experimentierbereich, kontinuierliche Integration, Industrialisierungsbereich und Datenpräsentation.
Abbildung 1: Die Funktionsbereiche und Komponenten, die eine ML-Plattform idealerweise abdecken sollte,
um einen durchgängigen ML-Lebenszyklus zu ermöglichen.
Jeder Funktionsbereich (Beispiel in lila) besteht aus Komponenten (Beispiel in pink), welche die unterschiedlichen Anforderungen an den jeweiligen Funktionsbereich definieren. Projekte beginnen bei der Implementierung in der Regel mit der Aufnahme der gesammelten Daten (Datenerfassung und -speicherung), gefolgt von Experimenten und der Entwicklung von Lösungsalgorithmen (Experimentierbereich). Die in diesem Prozess erstellten ML-Modelle werden dann getestet, integriert und in die Produktion überführt (kontinuierliche Integration). Anschliessend werden die Modelle validiert und kontinuierlich überwacht (Industrialisierungsbereich). Die Nutzung von KI-Anwendungen und ML-Lösungen ist über verschiedene Arten von Endpunkten, wie REST-API, Batch Service und Dashboards (Datenpräsentation), möglich.
Im Einzelnen umfassen die verschiedenen Funktionsbereiche Folgendes:
- Datenerfassung und -speicherung
Im ML-Kontext sind Daten das A und O. Ebenso wichtig ist die Verfügbarkeit qualitativ hochwertiger Daten, denn das Training und die Bereitstellung von Modellen ist eine grundlegende Fähigkeit einer ML-Plattform. 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. - Experimentierbereich
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 Wiederverwendung 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. Idealerweise unterstützt die Plattform auch Visualisierungsmöglichkeiten (z.B. für Metriken). - Kontinuierliche 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 (einschliesslich Artefakten) und deren Abhängigkeiten. Zudem müssen die gespeicherten Modelle den Parametern und Metriken aus den Trainingsläufen zugeordnet werden können. Diese Funktionalitäten decken häufig ein Modellspeicher einschliesslich einer Modellregistrierung ab. 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 Modellspeicher sind entscheidend für die kontinuierliche Automatisierung, Integration und Bereitstellung von Modellen über den gesamten ML-Lebenszyklus, aber sie ersetzen nicht den gesamten ML 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. - Industrialisierungsbereich
Für den langfristigen Erfolg einer ML-Lösung ist es von entscheidender Bedeutung, dass die Leistung der ML-Modelle in der Produktion im Laufe der Zeit nicht abnimmt. Das Modell sollte zumindest überwacht und anhand eines Basismodells validiert, im Idealfall sogar kontinuierlich neu trainiert werden. 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 Trigger auszulösen, die idealerweise KPIs überwachen. Darüber hinaus sollte die ML-Plattform entweder eine eigene Visualisierungsfunktionalität bieten oder eine einfache Anbindung an Monitoring-Tools (z.B. Prometheus, Grafana) unterstützen. - Datenpräsentation
Um schliesslich 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 einer Integration mit Visualisierungstools wie Tableau oder Power BI, sind sehr hilfreich.
Wie bewertet man eine ML-Plattform?
Nachdem wir die fünf Funktionsbereiche einer ML-Plattform und die Komponenten, die deren notwendige Anforderungen gewährleisten, vorgestellt haben, wollen wir nun die Bewertungsindikatoren definieren, welche die Bewertung verschiedener ML-Plattformen ermöglichen.
Einstufung einer Komponente
Die ML-Plattformen werden anhand der Abdeckungsgrade und der Maturität der einzelnen Komponenten bewertet. Während der Abdeckungsgrad die Verfügbarkeit der Komponente auf einer bestimmten ML-Plattform angibt, zeigt die Maturität die Fähigkeiten, die Robustheit und die Produktionsreife der Komponente an.
Einstufung eines Funktionsbereichs
Wie in Abbildung 2 dargestellt, ist die Gesamtbewertung der Abdeckung und der Maturität eines Funktionsbereichs der kumulative Durchschnitt der Bewertungen der Komponenten, aus denen der jeweilige Funktionsbereich besteht:
Abbildung 2: Bewertung der Komponenten und Funktionsbereiche in Bezug auf Abdeckung und Maturität.
Der Abdeckungsgrad eines Funktionsbereichs gibt Aufschluss über den Prozentsatz der abgedeckten Komponenten, während die Maturität eines Funktionsbereichs die Gesamtfähigkeit und -bereitschaft der zugrunde liegenden Komponenten angibt.
Warum brauchen wir zwei verschiedene Bewertungsindikatoren: Abdeckungsgrad und Maturität?
Stellen wir uns eine Plattform «A» vor, die nur einen geringen Abdeckungsgrad, aber eine hohe Maturität der abgedeckten Komponenten aufweist, und eine andere Plattform «B», die alle Komponenten abdeckt, aber eine geringe Maturität aufweist. Ohne eine Unterscheidung von Abdeckungsgrad und Maturität könnten beide Plattformen die gleiche Punktzahl erreichen, aber aus betrieblicher Sicht macht dies einen grossen Unterschied. Entweder bräuchte man zusätzliche Werkzeuge, um den gesamten ML-Lebenszyklus zu ermöglichen, oder es fehlte einem die Capability, den Workflow vollständig zu industrialisieren.
Fazit
Um die ML-Plattform zu finden, die deine Anforderungen am besten erfüllt, musst du die Komponenten (und damit die übergreifenden Funktionsbereiche) der verschiedenen Plattformen bewerten. Bei der Bewertung ist der Abdeckungsgrad der Komponenten (Verfügbarkeit der Komponente) ebenso wichtig wie ihre Maturität (Fähigkeiten, Robustheit und Produktionsreife der Komponente).
DIESE ARTIKEL KÖNNTEN AUCH WAS FÜR DICH SEIN:


