© Ryzhi/Shutterstock.com
Machine-Learning-Anwendungen in Produktion bringen

Continuous Delivery für Machine Learning


In der heutigen Softwareentwicklung ist es selbstverständlich geworden, dass Usern laufend neue Funktionen und Erweiterungen geboten werden. Das trifft sowohl auf Benutzeranwendungen im Mobil-, Web- und Desktopbereich zu als auch auf moderne Unternehmenssoftware. Umfangreiche und den Betrieb störende Software-Go-lives werden nicht mehr geduldet. Mit Continuous Delivery (CD) lässt sich die Frequenz, mit der Software zuverlässig produktiv ausgeliefert werden kann, drastisch erhöhen.

Organisationen arbeiten zunehmend datengetrieben oder orientieren sich sogar bereits in Richtung KI-getrieben. Daher wird es immer wichtiger, Data-Science- und Data-Engineering-Ansätze in die Softwareentwicklung einfließen zu lassen, damit keine spezialisierten Silos entstehen, die eine effiziente Zusammenarbeit verhindern. Allerdings ist diese Integration auch mit neuen Hürden verbunden.

Mehr Artefakte, die sich verändern: Es müssen nicht nur die Softwarecodeartefakte verwaltet werden, sondern auch die Datenbasis und Machine-Learning-(ML-)Modelle sowie die in den Modellen verwendeten Parameter und Hyperparameter. Sämtliche dieser Artefakte müssen über verschiedene Stufen hinweg administriert, versioniert und optimiert werden, bis sie in Produktion übernommen werden. Die Sicherstellung von Versionierung, Qualitätskontrolle, Zuverlässigkeit, Wiederholbarkeit und Prüffähigkeit ist daher aufwendiger und komplexer.

Größe und Übertragbarkeit: Die Größenordnung von Trainingsdaten und ML-Modellen liegt im Allgemeinen deutlich über der von Softwarecode. Insofern sind für eine effiziente Handhabung andere Werkzeuge erforderlich. Das erschwert die Nutzung eines universellen Artefaktformats, was zu einer „Über den Zaun werfen“-Mentalität zwischen den verschiedenen Teams führen kann.

Unterschiedliche Fähigkeiten und Arbeitsmethoden der Mitarbeiter: Für die Entwicklung von ML-Anwendungen werden Fachkräfte mit sich ergänzenden Fähigkeiten benötigt. Mitunter haben diese Fachkräfte gegensätzliche Zielsetzungen, Ansätze oder Arbeitsmethoden:

  • Data Scientists befassen sich mit den Daten, extrahieren Merkmale und suchen nach geeigneten Modellen, mit denen sich die gewünschten Erkenntnisse am besten gewinnen lassen. Sie gehen vorzugsweise wissenschaftlich vor, indem sie Hypothesen aufstellen und sie anhand der Daten verifizieren oder entkräften. Sie brauchen Werkzeuge, mit denen sie Daten verarbeiten, parallele Experimente durchführen, Prototypen zügig erstellen, Daten visualisieren und mehrere Modelle skalierbar trainieren können.

  • EntwicklerInnen und ML-Engineers wollen die Modelle in reale Anwendungen oder Services einbinden und dort einsetzen. Ihr Anliegen ist es, dass die Modelle möglichst zuverlässig, sicher, effizient und skalierbar sind.

  • Data Engineers kümmern sich darum, dass die richtigen Daten stets auf dem aktuellen Stand und von hoher Qualität sind und im jeweils benötigten Umfang, Format und Detailgrad schnell und kosteneffizient abgerufen werden können.

  • Die (Unternehmens-)Fachseite definiert die Anforderungen. Sie gibt die Untersuchungsrichtung der Data Scientists vor. Sie legt fest, anhand welcher Kennzahlen gemessen wird, ob das ML-System die gewünschten Resultate auf dem angestrebten Qualitätsniveau liefert.

Continuous Delivery for Machine Learning (CD4ML) ist der technische Ansatz, mit dem dieser Problematik entgegengewirkt werden soll. CD4ML bringt die verschiedenen Gruppen an einen Tisch, sodass sie ML-Anwendungen entwickeln, bereitstellen und kontinuierlich verbessern können (Abb. 1).

sato_wider_windheuser_ml_1.tif_fmt1.jpgAbb. 1: CD4ML vereint verschiedene Entwicklungsprozesse und Workflows zur Entwicklung von ML-Anwendungen

Der Continuous-Intelligence-Zyklus

Im Artikel „Models of enterprise intelligence” [1] haben wir den Continuous-Intelligence-Zyklus vorgestellt (Abb. 2). Hierbei handelt es sich um einen Prozess, der in irgendeiner Form in fast jedem Unternehmen existiert und der das Ziel hat, gesammelte Daten erst in Informationen und dann in Erkenntnisse und Maßnahmen umzuwandeln, um so datengestützte Entscheidungen zu ermöglichen. In traditionellen Organisationen basiert dieser Zyklus auf Altsystemen (wie Data Warehouses oder ERP-Systeme) und auf Entscheidungen von Menschen. In diesen Organisationen ist der Prozess langwierig und hakt an etlichen Stellen: ML-Anwendungen werden oft losgelöst entwickelt und kommen nie über die Proof-of-Concept-Phase hinaus. Schaffen sie es tatsächlich bis zur Produktion, handelt es sich oft um eine einmalige Angelegenheit. Das Aktualisieren und Neutrainieren gestaltet sich schwierig, sodass Modelle bald veraltet und überholt sind.

sato_wider_windheuser_ml_2.tif_fmt1.jpgAbb. 2: Der Continuous-Intelligence-Zyklus

Intelligente Unternehmen wissen, wie sie den Continuous-Intelligence-Zyklus beschleunigen und Reibungspunkte beseitigen können. CD4ML ist der technische Ansatz zur schnelleren Wertschöpfung von ML-Anwendungen im Rahmen des Continuous-Intelligence-Zyklus. CD4ML macht es möglich, von Offlinemodellen und manuellen Implementierungen wegzukommen,...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang