Unerwartete Nebenwirkungen

Im Deutschlandfunk Podcast Die Maschine: Kontrolle ist gut, KI ist besser wird ab der 21. Minute eine schaurige fiktive Geschichte erzählt:

Es wurde eine künstliche Intelligenz entwickelt, die weltweit alle Medikamentenlieferungen kontrolliert und ausführt. Weil das so kritisch war, wurde ganz besonders viel wert auf einen speziellen Algorithmus gewählt, der Benachteiligung einzelner Bevölkerungsgruppen unter Garantie ausschließt, der immer 100% politisch korrekt ist.

Als nun die künstliche Intelligenz aktiviert wurde lief es zunächst gut, doch dann häuften sich in den reichen Ländern die Todesfälle von Diabetikern. Überall in den Krankenhäusern der Industriestaaten fehlt es an Insulin. Wie konnte das passieren?

Naja, das System funktionierte genau so, wie es entworfen wurde. Allerdings berücksichtigte die künstliche Intelligenz den Bedarf an Medikamenten weltweit. Für alle Menschen auf der Erde gab es aber nicht genug Medikamente wie Insulin. Unterversorgte Gebiete vor allem in Asien und Afrika bekamen von der künstlichen Intelligenz mehr Medikamente zugeteilt, die reichen Länder weniger. So wurde der Mangel global gleich verteilt.

Es ist ein ähnliches Dilemma wie zwei brennende Häuser, in denen Menschen eingeschlossen sind, du hast aber nur genug Helfer, um einen Brand zu bekämpfen und die Menschen zu retten, nicht beide Brände. Was machst du?

Das sind ethische Fragen, die eine künstliche Intelligenz nicht automatisch beantworten kann. Wenn also künstliche Intelligenz eingesetzt wird, um Leben zu erhalten, dann sollten wir ganz genau hinsehen. Und gut gemeint ist sicher nicht immer gut gemacht, wie die Geschichte von den Medikamenten zeigt.

ML Vorstellungsgespräch

Es gibt viele Varianten zu diesem Witz im Internet. So cool. Hier ist mein Favorit, den ich auf Twitter gefunden habe:

Interviewerin: Was ist Ihre größte Stärke?

Ich: Experte für maschinelles Lernen.

Interviewerin: Was ist 9 + 10?

Ich: 5.

Interviewerin: Nein. 19.

Ich: Es sind 14.

Interviewerin: Falsch. 19.

Ich: Es ist 19.

Interviewerin: Was ist 2 + 2?

Ich: 19.

Interviewerin: Sie passen perfekt in unser Team!

Wie eine kaputte Ehe

Es gibt Fälle, da denke ich IT und Business sind wie eine kaputte Ehe, und meine Arbeit ist die eines Familientherapeuten. Wie komme ich darauf?

Nun, bei einem Treffen von IT Spezialisten hatte ich mal gefragt, wer von den IT Experten hat den Druck, Infrastruktur schneller bereit zu stellen. Niemand hatte sich gemeldet. Alle meinten, ihre Arbeit sei ok.

Eine Woche später hatte ich bei der Machine Learning Conference ein paar Leute gefragt, wo sie Ihre Anwendungen laufen lassen. Sie sagten in der Public Cloud. Als ich fragte, ob sie überlegen, das auch im eigenen Rechenzentrum zu tun, starrten sie mich groß an: „Ich würde meine eigene IT Abteilung nie fragen, ob sie Machine Learning Anwendungen laufen lassen. Die sind viel zu langsam in der Bereitstellung.“

Kein Wunder, dass die IT Mitarbeiter keinen Druck spüren, dass Business fragt erst gar nicht nach schnellerer Bereitstellung, weil sie aufgegeben haben.

Das ist so wie in einer Ehe, wo die Ehepartner aufgegeben haben zu kommunizieren. Wenn man das lösen will, dann ist das harte Arbeit.

