Implementierung von AWS MLOps bei einem börsennotierten deutschen Einzelhandelskonzern
Der Kunde ist eine hundertprozentige Tochterfirma eines deutschen Einzelhandel-Konzerns mit Omni-Channel Vertriebsstrukturen. Als Inkubator für technologische Ideen entwickelt das Tochterunternehmen neben Produkten auch Technologien und nachhaltige Geschäftsmodelle. Im Zentrum steht hierbei die Vision, die Branche zum Nutzen der Kund:innen zu digitalisieren, ohne Kompromisse bei der Qualität einzugehen. Inspiriert von technologischen Trends betreibt die Tochter mit 14 Patenten erfolgreiche Forschung, setzt Projekte eigenständig um und unterstützt zudem Start-ups bei der Realisierung ihrer Ideen.
Mit über 900 Niederlassungen in Europa ist der Mutter-Konzern im Einzelhandel für Optik und Medizinprodukte vertreten. Neben fairen Preisen für Produkte überzeugt der Konzern seit Jahrzehnten mit hoher Qualität und Service. Das Unternehmen ist Marktführer in Deutschland und setzt regelmäßig Maßstäbe für neue technologische Entwicklungen innerhalb der Branche.
Lesen Sie in diesem Artikel
- Die Herausforderung:
- Wie erreicht man die erfolgreiche Digitalisierung eines hochkomplexen Messverfahrens?
- Die Lösung:
- Machine Learning Operations (MLOps) als erfolgreichen Prozess etablieren und Dank dem Einsatz moderner Cloud Infrastruktur zur Verbesserung und Beschleunigung des Entwicklungsprozesses beitragen
- Die Umsetzung:
- Automatisierung von Docker Images Builds zu ECR
- Automatische Updates des ECS-Services
- Move zu Cloudwatch getriggertem Batch Workload
- Die Vorteile:
- Einführung von MLOps
- Bereitstellung einer AWS-Infrastruktur
- API-Entwicklung
- Grundstein für zukünftige Projekte
Die Herausforderung:
Für die Entwicklung von innovativen Technologien und Produkten betreibt der Kunde eigene Forschung und Entwicklung (F&E). Expert:innen aus den Bereichen der Messtechnik, Machine Learning (ML), Frontend und Backend Softwareentwicklung sowie User Experience bilden hierbei ein interdisziplinäres Team.
Der Kunde entwickelte unter anderem ein Produkt mit dem Ziel eines automatisierten, orts- und geräteunabhängigen Online-Testverfahrens zur individuellen Anpassung von Medizinprodukten. Der zentrale Aspekt des Projektes ist die Digitalisierung des Messverfahrens, dass traditionell vor Ort unter Hilfe spezialisierter Geräte und geschultem Personal durchgeführt wird. PROTOS Technologie hat den Kunden bei der Erreichung dieses Ziels durch Umsetzung einer modernen Cloud Infrastruktur zur Verbesserung und Beschleunigung des Entwicklungsprozesses unterstützt.
Machine Learning Operations (MLOps)
Beim Wechsel von der experimentellen Entwicklungsphase zur Produktionsreife wurde beim Kunden deutlich, dass vor allem das Arbeiten mit Machine Learning Operations (MLOps) große Vorteile mit sich bringt. Die zentrale Voraussetzung für die erfolgreiche Umsetzung des Projektes war eine robuste, kostengünstige und sichere Infrastruktur welche kontinuierlich auf neue Machine Learning Aufgaben zugeschnitten und optimiert werden kann. Damit können Machine Learning Ingenieur:innen von den oft zeitaufwendigsten Aufgaben wie Datenaufbereitung und Modelbereitstellung entlastet werden und ihre Kapazitäten für den Entwicklungsfortschritt nutzen.
Um neue AWS Cloud basierte MLOps Funktionen in das Backend zu integrieren, musste zunächst eine eng verzahnte Abstimmung mit den jeweiligen Entwicklerteams erfolgen. Den Frontend Entwickler:innen wurden Endpunkte zum Upload von Daten und zur Benutzung der Machine Learning Modelle mit den richtigen Schnittstellen bereitgestellt. In der Zusammenarbeit mit Machine Learning Ingenieur:innen und Data Scientists wurde eine, in AWS gehostete, Datenumgebung und eine Trainingsumgebung für ML aufgebaut.
Auch die Entwicklung und Instandhaltung einer skalierbaren CI/CD Pipeline, zur Sicherstellung von Versionierung, Überprüfbarkeit und Testing, war Teil der Anforderungen und verzahnt klassisches DevOps mit ML spezifischen Anforderungen zu MLOps.
Die Lösung:
AWS Machine Learning Pipeline:
PROTOS Technologie hat den Kunden bei der Umsetzung von MLOps unterstützt, damit die nötigen Infrastrukturresourcen und Prozesse zur Verfügung gestellt werden konnte. Durch Automatisierung wurde der Entwicklungsprozess verbessert, beschleunigt und gesichert.
Die wohl größte Herausforderung in Machine Learning Projekten ist häufig der enorme Zeitaufwand, den die Abwicklung von Datenbeschaffung, Datenaufbereitung und Modeltraining mit sich bringen. Der größte Vorteil von MLOps besteht in der Erleichterung durch Automatisierung von Abläufen und Entlastung der ML Experten zur Optimierung eines Machine Learning Projektes.
Die benötigten großen Datenmengen erfordern neben der Erhebung und Speicherung auch eine vorherige Aufbereitung. Die Bereitstellung auf moderner Cloud Infrastruktur, sowie Optimierung und Automatisierung dieser Faktoren, mithilfe der Cloudexpertise von PROTOS, trug essenziell zur Verbesserung des gesamten Machine Learning Prozesses bei.
Umsetzung in der AWS Cloud:
In der AWS Cloud wurde eine Data Pipeline mit AWS Lambda, Amazon S3 und AWS KMS implementiert, welche die Daten verschlüsselt, aufbereitet und fortlaufende Datenbereinigung (data cleaning) sowie die Kategorisierung (data labeling) unterstützt.
Mit den Daten und die über AWS bereitgestellte Rechenkapazität konnte das Machine Learning Modell Training containerisiert in die AWS Cloud übertragen werden. Der Vorteil bestand darin, dass das Modell Training orts- und nutzerunabhängig auf den skalierbaren und optimierten CPUs und GPUs der Cloud ausgeführt werden kann. Außerdem konnte das Hosting der trainierten Modelle in Produktion leichtgewichtig, kostengünstig und hoch verfügbar und skalierbar über AWS Lambda serverless realisiert werden. Die Möglichkeit einer containerisierten Laufzeit in AWS Lambda bietet moderne API-first Ansätze selbst für die Bereitstellung komplexer Machine Learning Modelle.
Um die Interaktion mit der Data Pipeline und den ML Model Ergebnissen zu ermöglichen, wurde den Mobile und Frontend Entwickler:innen ein gesicherter AWS API Gateway Endpunkt zur Verfügung gestellt.
Höchste Sicherheitsstandards und intensives Testing (unit tests / integration tests) waren Grundlage des implementierten CI/CD Prozesses, der das Deployment und die Verprobung der auf AWS betriebenen Infrastruktur automatisiert.
Sämtliche Ressourcen wurden mittels AWS Cloud Development Kit (CDK) als Infrastructure-as-Code bereitgestellt. Damit war die vollständige Infrastruktur zum Betrieb eines MLOps optimierten Machine Learning Projekts mit einem Klick provisionierbar und verständlich anpassbar, sowie für den Kunden selbst weiter betreibbar.
Die Vorteile:
Einführung von MLOps
Datenmanagement, Training und Bereitstellung sind immense zeitliche Faktoren in Machine Learning Projekten. MLOps definiert die Abläufe, Infrastruktur und Automatisierungsprozesse die notwendig sind, um ML Entwicklung zu optimieren.
Bereitstellung einer AWS Infrastruktur
Cloud Infrastruktur ermöglicht das skalierbare und unabhängige Betreiben einer Machine Learning Pipeline und Datensicherung, sowie beschleunigtes Trainieren auf AWS Recheninstanzen.
API Entwicklung
Die Entwicklung und Bereitstellung von API-Schnittstellen mittels API Gateway erlaubt gesicherte Kommunikation mit den Nutzern und ermöglicht mehr Funktionalität unabhängig und skalierbar im AWS Backend zu betreiben.
Grundstein für zukünftige Projekte
Die per Infrastructure-as-Code entwickelte Infrastruktur und die MLOps Prozesse sind der Grundstein weiterer Machine Learning Projekte. Zukünftige Projekte lassen sich für den Kunden einfacher und schneller entwickeln und integrieren.