E-Book, Deutsch, 206 Seiten
Reihe: Animals
Machine-Learning-Prozesse im Unternehmen nachhaltig automatisieren und skalieren
E-Book, Deutsch, 206 Seiten
Reihe: Animals
ISBN: 978-3-96010-581-7
Verlag: O'Reilly
Format: EPUB
Kopierschutz: 6 - ePub Watermark
Das Buch erläutert MLOps-Schlüsselkonzepte, mit denen Data Scientists und Data Engineers ihre ML-Pipelines und -Workflows optimieren können. Anhand von Fallbeispielen, die auf zahlreichen MLOps-Anwendungen auf der ganzen Welt basieren, geben neun ML-Experten wertvolle Einblicke in die fünf Schritte des Modelllebenszyklus - Build, Preproduction, Deployment, Monitoring und Governance. Sie erfahren auf diese Weise, wie robuste MLOps-Prozesse umfassend in den ML-Produktworkflow integriert werden können.
Mark Treveil hat bereits zahlreiche Produkte in verschiedenen Bereichen wie etwa Telekommunikation, Bankwesen und dem Online-Börsengeschäft konzipiert. Sein eigenes Startup hat eine regelrechte Wende in der britischen Kommunalverwaltung initiiert, wo seine Digitalisierungslösung noch immer vorherrscht. Derzeit ist er im Pariser Produktteam von Dataiku beschäftigt.
Weitere Infos & Material
KAPITEL 1
Warum jetzt, und was sind die Herausforderungen?
Machine Learning Operations (MLOps) entwickelt sich zusehends zu einer unverzichtbaren Komponente, um Data-Science-Projekte im Unternehmen erfolgreich in den Einsatz zu bringen (siehe Abbildung 1-1). Dabei handelt es sich um Prozesse, die dem Unternehmen und den Verantwortlichen dabei helfen, im Zusammenhang mit Data Science, Machine Learning und KI-Projekten langfristigen Wert zu generieren und Risiken zu reduzieren. Dennoch stellt MLOps ein relativ neues Konzept dar. Warum hat es also scheinbar über Nacht Einzug in das Data-Science-Lexikon erhalten? In diesem einführenden Kapitel wird erläutert, was MLOps auf einer übergeordneten Ebene ist, welche Herausforderungen es mit sich bringt, warum es für eine erfolgreiche Data-Science-Strategie im Unternehmen unverzichtbar geworden ist und, was besonders wichtig ist, warum es gerade jetzt in den Vordergrund rückt. MLOps im Vergleich zu ModelOps und AIOps MLOps (oder ModelOps) ist eine relativ neue Fachdisziplin, die seit Ende des Jahres 2018 unter diesen Namen in Erscheinung trat. Die beiden Termini – MLOps und ModelOps – werden zum Zeitpunkt der Erstellung dieses Buchs weitgehend synonym verwendet. Einige argumentieren jedoch, dass ModelOps umfassender als MLOps ist, da es nicht nur um Machine-Learning-(ML)-Modelle geht, sondern um jede Art von Modellen (z.B. auch regelbasierte Modelle). Im Rahmen dieses Buchs werden wir uns speziell mit dem Lebenszyklus von ML-Modellen befassen und daher den Begriff MLOps verwenden. Auch wenn es manchmal mit MLOps verwechselt wird, bezieht sich AIOps hingegen auf ein ganz anderes Thema und bezeichnet den Prozess der Lösung operativer Herausforderungen im Rahmen des Einsatzes von künstlicher Intelligenz (d.h. KI für DevOps). Ein Beispiel wäre eine Form der vorausschauenden Wartung im Zusammenhang mit Netzwerkausfällen, bei der DevOps-Teams auf mögliche Probleme aufmerksam gemacht werden, bevor sie auftreten. Obwohl AIOps für sich genommen wichtig und interessant ist, liegt es außerhalb des Rahmens dieses Buchs. Abbildung 1-1: Darstellung des exponentiell verlaufenden Suchtrends des Begriffs »MLOps« (ohne gleichzeitige Berücksichtigung des Terminus »ModelOps«) MLOps – Definition und Herausforderungen
Im Kern ist MLOps die Standardisierung und Straffung des Lebenszyklusmanagements von ML-Modellen (siehe Abbildung 1-2). Doch weshalb muss der ML-Lebenszyklus überhaupt gestrafft werden? Oberflächlich betrachtet, könnte man annehmen, dass die Arbeitsschritte, die vom Geschäftsproblem zu einem ML-Modell führen, sehr einfach sind. Für die meisten traditionellen Unternehmen ist die Entwicklung mehrerer Machine-Learning-Modelle und deren Einsatz in einer Produktivumgebung relativ neu. Bis vor Kurzem war die Anzahl der Modelle vielleicht noch überschaubar, oder es bestand einfach weniger Interesse daran, diese Modelle und ihre Abhängigkeiten auf unternehmensweiter Ebene zu verstehen. Mit der fortschreitenden Automatisierung von Entscheidungsprozessen (d.h. mit einer zunehmenden Verbreitung von Entscheidungen, die ohne menschliches Zutun getroffen werden) rücken Modelle immer stärker in den Fokus, und parallel dazu wird auch das Management von Modellrisiken auf höchster Ebene immer wichtiger. Insbesondere in Bezug auf die Anforderungen und die genutzten Tools erweist sich das Lebenszyklusmanagement von Machine-Learning-Modellen in einem Unternehmen tatsächlich als durchaus komplex (siehe Abbildung 1-3). Abbildung 1-2: Eine vereinfachte Darstellung des Lebenszyklus von ML-Modellen, die die Notwendigkeit von MLOps nur unzureichend abbildet, speziell im Vergleich zu Abbildung 1-3 Es gibt drei Hauptgründe dafür, dass das Lebenszyklusmanagement skalierbarer ML-Modelle eine Herausforderung darstellt: Es gibt zahlreiche Abhängigkeiten. Nicht nur die Daten ändern sich ständig, sondern auch die geschäftlichen Anforderungen. Neue Informationen müssen kontinuierlich an das Unternehmen zurückgegeben werden, um sicherzustellen, dass der Produktivbetrieb des Modells, auch in Bezug auf die Akkuranz der Produktionsdaten, mit den Erwartungen übereinstimmt und – was von entscheidender Bedeutung ist – dass das ursprüngliche Problem gelöst bzw. die ursprüngliche Zielsetzung erreicht wird. Nicht alle sprechen die gleiche Sprache. Auch wenn am ML-Lebenszyklus Mitarbeiter aus Business-, Data-Science- und IT-Teams beteiligt sind, ist es nicht zwingend gegeben, dass diese Teams die gleichen Tools oder – in vielen Fällen – sogar die gleichen grundlegenden Fähigkeiten, die als Kommunikationsbasis dienen, teilen. Data Scientists sind keine Softwareentwickler. Die meisten sind auf die Entwicklung und Evaluierung von Modellen spezialisiert, und ihr Know-how liegt nicht zwingend in der Entwicklung von Anwendungen. Obwohl sich dies im Laufe der Zeit ändern könnte, da sich einige Data Scientists auf die Bereitstellung bzw. den Betrieb von Modellen spezialisieren werden, müssen derzeit viele Data Scientists mit verschiedenen Rollen gleichzeitig jonglieren, was es schwierig macht, eine davon vollständig auszufüllen. Die Überforderung von Data Scientists wird insbesondere im Rahmen der Skalierung – wenn es immer mehr Modelle zu verwalten gibt – problematisch. Noch komplexer wird es, wenn man zusätzlich die Fluktuation der Mitarbeitenden in den Datenteams berücksichtigt: Schließlich gibt es nicht wenige Data Scientists, die sich plötzlich dazu gezwungen sehen, Modelle zu verwalten, die sie nicht selbst entwickelt haben. Abbildung 1-3: Ein realistischeres Bild des Lebenszyklus eines ML-Modells in einem modernen Unternehmen, in den viele verschiedene Personen mit völlig unterschiedlichen Fähigkeiten involviert sind, die oft völlig unterschiedliche Tools verwenden Wenn Ihnen die Definition (oder lediglich die Bezeichnung MLOps) bekannt vorkommt, liegt das vor allem daran, dass sie sich stark an das Konzept, das hinter Dev-Ops steht, anlehnt: DevOps dient dazu, die Prozesse im Rahmen von Softwareänderungen und -aktualisierungen zu straffen. In der Tat haben beide Konzepte ziemlich viel gemeinsam. Zum Beispiel geht es bei beiden darum, eine robuste Automatisierung und vertrauensvolle Zusammenarbeit zwischen den Teams zu gewährleisten, den Leitgedanken einer kooperativen Zusammenarbeit und einer verbesserten Kommunikation zwischen den Teams zu fördern, den Lebenszyklus des Diensts ganzheitlich (Build, Test, Release) zu berücksichtigen und den Schwerpunkt auf eine kontinuierliche Auslieferung (Continuous Delivery) und hohe Qualitätsanforderungen zu setzen. Es gibt jedoch einen entscheidenden Unterschied zwischen MLOps und DevOps, der dafür sorgt, dass letzteres Konzept nicht sofort auf Data-Science-Teams übertragbar ist: In der Produktion unterscheidet sich das Deployment von Softwareprogrammen grundlegend vom Deployment von ML-Modellen. Während Softwareprogramme relativ statisch sind (»relativ«, da viele moderne Software-as-a-Service-(SaaS-)Unternehmen bereits über DevOps-Teams verfügen, die recht schnell iterieren und in der Produktion mehrmals am Tag deployen können), ändern sich Daten hingegen ständig, was bedeutet, dass ML-Modelle ständig neu (hinzu-)lernen und sich an neue Eingabedaten anpassen – oder eben nicht. Die dieser Umgebung zugrunde liegende Komplexität – einschließlich der Tatsache, dass ML-Modelle sowohl aus Programmcode als auch aus Daten bestehen – ist der Grund dafür, dass MLOps zu einer neuen und einzigartigen Disziplin heranwächst. Und was hat es mit DataOps auf sich? Zusätzlich zur komplexen Gegenüberstellung von MLOps und DevOps müssen wir noch den Begriff DataOps abgrenzen, der im Jahr 2014 von IBM eingeführt wurde. DataOps zielt darauf ab, geschäftsfähige Daten bereitzustellen, die schnell für die Nutzung verfügbar sind, wobei der Datenqualität und der Metadatenverwaltung ein besonderer Stellenwert beigemessen wird. Wenn es beispielsweise eine plötzliche Änderung in den Daten gibt, auf denen ein Modell beruht, würde ein Data-Ops-System das Businessteam alarmieren, damit es sich sorgfältig mit den neuesten Erkenntnissen befasst, und das Datenteam würde ebenfalls informiert werden, damit es die Änderung untersuchen oder ein Upgrade einer Bibliothek rückgängig machen und die entsprechende Partition neu erstellen kann. Die Entwicklung von MLOps überschneidet sich daher auf einer gewissen Ebene mit DataOps, obwohl MLOps einen Schritt weitergeht und durch zusätzliche Kernfunktionen (die in Kapitel 3 ausführlicher erläutert werden) eine noch stärkere Robustheit bietet. Wie bei DevOps und später auch bei DataOps konnten sich Teams bis vor Kurzem ohne vordefinierte und zentralisierte Prozesse behelfen, vor allem weil sie maschinelle Lernmodelle – auf Unternehmensebene – nicht in so großem Maßstab angelegt in die Produktion brachten. Jetzt wendet sich das Blatt, und die Teams suchen zunehmend nach Möglichkeiten, einen mehrstufigen, multidisziplinären und mehrphasigen Prozess mit einer heterogenen Umgebung und einem Rahmen für MLOps-Best-Practices zu formalisieren, was keine kleine Aufgabe darstellt. Teil II des Buchs, MLOps einsetzen, wird Ihnen hierzu einen Leitfaden bieten. MLOps zum Reduzieren von Risiken
MLOps ist wichtig für jedes Team, das auch nur ein Modell im Produktivbetrieb hat, da je nach Modell...