In the Code: Machine Learning macht IT zum Leistungssport

Wolfgang Giersche (Zühlke)
Maschinelles Lernen und künstliche Intelligenz sind im Geschäftsalltag angekommen. Viele Unternehmen experimentieren seit längerem mit Vorhersagemodellen wie neuronalen Netzen. Jetzt geht es vielerorts um den langfristig zuverlässigen Einsatz. Was das für ein Unternehmen bedeutet, erklärt Wolfgang Giersche von Zühlke.

Wir leben in Zeiten immer schneller voranschreitender Entwicklungen. Immer schneller müssen Unternehmen auf veränderte Bedingungen reagieren, und immer schneller wachsen Datenmengen, in denen wir relevante Informationen zu finden hoffen.
 
Dieses Bild reflektiert keine neue Einsicht, sondern einen jahrzehntelangen Trend. Neu ist dagegen eine Erkenntnis, die sich spätestens seit Ankunft des maschinellen Lernens in einer wachsenden Zahl von Unternehmen durchsetzt: "Jetzt wird's richtig sportlich!". Der Titel gilt auf der einen Seite für Entscheider und lässt sich auf der anderen Seite umso treffender für die IT formulieren.

Ein Kollege, den ich sehr schätze, hat mal gesagt: "Wenn es dir so richtig gut geht, dann ist das ein klares Zeichen dafür, dass du nicht schnell genug fährst". Und so sehr ich die Menschen verstehe, die jetzt vehement widersprechen, Entschleunigung suchen und sich beruflich für mehr Ruhe entscheiden: Wenn ich in einem grossen Unternehmen arbeite, das unter dem aktuellen Wettbewerbsdruck bestehen und nachhaltig florieren soll, habe ich bereits die gegenteilige Entscheidung getroffen und mich für den Sportwagen entschieden. Diese Kolumne richtet sich an diejenigen Techies und Entscheider, die wie ich ganz bewusst und mit sportlichem Ehrgeiz an diesem immer schneller werdenden Wettrennen teilnehmen wollen.

Die Parallelen zwischen modernem Business und Sport sind essentiell und nicht nur zur Inspiration gedacht. Stellen Sie sich einen Formel-1-Fahrer vor: Wenn das Rennen schneller wird, muss der Pilot grössere Risiken in Kauf nehmen, was ihm mehr Wachsamkeit abverlangt. Fehlentscheidungen haben gravierendere Auswirkungen. In kürzerer Zeit müssen mehr Informationen verarbeitet werden. Disziplin, Teamwork und eine ambitionierte aber ausgeglichene Geisteshaltung sind zwingend für einen Erfolg. Zwar müssen wir nicht immer die Sieger sein, aber auf dem letzten Platz wollen wir sicher auch nicht landen.
 
Genau in dieser Situation befinden sich die meisten Unternehmen heute. Und weil die IT seit jeher Aug' und Ohr und Gedächtnis und seit Neuestem auch Teil der Intelligenz des Organismus' Unternehmen ist, stehen wir IT-Mitarbeiter und unsere Manager in besonderer Verantwortung.

Doch was bedeutet das konkret für Software-Entwickler, Data Scientists und Entscheider?

Mehr Teamwork: Ich sehe eine gefährliche Geisteshaltung, die ich für überwunden hielt. Wenn ich "I'm a Data Scientist, not an Engineer" höre, erinnere ich mich an: "I'm a developer, not an operator". Heute haben wir DevOps, Infrastructure as Code und immer mehr Teams mit gemischten Verantwortlichkeiten. Man versteht und respektiert einander. Natürlich gibt es noch immer Unterschiede, etwa in den Arbeitszeitbedingungen, aber man arrangiert sich. In meinen aktuellen Projekten im Bereich Data Analytics höre ich immer wieder, dass manche Data-Analysten auf gar keinen Fall produktionsreifen Code schreiben wollen oder können. Eine aus meiner Sicht klar betriebsgefährdende Geisteshaltung, die Sie nicht hinnehmen sollten. Ich verstehe auch nicht, warum Data Scientists nicht in Entwicklerteams integriert werden, sondern mitunter im Unternehmensorganigramm an ganz anderer Stelle angesiedelt sind.
 
Andrej Karpathy, Head of AI bei Tesla, beschreibt in seinem Blog "Software 2.0" Maschine Learning (ML) als eine neue Art von Software Engineering (SWE). Ich kann dem nur zustimmen. Und weil ML und SWE langfristig ineinanderfliessen werden, müssen die unterschiedlichen Team-Mitglieder einander respektieren und ihre Aufgaben gemeinsam anpacken. Dann stehen die Chancen auf eine gute Position zu den Mitbewerbern besser.

