Zusammen mit unserem Kunden entwickeln wir eine Daten-Pipeline zur Klassifikation von E-Mails auf der Basis von Amazon Web Services (AWS). Für die Bearbeitung der Daten setzen wir auf serverlose Lambda-Funktionen, die wir mit Kinesis Data Streams entkoppeln (Grafik 1). Die Machine Learning (ML) Komponente unserer Pipeline wird in SageMaker trainiert und bereitgestellt.

Der Use Case
Unser Kunde erhält täglich Tausende E-Mails von seinen Kunden mit Rückmeldungen zum Service oder Anfragen zum Angebot. Das stellt unseren Partner vor zwei grundsätzliche Probleme:
- Das Volumen der E-Mails nimmt stetig zu
- Der Endkunde erwartet eine schnelle Beantwortung
Heute werden die eingehenden E-Mails von Mitarbeitenden bearbeitet und entsprechend kategorisiert. Dies kann bis zu drei Tagen dauern. Um die Kategorien schneller analysieren zu können, entwickeln wir einen ML-Algorithmus, der eingehende E-Mails kategorisiert. In einem zukünftigen Schritt sollen den Mitarbeitenden Vorschläge für die Antwort gemacht werden.
Machine Learning in der Cloud
Unser ML-Modell durchläuft seinen Lebenszyklus (Grafik 2) immer wieder:
- Daten sammeln
- Modell entwickeln
- Modell trainieren
- Modell evaluieren
- Modell bereitstellen
- Modell als Dienst anbieten
- Rückmeldungen sammeln
- Performanz überwachen
Dieser Zyklus wird wiederholt, um das Modell an Veränderungen seiner Umwelt anzupassen. Beobachten wir eine Verschlechterung der Performanz, wird der Zyklus neu angestossen und das Modell mit neuen Daten trainiert oder sogar weiterentwickelt.

Amazon SageMaker unterstützt unsere Modelle im Training und in der Bereitstellung. Als vollständig verwalteter Cloud-Dienst bietet SageMaker die Vorteile der Cloud. In unserem Fall:
Keine Fixkosten
Das Training von unserem aktuellen Modell (BERT) verlangt nach leistungsstarken GPUs. Dank der Flexibilität von Cloud-Ressourcen kann auf die Anschaffung teurer Hardware verzichtet werden, die in unserem Fall auch nur für das Training benötigt werden würden.
Skalierung
Unsere Workloads lassen sich gut über mehrere GPUs oder sogar Nodes verteilen. Wir können ein Training beschleunigen, indem wir mehr Cloud-Ressourcen für eine kürzere Periode beziehen. D. h. wir haben zwar doppelte Kosten für die doppelten Ressourcen, brauchen diese aber nur halb so lange. Die Kosten für ein Training bleiben somit fast konstant.
Keine Wartung
SageMaker stellt die gesamte Plattform bereit, somit müssen keine Hardware und Betriebssysteme verwaltet werden. Unser Team kann sich ganz auf die Entwicklung konzentrieren, da so gut wie keine Wartungsaufgaben anstehen.
SageMaker wurde entwickelt, um Machine Learning in der Cloud einfacher zu machen. SageMaker nimmt Datascientists und Engineers repetitive Arbeit ab, damit sich diese auf das Wesentliche konzentrieren können.