Nun gibt es sicher auch IT Abteilungen, die gut mit ihren Kunden in den jeweiligen Geschäftsbereichen zusammenarbeiten. Aber, liebe IT Leute, seid ihr sicher, dass ihr alle Anforderungen der Fachbereiche kennt? Reden sie noch mit Euch, oder haben sie aufgegeben? Es könnte eine gute Idee sein, Annahmen explizit zu validieren. Vielleicht gibt es ja doch noch ungenutztes Verbesserungspotential. Und liebe Fachbereiche, habt ihr Eure IT in letzter Zeit mal gefragt, ob sie nicht doch schneller reagieren können? Vielleicht habt ihr da Potential in der eigenen Firma übersehen?

Wenn IT zu langsam auf Geschäftsanforderungen reagiert, dann hat das in den wenigsten Fällen etwas mit Technik zu tun, da geht es um Prozesse und Teamstrukturen. Und vor allem geht es um Kommunikation. Vielleicht holt ihr euch Hilfe, um die Kommunikation wieder ins Laufen zu bringen.

Zwischen Hype und außergewöhnlichem Nutzen

Letzte Woche war ich auf der ML Conference in Berlin. Die Konferenz war sehr lehrreich für mich. In den Vorträgen ging es einerseits um die Technik hinter dem maschinellen Lernen, Data Science, Sicherheit und Algorithmen. Aber dann wurde auch darüber besprochen, wie ich ein ML Projekt aufsetze, welche Fehler begangen werden können, und warum Containertechnologien wie Docker oder Kubernetes ML Projekte sehr erleichtern. Am spannendsten fand ich aber die Vorträge, in denen es um konkrete Anwendungen von maschinellem Lernen und künstlicher Intelligenz ging. Und natürlich kamen auch die Gespräche mit anderen Teilnehmern nicht zu kurz.

Mein Fazit

Die meisten Unternehmen experimentieren zurzeit mit maschinellem Lernen. Es gibt wenig Ideen, wie diese neuen Technologien heute schon echte Vorteile für das Geschäft bringen. Der Hype in den Medien – sowohl das Positive als auch das Negative betreffend – war weit weg. Gleichzeitig stimmten alle, mit denen ich gesprochen hatte, darin überein, dass in ein paar Jahren jedes Unternehmen maschinelles Lernen einsetzen muss, um am Markt bestehen zu bleiben. Es wird der kleinste gemeinsame Nenner sein.

Dabei wird es sowohl in der Public Cloud als auch im eigenen Rechenzentrum genutzt werden. Das größte Problem im eigenen Rechenzentrum scheinen die langsamen Prozesse zu sein. „Es dauert viel zu lange, bis ich ein System aufgesetzt bekomme. Da bin ich in der Public Cloud viel schneller,“ wurde mir gesagt.

Aus Sicht meines Arbeitgebers VMware ist mir aufgefallen, dass einige Teilnehmer uns zwar kennen, aber keiner brachte VMware in Verbindung mit maschinellem Lernen und künstlicher Intelligenz. Dabei bietet VMware interessante Optionen an, wenn es um Flexibilität und Sicherheit der ML Anwendungen geht. Nun gut, das behandele ich ein anderes Mal.

Hier sind zwei Highlights aus meiner Sicht:

Wie wir Seeunfälle vermeiden

Die Keynote Data to the Rescue! Preventing Accidents at Sea von Dr. Yonit Hoffman des israelischen Startups Windward hat mich begeistert. Wusstet Ihr, dass 10% aller Schiffe einmal im Jahr eine Havarie haben? Mit Big Data Analysen und maschinellem Lernen hat Windward Modelle entwickelt um Unfälle vorherzusahen und auch zu verhindern. 150 Million Datenpunkte über Schiffspositionen, Schiffstypen, Wetterinformation, Wassertiefen, die Nähe zu Häfen, und viele weitere Daten wurden zusammengebracht und in tiefes Wissen und Verständnis über die Vorgänge auf See umgemünzt. Der Vortrag war wirklich fesselnd.