Mehr verstehen: Wir alle müssen dazulernen. Noch mehr als bisher. Entscheider müssen lernen, die Ergebnisse maschinellen Lernens korrekt zu interpretieren angemessen zu hinterfragen. In einem sehr lehrreichen Webinar erklärt Debra Logan, Top-Analystin bei Gartner, warum Datenkompetenz (Data Literacy) in Zukunft zur Grundausbildung des modernen Managers gehört.
Software-Entwickler und Data Scientists müssen voneinander lernen, um die vereinte Komplexität smarter Applikationen zu verstehen. Software-Betriebsleute müssen lernen, was es heisst, ein lernendes und somit sich veränderndes System sicher zu betreiben.
Meine Empfehlung: ML-Kurse für Software Engineers und SWE-Kurse für Data Scientists sowie arbeiten in gemischten Projektteams.

Mehr Risiko: Schneller fahren bringt mehr Risiko. Zwangsläufig. Mancherorts, wo wir uns in der Vergangenheit Risikovermeidung leisten konnten, muss heute besseres Risikomanagement helfen. Lernende Software in der Produktion erfordert schnellere Eingriffsmöglichkeiten. Continuous Delivery und Deployment-Varianten wie A/B-Tests oder Canary-Releases bieten hier die nötigen Hebel zur besseren Kontrolle. Eine Laufzeitumgebung nach dem Modell der Container-Orchestrierung wie etwa mit Docker und Kubernetes macht solche Prozesse einfacher oder überhaupt erst möglich.
Meine Empfehlung: Release-Strategie und Deployment-Prozess modernisieren. Das lohnt sich übrigens auch, wenn man noch nicht über ML nachdenkt.

Mehr Technologie: Data Analysten bringen häufig ihre eigenen Arbeitsmittel mit. Das sind etwa Entwicklungsumgebungen oder auch Programmiersprachen. Wo wir uns in der Vergangenheit noch erlauben konnten, auf Konsolidierung zu bestehen ("Bei uns gibt's nur Java..."), müssen wir heute verschiedene Werkzeuge und eben auch Sprachen wie R und Python oder Scala in Erwägung ziehen. Einer meiner Kunden hat mal gesagt: "Finden Sie mal einen Data Analyst, der bereit ist, etwas anderes als R zu programmieren.".
Meine Empfehlung: Lassen Sie kurzfristig Technologievielfalt zu, sorgen Sie aber eben mittels Container-Technologie (Docker) für die nötige Isolation zwischen den entwickelten Komponenten. Mittel- und langfristig sollten Sie versuchen, eine Technologieplattform zu identifizieren, die sowohl das explorative Arbeiten des Data-Analysten unterstützt als auch die Anforderung der Unternehmenstauglichkeit befriedigend erfüllt. Die aktuell populärsten Sprachen, die diesen Stretch bewältigen, sind meiner Meinung nach Scala und Python, wobei Python eher Effizienz unterstützt und Scala Wartbarkeit.

Fazit: Ich habe die Herausforderungen, die sich mit dem Einsatz von maschinellem Lernen ergeben, bewusst deutlich aufgezeigt: Es kostet mehr. Vielleicht nicht mehr Geld, weil so einiges als Open-Source-Komponenten verfügbar ist. Aber es kostet sicher mehr Disziplin, mehr Konzentration, mehr Lernbereitschaft und mehr Ehrgeiz. Ich finde es wichtig, sich der Realität zu stellen. Wir fahren heute viel schneller als noch vor zehn Jahren. Lassen Sie uns von denen lernen, die seit jeher Geschwindigkeit zu meistern wissen, den Leistungssportlern. Ein gemeinsames Ziel haben wir ja mit denen: Wir wollen gewinnen! Und wenn wir nicht gewinnen können, dann wollen wir doch mindestens mit auf dem Podest stehen. (Wolfgang Giersche)
 
Über den Autor:
Wolfgang Giersche ist theoretischer Kernphysiker, Senior Business Consultant und Partner bei Zühlke und befasst sich vor allem mit den organisatorischen und technischen Herausforderungen rund um den produktiven Betrieb von Machine-Learning-Artefakten. Um technisch auf der Höhe zu bleiben, blogt er In seiner Freizeit gelegentlich über ML-Themen und entwickelt einen Maschine-Learning Hackathon.