Interview mit Jesper Richter-Reichhelm

Machine Learning als Microservice im Docker-Container auf einem Kubernetes-Cluster – say what?

Melanie Feldmann

Es ist immer wieder faszinierend zu sehen, wie vielseitig sich Maschinelles Lernen einsetzen lässt. Bei Outfittery unterstützen Algorithmen etwa die Experten dabei, für jeden Kunden das – im wahrsten Sinne des Wortes – passende Teil auszusuchen. Im Interview zur W-JAX 2017 in München erklärt Jesper Richter-Reichhelm, CTO bei der Outfittery GmbH, wie Machine Learning im Unternehmen eingesetzt wird und welche Frameworks sie nutzen. Außerdem beantwortet er die Frage, ob Mensch oder Maschine die besseren Vorschläge macht.

JAXenter: Ihr habt Machine Learning ergänzend zu euren Outfit-Experten eingesetzt. Wie sah das konkret aus? Habt ihr zuerst getestet, was der Algorithmus vorschlagen würde und was der Mensch? Oder habt ihr den Algorithmus andere Fragen lösen lassen als die Experten?

Jesper Richter-Reichhelm: Wir wenden Data Science in zwei verschiedenen Feldern an: Einerseits für die Optimierung von Geschäftsprozessen, z.B. bei der Aufteilung des Einkaufsbudgets. Auf der anderen Seite nutzen wir Machine Learning, um die Stylisten in ihren Entscheidungsprozessen zu unterstützen, etwa durch Empfehlungen zu Kleidergrößen. Bei letzterem geht es darum, den menschlichen Experten Hilfestellung zu geben, die sich aus der Analyse der Daten ergeben. Das erhöht die Effizienz beim Zusammenstellen der Waren, die wir dem Kunden schicken, insbesondere aber auch die Qualität des Inhalts der Box, die wir dem Kunden senden.

JAXenter: Wie sahen die ersten Schritte von der technischen Seite aus?

Stillstand ist langweilig. Wir versuchen uns ständig zu verbessern.

Jesper Richter-Reichhelm: Wir verwenden schon seit einigen Jahren Machine Learning in der Firma. Seit knapp zwei Jahren haben wir die Integration der Machine-Learning-Algorithmen in die IT-Plattform aber auf ein neues Level gehoben, indem wir etwas implementiert haben, was wir „Smart Gateway“ nennen. Aus Sicht der Technik können wir dabei einen Service aufrufen, der eine Entscheidung trifft: einen sogenannten Decision Point. Das kann z.B. bei einem A-B-Test die einfache Entscheidung sein, in welcher Testgruppe ein Kunde ist. Es kann aber auch ein beliebig komplexer Algorithmus dahinter stehen, der die Daten eines Kunden analysiert und daraus eine Handlungsanweisung erstellt, bspw. einen Artikel mit falscher Größe, Style oder Preis nicht an einen Kunden zu schicken. Technisch steht aus Sicht der Aufrufer aber in beiden Fällen nur ein REST-Call von einem Microservice an einen anderen dahinter.

Anfangs war dieses Smart Gateway noch sehr simpel gestrickt, eher ein Prototyp. Inzwischen hat der Service verschiedene Evolutionsstufen durchlaufen und bildet den Standard für die Integration von Machine-Learning-Algorithmen in das Produktivsystem.

JAXenter: Welche Tools oder Frameworks nutzt ihr für den Machine-Learning-Teil eures Systems?

Jesper Richter-Reichhelm: Wir nutzen vor allem Python, Sci-Kit Learn, TensorFlow, Keras, Google Cloud und eben jenes Smart Gateway.

JAXenter: Im Endeffekt seid ihr also bei Machine Learning als Microservice im Docker-Container auf einem Kubernetes-Cluster gelandet. Damit habt ihr so ziemlich jede neue Technik in eurem System. Wie geht ihr mit der damit einhergehenden Komplexität um? Oder ist es am Ende gar nicht komplex?

Der Einsatz von Docker und Kubernetes vereinfacht unseren Alltag.

Jesper Richter-Reichhelm: Das Verpacken von Algorithmen in Docker-Container hat das Handling, d.h. die Übergabe von Data Scientists an unser Data Delivery IT Team vereinfacht – also haben wir es gemacht. Kubernetes hat es dann in einer zweiten Ausbaustufe ermöglicht, diese Container besser zu orchestrieren. Das hilft uns bei Ausfallsicherheit aber auch bei der Skalierung. Unsere Erfahrungen damit waren so gut, dass wir gerade dabei sind, auch den Rest der ca. 60 Microservices in Richtung Docker und Kubernetes zu migrieren.

Der Einsatz von Docker und Kubernetes vereinfacht unseren Alltag, auch wenn wir natürlich etwas dazu lernen mussten. Aber das sehe ich eher als Vorteil, denn als Nachteil. Stillstand ist langweilig; wir versuchen uns ständig zu verbessern.

So haben wir das Smart Gateway und einige verwandte Microservice bspw. in Kotlin implementiert. Auch hier sind mit dieser Technologiewahl sehr zufrieden und die zusätzliche Komplexität ist wirklich überschaubar.

JAXenter: Wie validiert ihr die Ergebnisse der Algorithmen? Gibt es eine Art Test-Vorstufe bevor sie live gehen?

In Sachen Mode glauben wir, dass der Mensch durch Machine Learning nicht zu ersetzen ist.

Jesper Richter-Reichhelm: Üblich ist, dass wir mit einem Proof of Concept anfangen, dessen Performance wir auch mit Daten validieren, die nicht zum Trainieren des Algorithmus herangezogen worden waren. Wenn sich der Algorithmus dort bewährt, deployen wir ihn im sogenannten Shadow Mode. Dabei werden Live-Daten an den Algorithmus übergeben, dessen Ergebnis aber noch nicht in der Produktion angewandt. Wir können also noch einmal „live“ überprüfen, ob alles so funktioniert, wie es gedacht war. Anschließend rollen wir den Algorithmus im Rahmen eines A-B-Tests aus und können so noch einmal den Einfluß auf relevante KPIs überprüfen.

JAXenter: Und zu guter Letzt: Wer macht die besseren Vorschläge. Der Experte oder der Algorithmus?

Jesper Richter-Reichhelm: Wir glauben daran, dass die Mischung aus menschlicher Intelligenz durch den Stylisten in Kombination mit künstlicher Intelligenz die richtige Formel ist, um dem Kunden am Ende die für ihn persönlich relevanteste Modeauswahl zusammenzustellen. Der Stylist ist für uns eine Ergänzung zur künstlichen Intelligenz – er deckt mit seinen persönlichen Fragen den Teil ab, den KI noch nicht leisten kann. Mode ist am Ende ein sehr emotionales und persönliches Thema: Was trage ich? Was drücke ich darüber aus? Wer bin ich? Da sind viele irrationale Komponenten dabei, weswegen wir glauben, dass der Mensch da nicht zu ersetzen ist.

Jesper Richter-Reichhelm hates shopping but loves technology. This may be the main reason why he joined Outfittery where clever algorithms augment human experts to provide men with fashion most relevant to them. Or it is because at Outfittery small delivery teams are at the core of everything. This fits well with his two main philosophies: „You build, you run it!“ and „Trust people to best know what they need to do!“.
Geschrieben von
Melanie Feldmann
Melanie Feldmann
Melanie Feldmann ist seit 2015 Redakteurin beim Java Magazin und JAXenter. Sie hat Technikjournalismus an der Hochschule Bonn-Rhein-Sieg studiert. Ihre Themenschwerpunkte sind IoT und Industrie 4.0.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: