Operationalisierung von KI in großem Maßstab mit Software 2.0, MLOps und Milvus
Die Entwicklung von Anwendungen für maschinelles Lernen (ML) ist ein komplexer und iterativer Prozess. Da immer mehr Unternehmen das ungenutzte Potenzial von unstrukturierten Daten erkennen, wird die Nachfrage nach KI-gestützter Datenverarbeitung und -analyse weiter steigen. Ohne einen effektiven Betrieb des maschinellen Lernens (MLOps) werden die meisten Investitionen in ML-Anwendungen verkümmern. Untersuchungen haben ergeben, dass nur 5 % der von Unternehmen geplanten KI-Einführungen tatsächlich umgesetzt werden. In vielen Unternehmen entstehen "Modellschulden", d. h., Veränderungen der Marktbedingungen und die fehlende Anpassung an diese führen zu nicht realisierten Investitionen in Modelle, die nicht erneuert werden (oder, schlimmer noch, überhaupt nicht zum Einsatz kommen).
In diesem Artikel wird MLOps erläutert, ein systemischer Ansatz für das Management des Lebenszyklus von KI-Modellen, und wie die Open-Source-Vektordatenmanagement-Plattform Milvus verwendet werden kann, um KI in großem Umfang zu operationalisieren.
Was ist MLOps?
Der Betrieb des maschinellen Lernens (MLOps), auch bekannt als Modellbetrieb (ModelOps) oder Operationalisierung von KI-Modellen, ist notwendig, um KI-Anwendungen in großem Umfang zu erstellen, zu pflegen und bereitzustellen. Da Unternehmen versuchen, die von ihnen entwickelten KI-Modelle auf Hunderte von verschiedenen Szenarien anzuwenden, ist es von entscheidender Bedeutung, dass die verwendeten und die in der Entwicklung befindlichen Modelle im gesamten Unternehmen operationalisiert werden. MLOps umfasst die Überwachung eines maschinellen Lernmodells während seines gesamten Lebenszyklus und regelt alles, von den zugrunde liegenden Daten bis hin zur Effektivität eines Produktionssystems, das auf einem bestimmten Modell basiert.
01.jpg
Gartner definiert ModelOps als die Steuerung und das Lebenszyklusmanagement eines breiten Spektrums von operationalisierten künstlichen Intelligenz- und Entscheidungsmodellen. Die Kernfunktionen von MLOps lassen sich wie folgt aufschlüsseln:
Kontinuierliche Integration/kontinuierliche Bereitstellung (CI/CD): Bei CI/CD handelt es sich um eine Reihe von Best Practices aus dem Entwicklerbetrieb (DevOps), mit denen Codeänderungen häufiger und zuverlässiger bereitgestellt werden können. Die kontinuierliche Integration fördert die Implementierung von Codeänderungen in kleinen Stapeln bei gleichzeitiger Überwachung durch eine strenge Versionskontrolle. Die kontinuierliche Bereitstellung automatisiert die Bereitstellung von Anwendungen in verschiedenen Umgebungen (z. B. Test- und Entwicklungsumgebungen).
Modellierte Entwicklungsumgebungen (MDE): Ein komplexer Prozess für die Erstellung, Überprüfung, Dokumentation und Untersuchung von Modellen. MDE helfen dabei, sicherzustellen, dass Modelle iterativ erstellt, während ihrer Entwicklung dokumentiert, vertrauenswürdig und reproduzierbar sind. Effektive MDE stellt sicher, dass Modelle auf kontrollierte Weise erforscht, untersucht und erprobt werden können.
Champion-Challenger-Tests: Ähnlich wie bei der von Vermarktern verwendeten A/B-Testing-Methodik geht es beim Champion-Challenger-Testing darum, mit verschiedenen Lösungen zu experimentieren, um den Entscheidungsprozess zu unterstützen, bevor man sich auf einen einzigen Ansatz festlegt. Bei dieser Technik wird die Leistung in Echtzeit überwacht und gemessen, um festzustellen, welche Abweichung am besten funktioniert.
Modellversionierung: Wie bei jedem komplexen System werden Modelle für maschinelles Lernen schrittweise von vielen verschiedenen Personen entwickelt, was zu Fragen der Datenverwaltung in Bezug auf Versionen von Daten und ML-Modellen führt. Die Modellversionierung hilft bei der Verwaltung und Steuerung des iterativen Prozesses der ML-Entwicklung, bei dem sich Daten, Modelle und Code unterschiedlich schnell weiterentwickeln können.
Modellspeicherung und Rollback: Wenn ein Modell bereitgestellt wird, muss die entsprechende Image-Datei gespeichert werden. Rollback- und Wiederherstellungsfunktionen ermöglichen es MLOps-Teams, bei Bedarf zu einer früheren Modellversion zurückzukehren.
Die Verwendung von nur einem Modell in einer Produktionsanwendung stellt eine Reihe von schwierigen Herausforderungen dar. MLOps ist eine strukturierte, wiederholbare Methode, die sich auf Tools, Technologien und bewährte Verfahren stützt, um technische oder geschäftliche Probleme zu lösen, die während des Lebenszyklus eines Modells für maschinelles Lernen auftreten. Erfolgreiches MLOps sorgt für Effizienz in den Teams, die KI-Modelle erstellen, bereitstellen, überwachen, neu trainieren und verwalten und sie in Produktionssystemen einsetzen.
Warum ist MLOps notwendig?
Wie im obigen Lebenszyklus eines ML-Modells dargestellt, ist die Erstellung eines maschinellen Lernmodells ein iterativer Prozess, der die Einbeziehung neuer Daten, das erneute Trainieren von Modellen und den Umgang mit dem allgemeinen Modellverfall im Laufe der Zeit beinhaltet. Dies sind alles Probleme, die der traditionelle Entwicklerbetrieb oder DevOps nicht berücksichtigt oder für die es keine Lösungen gibt. MLOps ist notwendig geworden, um Investitionen in KI-Modelle zu verwalten und einen produktiven Modelllebenszyklus zu gewährleisten. Da Modelle des maschinellen Lernens von einer Vielzahl unterschiedlicher Produktionssysteme genutzt werden, ist MLOps unerlässlich, um sicherzustellen, dass die Anforderungen in verschiedenen Umgebungen und in unterschiedlichen Szenarien erfüllt werden können.
02.jpg
Die einfache Abbildung oben zeigt ein maschinelles Lernmodell, das in einer Cloud-Umgebung bereitgestellt wird und in eine Anwendung einfließt. In diesem Basisszenario können eine Reihe von Problemen auftreten, die mit MLOps gelöst werden können. Da die Produktionsanwendung auf eine bestimmte Cloud-Umgebung angewiesen ist, gibt es Latenzanforderungen, auf die die Datenwissenschaftler, die das ML-Modell entwickelt haben, keinen Zugriff haben. Die Operationalisierung des Modelllebenszyklus würde es Datenwissenschaftlern oder Ingenieuren mit fundierten Kenntnissen des Modells ermöglichen, Probleme, die in bestimmten Produktionsumgebungen auftreten, zu identifizieren und zu beheben.
Modelle für maschinelles Lernen werden nicht nur in anderen Umgebungen trainiert als in den Produktionsanwendungen, in denen sie eingesetzt werden, sondern sie stützen sich auch häufig auf historische Datensätze, die sich von den in Produktionsanwendungen verwendeten Daten unterscheiden. Mit MLOps hat das gesamte Data-Science-Team, von den Entwicklern des Modells bis hin zu den Mitarbeitern auf der Anwendungsebene, die Möglichkeit, Informationen und Unterstützung auszutauschen und anzufordern. Die Geschwindigkeit, mit der sich Daten und Märkte verändern, macht es zwingend erforderlich, dass es so wenig Reibungsverluste wie möglich zwischen allen wichtigen Interessengruppen und Mitwirkenden gibt, die von einem bestimmten maschinellen Lernmodell abhängen werden.
Unterstützung des Übergangs zu Software 2.0
Software 2.0 ist die Idee, dass die Softwareentwicklung einen Paradigmenwechsel erleben wird, da künstliche Intelligenz zunehmend eine zentrale Rolle beim Schreiben von KI-Modellen spielt, die Softwareanwendungen antreiben. Bei der Entwicklung von Software 1.0 schreiben Programmierer explizite Anweisungen in einer bestimmten Programmiersprache (z. B. Python, C++). Software 2.0 ist weitaus abstrakter. Obwohl Menschen Eingabedaten bereitstellen und Parameter festlegen, sind neuronale Netze aufgrund ihrer schieren Komplexität für Menschen schwer zu verstehen - typische Netze enthalten Millionen von Gewichten, die sich auf das Ergebnis auswirken (und manchmal Milliarden oder Billionen).
DevOps wurde auf der Grundlage von Software 1.0 entwickelt, die sich auf spezifische Anweisungen stützt, die von Programmierern mit Hilfe von Sprachen diktiert werden, aber nie den Lebenszyklus eines maschinellen Lernmodells berücksichtigte, das eine Vielzahl von verschiedenen Anwendungen steuert. MLOps geht auf die Notwendigkeit ein, dass sich der Prozess der Softwareentwicklung mit der zu entwickelnden Software ändert. Da Software 2.0 zum neuen Standard für computergestützte Problemlösungen wird, werden die richtigen Tools und Prozesse für die Verwaltung von Modelllebenszyklen über Investitionen in neue Technologien entscheiden. Milvus ist eine Open-Source-Suchmaschine für Vektorähnlichkeiten, die entwickelt wurde, um den Übergang zu Software 2.0 zu unterstützen und Modelllebenszyklen mit MLOps zu verwalten.
03.jpg
Operationalisierung von KI in großem Maßstab mit Milvus
Milvus ist eine Plattform zur Verwaltung von Vektordaten, die speziell für das Speichern, Abfragen, Aktualisieren und Verwalten riesiger Vektordatensätze in Billionengröße entwickelt wurde. Die Plattform ermöglicht die Suche nach Vektorähnlichkeit und kann mit weit verbreiteten Indexbibliotheken wie Faiss, NMSLIB und Annoy integriert werden. Durch die Kombination von KI-Modellen, die unstrukturierte Daten in Vektoren umwandeln, mit Milvus können Anwendungen für die Entwicklung neuer Medikamente, biometrische Analysen, Empfehlungssysteme und vieles mehr erstellt werden.
Dievektorielle Ähnlichkeitssuche ist die bevorzugte Lösung für die Verarbeitung und Analyse unstrukturierter Daten, und Vektordaten entwickeln sich schnell zu einem wichtigen Datentyp. Ein umfassendes Datenverwaltungssystem wie Milvus erleichtert die Operationalisierung von KI in vielerlei Hinsicht, z. B:
Bereitstellung einer Umgebung für die Modellschulung, die sicherstellt, dass mehrere Aspekte der Entwicklung an einem Ort durchgeführt werden, was die teamübergreifende Zusammenarbeit, die Modellverwaltung und vieles mehr erleichtert.
Bereitstellung eines umfassenden Satzes von APIs, die gängige Frameworks wie Python, Java und Go unterstützen, wodurch die Integration eines gemeinsamen Satzes von ML-Modellen erleichtert wird.
Die Kompatibilität mit Google Colaboratory, einer Jupyter-Notebook-Umgebung, die in einem Browser läuft, vereinfacht die Kompilierung von Milvus aus dem Quellcode und die Ausführung grundlegender Python-Operationen.
Die Funktion für automatisiertes maschinelles Lernen (AutoML) ermöglicht es, die Aufgaben zu automatisieren, die mit der Anwendung von maschinellem Lernen auf reale Probleme verbunden sind. AutoML führt nicht nur zu Effizienzsteigerungen, sondern ermöglicht es auch Nicht-Experten, Modelle und Techniken des maschinellen Lernens zu nutzen.
Unabhängig von den Anwendungen für maschinelles Lernen, die Sie heute entwickeln, oder von den Plänen, die Sie für Anwendungen in der Zukunft haben, ist Milvus eine flexible Datenmanagementplattform, die mit Blick auf Software 2.0 und MLOps entwickelt wurde. Um mehr über Milvus zu erfahren oder Beiträge zu leisten, finden Sie das Projekt auf Github. Um sich in der Community zu engagieren oder Fragen zu stellen, treten Sie unserem Slack-Kanal bei. Sind Sie hungrig nach mehr Inhalt? Sehen Sie sich die folgenden Ressourcen an:
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word