Die Ergebnisse haben zu einer sehr fruchtbaren und interessanten Zusammenarbeit mit Versicherungsunternehmen geführt. Stellt Euch mal vor, welche Welten da aufeinander treffen. Maritime Versicherungen arbeiten seit 350 Jahren auf ähnliche Weise – oft noch mit Papier. Jetzt entsteht etwas Neues. Und es ist ganz klar vom Geschäft getrieben. So stelle ich mir die Zukunft von maschinellem Lernen vor.

Regenabflussrohre für China

Das spannendste Gespräch war mit einem Mitarbeiter einer Firma, die Sanitäranlagen für große Gebäude und Regenwasser-Abflussrohre herstellt. Eine besondere Herausforderung sind große Flachdächer, z.B. für Industrieanlagen oder Geschäfte. Die Abflussrohre müssen genau den richtigen Durchmesser haben. Sind sie zu klein fließt zu wenig Wasser ab. Sind sie zu groß, entsteht kein Saugeffekt. Beim optimalen Durchmesser der Rohre entsteht ein Sog im Rohr, der das Regenwasser optimal ableitet.
Ich habe gelernt, dass viele Jahre Berufserfahrung nötig sind, um diese optimalen Rohre zu entwerfen. Das ist ein Problem, wenn man in neue Märkte gehen will. Nun hat das Unternehmen es geschafft, mit maschinellem Lernen optimale Regenrohrdurchmesser sehr viel schneller zu bestimmen. Damit ist es nun zum ersten Mal möglich, neue Märkte wie China anzugehen, auch ohne dort Mitarbeiter zu haben, die Jahrzehnte an Erfahrung besitzen.

Wenn maschinelles Lernen und künstliche Intelligenz heute schon auf diese außergewöhnliche Art Mehrwerte liefert, dann werden wir in Zukunft sicher noch mehr Beispiele sehen. Die Grenzen sind unsere Kreativität und Vorstellungskraft. Das Wissen um die Technik reicht nicht aus. Das ist nur eine notwendige, aber keine hinreichende Bedingung für den erfolgreichen Einsatz von maschinellem Lernen. Die Identifizierung von Geschäftsideen, das ist die wahre Herausforderung.

Guter Code ist wie gute Literatur

Die Grundlage vieler Innovationen ist Software. Software frisst die Welt („Software is eating the world“) sagte Marc Andreessen schon im August 2011. Software ist auch die Grundlage von allem maschinellem Lernen. Und woraus besteht Software? Aus Code. Da denke ich, es ist wichtig zu verstehen, was guter Code ist.

Ein guter Kollege empfahl mir zu diesem Thema das Buch „A Philosophy of Software Design“ von John Ousterhout. Der Name des Autors kam mir bekannt vor. Aber ich wusste nicht gleich, warum. Erst in einem späteren Kapitel, in dem John über die Tcl-Skriptsprache schrieb, wurde es mir klar. Ich hatte in den 1990er Jahren viel das Buch „Tcl and the Tk Toolkit“ desselben Autors benutzt. Ich entwickelte damals Linux-Gerätetreiber (ladbare Module für den Slackware Linux 0.99 Kernel) für ein Messsystem in meinem Physikstudium, und ich benutzte Tcl/Tk für die Anwendungs-Oberfläche.

„A Philosophy of Software Design“ ist cool. Es hat mich sehr stark an ein anderes Buch erinnert, das ich diesen Sommer gelesen hatte: „On Writing Well“ von William Zinsser. In dem Buch wird erklärt, wie man Texte aller Art schreibt. Sei klar und nutze kurze Sätze. Schreibe für dich, so wie du es gern lesen möchtest. Guter Code ist wie gute Literatur – er ist zeitlos. Die Software-Design-Tipps sind wie Tipps zum Schreiben von Literatur jeglicher Art – halte es einfach und vermeide Komplexität. Definiere gute Interfaces mit der richtigen Abstraktionsebene. Denke an andere Entwickler, die nach dir mit dem Code arbeiten werden.

Über Jahrzehnte hinweg haben sich diese Regeln nicht geändert. Und auch die scheinbar so agilen und schnellen Innovationen halten sich am Ende an diese Regeln, weil sie auf Code basieren. Und zwar idealerweise auf gutem Code.