Künstliche Intelligenz aus der Cloud

Deep-Learning-Frameworks und Machine-Learning-Services aus der Cloud ermöglichen auch kleineren Unternehmen eine erschwingliche und effektive Nutzung der neuen AI-Technologien.

von Thomas Hafen 12.04.2017 14:30

Die Algorithmen für maschinelles Lernen sind zum grössten Teil schon seit mehreren Jahrzehnten bekannt. Dennoch liess der Durchbruch im kommerziellen Umfeld lange auf sich warten.

Erst in den vergangenen zwei bis drei Jahren hat Machine Learning enorm an Dynamik und Bedeutung gewonnen. Gründe dafür gibt es mehrere, sagt Axel Köhler, Principal Solution Architect beim Grafikchip-Hersteller Nvidia: «Zum einen entstehen derzeit praktisch end­lose Speicherkapazitäten und eine Flut an Daten in allen möglichen Formen, zum anderen ermöglicht die Verfügbarkeit leistungsfähiger Grafikprozessoren ein schnelles und gleichzeitig günstiges paralleles Programmieren.»

    © Quelle: Chrisp Research

Neben dem Mangel an Daten, Speicher- und Rechenkapazität bremste auch das Fehlen von Standards die Entwicklung von Machine Learning über lange Zeit. «Die Ansätze waren sehr oft akademisch geprägt, die Lösungen mehr oder weniger handgestrickt und kaum auf kommerzielle Projekte übertragbar», sagt Bernd Fondermann, Gründer des Machine-Learning-Spezialisten Brainlounge.

Machine Learning wird erschwinglich

Dies hat sich allerdings inzwischen massiv verändert. Immer mehr Tools, Technologien und Services stehen zur Verfügung, die es Unternehmen ermöglichen, die Vorteile von Machine Learning zu nutzen, ohne zuvor jahrelang in Forschung und Entwicklung investieren zu müssen. «Plötzlich ist es für die breite Masse von Entwicklern möglich geworden, Machine Learning einzusetzen, und das zu überschaubaren Kosten», sagt Roman Schacherl, Geschäftsführer der softaware GmbH, die Lösungen hauptsächlich auf Basis von Microsoft-Technologien entwickelt und unter anderem die auf Azure verfügbaren Cognitive Services des Herstellers einsetzt.

Der Effekt auf die Wirtschaft könnte ausserordentlich gross sein. Das McKinsey Global Institute (MGI) rechnet je nach Branche und Art der Tätigkeit durch die Automatisierung von Wissensarbeit mit einem Produktivitätszuwachs bis 2025 von 30 bis 55 Prozent. Allein durch den Einsatz von Machine Learning in der Spracherkennung liessen sich nach Berechnungen des MGI weltweit bis zu drei Billionen Dollar an Arbeitskosten einsparen.

Vor allem die sogenannten Frameworks haben die Verbreitung von Machine-Learning-Technologien vorangetrieben. «ML-Frameworks spielen eine wichtige Rolle bei der breiten Anwendung von Machine Learning in der Praxis», sagt Ralf Herbrich, Director Machine Learning Science bei Amazon Web Services (AWS). Als Framework definiert er «die Zusammenfassung von Software-Komponenten, die es erlaubt, Algorithmen zum automatischen Erkennen von Mustern und der Vorhersage von zukünftigen Ereignissen auf Daten anzuwenden». Wichtig sei zudem, dass die Komponenten sinnvoll gruppiert würden und eine Schnittstelle für Programmierer und Data Scientists zur Verfügung stehe, so Herbrich weiter.

Nächste Seite: Deep-Learning-Frameworks

Deep-Learning-Frameworks

Die derzeit am meisten diskutierten Frameworks stammen aus dem Bereich Deep Learning. Bei diesem Ansatz kommen komplexe neuronale Netze zum Einsatz, die aus tausend und mehr Neuronenschichten bestehen können. Im Folgenden stellt Computerworld einige Beispiele für derzeit verfügbare Deep-Learning-Frameworks vor.

64 Prozent der DACH-Unternehmen beschäftigen sich schon aktiv mit Machine Learning. 36 Prozent planen oder evaluieren noch nicht in diese Richtung. 64 Prozent der DACH-Unternehmen beschäftigen sich schon aktiv mit Machine Learning. 36 Prozent planen oder evaluieren noch nicht in diese Richtung. © Quelle: Chrisp Research

Caffe: Das von Yangqing Jia am Berkeley Vision and Learning Center (BVLC) entwickelte Framework Caffe ist vor allem auf Schnelligkeit ausgelegt und kann zur Berechnung sowohl auf Hauptprozessoren (Central Processing Unit, CPU) wie auch auf Grafikeinheiten (Graphics Processing Unit, GPU) zugreifen. Caffe unterstützt die von Nvidia entwickelte Programmiertechnik CUDA (Compute Unified Device Architecture) sowie die ebenfalls von dem Grafikprozessor-Hersteller stammende cuDNN-Bibliothek (CUDA Deep Neural Network) und kann mit einer Nvidia-K40-GPU mehr als 60 Millionen Bilder pro Tag analysieren.

Die Standard-Plattform für den Betrieb von Caffe ist Ubuntu Linux, das Framework lässt sich aber auch auf anderen Linux-Distributionen sowie Mac OS oder in einem Docker-Container installieren.

Für die Windows-Installation gibt es auf GitHub einen eigenen Branch. Wer für die GPU-Programmierung OpenCL (Open Computing Language) statt der Nvidia-Technik CUDA einsetzen möchte, findet dazu ebenfalls einen Zweig auf GitHub. Caffe ist ausserdem als vorkonfiguriertes Amazon Machine Image (AMI) in der AWS-Cloud verfügbar.

Microsoft Cognitive Toolkit: Das besser unter seinem früheren Namen Computational Network Toolkit (CNTK) bekannte Framework zeichnet sich vor allem durch seine verteilte Architektur aus. Sie erlaubt es, Modelle über mehrere GPUs oder Server hinweg zu trainieren.

Das Toolkit bietet verschiedenste Lernmethoden für die Sprach-, Bild- und Texterkennung, darunter Feed-Forward-Netze (FFN), rekurrente neuronale Netze (RNN) vom LSTM-Typ (Long Short-Term Memory), gefaltete Netze (Convolu­tional Neural Networks, CNN), eine Batch-Normalisierung für schnelleres Lernen sowie eine sequenzielle fokussierte Verarbeitung von Informationen (Sequence-to-Sequence with Attention). Nach Angaben des Herstellers findet das Toolkit unter anderem in Microsoft-Diensten wie Skype, Cortana und Bing, aber auch in der Spielekonsole Xbox Anwendung.

Veles: Auch diese von russischen Entwicklern bei Samsung entwickelte Deep-Learning-Lösung ist als verteilte Plattform konzipiert. Das in Python geschriebene Framework unterstützt OpenCL und CUDA sowie das sogenannte Flow-based Programming, bei dem Applikationen als Netzwerk von Prozessen betrachtet werden. Modelle lassen sich aus mehr als 260 Einheiten zusammensetzen und ebenso auf einem PC wie auf einem High-Performance-Cluster trainieren. Aus den trainierten Modellen können die Entwickler automatisch Applikationen extrahieren und diese als Cloud-Service zur Verfügung stellen.

Nächste Seite: TensorFlow, Theano, Torch und Apache Spark MLlib

TensorFlow: Das vom «Google Brain»-Team entwickelte Framework ist mittlerweile unter einer Apache-2.0-Open-Source-Lizenz frei auf GitHub verfügbar. Es soll schneller und robuster als der bereits 2011 von Google entwickelte Vorgänger DistBelief sein. Google und andere Unternehmen des Alphabet-Konzerns nutzen TensorFlow unter anderem in der Forschung, aber auch in diversen Produkten wie Google Now, Gmail, Google Fotos, Google Search, Google Translate oder Youtube.

Das Framework beruht auf einem Graphen-Modell, mathematische Operationen sind als Knoten in den Graphen repräsentiert, während die Ränder der Graphen multidimensionale Datenräume (Tensoren) darstellen. Wie bei Veles oder auch dem Microsoft Cognitive Toolkit lassen sich Berechnungen auf einem oder mehreren Rechnern per CPU und GPU durchführen.

TensorFlow bietet mit der grafischen Oberfläche TensorBoard eine Möglichkeit, die verwendeten Graphen zu visualisieren. «So bekomme ich als Entwickler ein Gefühl dafür, was im System vor sich geht», sagt Bernd Fondermann von Brainlounge. «Tools wie TensorBoard erlauben mir zu sehen, was wirklich passiert, und zu erkennen, welche Teilaspekte des Modells vielleicht nicht so funktionieren wie gewünscht.»

Theano: Die Open-Source-Bibliothek für Python erlaubt es, mathematische Operationen mit multidimensionalen Arrays zu definieren, zu optimieren und zu evaluieren. Die Syntax ähnelt der von NumPy, einer Python-Erweiterung für multidimensionale Arrays und Matrices. Das am Montréal Institut für Learning Algorithms (MILA) der Universität von Montréal entwickelte Framework unterstützt ebenfalls die Verwendung von GPUs zur Berechnung und zeichnet sich unter anderem durch erweiterte Funktionen zur Fehlererkennung und -diagnose aus.

Machine Learning ist für viele DACH-Unternehmen Teil ihrer digitalen Strategie. Auch zur Optimierung von Prozessen sowie zur Optimierung der Customer Experience dienen diese Projekte. Machine Learning ist für viele DACH-Unternehmen Teil ihrer digitalen Strategie. Auch zur Optimierung von Prozessen sowie zur Optimierung der Customer Experience dienen diese Projekte. © Quelle: Chrisp Research

Torch: Das objektorientierte, ebenfalls als Open Source verfügbare Framework Torch verwendet eine auf Lua basierende Skriptsprache sowie den Just-in-Time-Compiler LuaJIT. Es wurde bereits 2002 von einem Forscher-Team um Ronan Collobert konzipiert und kommt unter anderem bei Facebook, IBM und dem Internet-Dienstleister Yandex zum Einsatz.

Gegenüber der Python-basierten Konkurrenz zeichnet  sich das Framework laut Collobert, der heute bei Facebook arbeitet, durch Schnelligkeit, Flexibilität und einfache Inte­gration von C- oder C++-Bibliotheken aus. Prototypen sollen sich ausserdem sehr einfach in Endprodukte verwandeln und auf verschiedensten Endgeräten und Plattformen verwenden lassen.

Apache Singa: Nicht unerwähnt bleiben soll das aus dem Apache-Kosmos stammende Apache Singa. Singa soll verteiltes Lernen auf Big-Data-Infrastrukturen schnell und skalierbar ermöglichen, indem sowohl das Lernmodell als auch die Trainingsdaten partitioniert und auf verschiedene Knoten eines Clusters verteilt werden. Der Code ist modular aufgebaut und lässt sich um verschiedene Lernmodelle oder Algorithmen erweitern.

Apache Spark MLlib: Hierbei handelt es sich um die Machine-Learning-Bibliothek für das Hadoop-Framework Spark. Sie lässt sich sowohl mit NumPy in Python als auch mit R-Bibliotheken verwenden. Spark MLlib kann ohne zusätzliche Installation auf einem Hadoop-2-Cluster verwendet werden. Spark lässt sich aber separat lokal, auf einem Amazon-EC2-Cluster oder über den Cluster-Manager Apache Mesos in­stallieren.

Hier nochmal eine Auswahl an ML-Frameworks als PDF-Datei

Bot-Frameworks

Obwohl Machine Learning (ML) und Künstliche Intelligenz (KI) häufig synonym verwendet werden, sind sie nicht notwendigerweise deckungsgleich. ML-Algorithmen lassen sich auch für Zwecke verwenden, die nichts oder nur sehr entfernt etwas mit KI in dem Sinn zu tun haben, wie sie die Pioniere auf diesem Forschungsgebiet, etwa Marvin Minsk, Allan Turing oder auch John McCarthy definierten.

Als KI im engeren Sinn kann man dagegen Chatbots bezeichnen. Sie sind immerhin kurz davor, den Turing-Test zu bestehen, das heisst, sie lassen sich nur noch schwer von einem menschlichen Gesprächspartner unterscheiden.

Eine Reihe von Frameworks bietet Unterstützung beim Aufbau eines eigenen Chatbots, so etwa die Facebook Bot Engine des 2015 von Facebook übernommenen Start-ups Wit.ai (https://wit.ai), das webbasierte Framework API.AI (https://api.ai) von Speaktoit oder die Customer Experience Platform (CXP) von Aspect Software (www.aspect.com/de). Microsoft bietet mit dem Bot Framework (https://dev.botframework.com) ebenfalls eine Plattform, über die sich Konversationssysteme entwickeln lassen.

Nächste Seite: Frameworks as a Service

Frameworks as a Service

Frameworks wie die genannten haben den Einstieg in Machine Learning wesentlich erleichtert. Man muss sie in der Regel allerdings immer noch herunterladen und installieren. Noch einfacher geht es mit den Machine-Learning-Services der Cloud-Provider. Sie lassen sich per API aufrufen und stellen quasi schlüsselfertig Funktionen wie Spracherkennung oder Bildanalyse zur Verfügung. Amazon und Microsoft, aber auch Google und IBM, offerieren eine grosse Palette solcher Dienste.

In Amazon Machine Learning (AML) kann der Anwender bereits vorhandene Daten, die zum Beispiel als CSV-Dateien in Amazon S3, dem Data Warehouse Redshift oder der My­SQL-Datenbank RDS vorliegen, zur Modellierung und zur Erstellung von Prognosen verwenden. «Der Fokus liegt dabei auf der Einfachheit der Modellierung der Daten – der Service ermittelt automatisch die prediktivsten Eingabedaten und verlangt keine Kenntnisse der mathematischen Modelle von Machine Learning», sagt Ralf Herbrich von AWS. AML setzt laut Anbieter auf die gleichen Algorithmen, die Amazon auch intern für die Datenanalyse verwendet, und ist hoch skalierbar. Selbst Milliarden von Prognosen pro Tag sollen kein Problem sein.

Amazon Lex erkennt gesprochene Sprache

Auf seiner Entwickler- und Kundenkonferenz re:invent hat AWS im vergangenen Jahr zudem Services vorgestellt, die es dem Anwender ermöglichen, Künstliche Intelligenz per API in seine Produkte einzubauen. Amazon Lex stell eine Konversationsschnittstelle zur Verfügung, die gesprochene Sprache erkennt und automatisch in Text umwandelt. Dabei berücksichtigt der Service den Kontext und versucht, die Absicht des Sprechers zu verstehen. Lex ist derzeit noch in einer Vorversion verfügbar und kann kostenlos getestet werden.

Amazon Polly hat es dagegen schon zur Produktreife geschafft. Dieser Service konvertiert als Gegenstück zu Lex Text in gesprochene Sprache. Dafür stehen 47 Stimmen und 24 Sprachen zur Auswahl. Bezahlt wird nach der Zahl der Zeichen, die Polly in Sprache umwandelt. In den ersten zwölf Monaten sind für Neukunden fünf Millionen Zeichen pro Monat frei, anschliessend  werden pro eine Million Zeichen 4 Dollar fällig.

Amazon Rekognition schliesslich fügt Anwendungen per API Bilderkennungsfähigkeiten hinzu. Gesichter, Objekte oder auch Szenen lassen sich analysieren und kategorisieren. Bei Rekognition zahlt man pro Anzahl verarbeiteter Bilder und gespeicherter Vektorrepräsentationen von Gesichtern (Gesichts-Metadaten). In den ersten zwölf Monaten sind pro Monat 5.000 Bilder und bis zu 1000 Gesichts-Metadaten frei. Darüber hinaus zahlt der Anwender je nach Aufkommen zwischen 0,4 und 1 Dollar pro 1.000 verarbeiteter Bilder und 1 US-Cent je 1.000 monatlich gespeicherter Gesichts-Metadaten.

Microsoft setzt auf Azure Machine Learning

Microsofts Pendant zu AML nennt sich Azure Machine Learning. Mit Hilfe der grafischen Oberfläche von Azure Machine Learning Studio sollen sich damit Predictive-Analytics-Anwendungen per Drag and Drop zusammenstellen lassen. «Im Idealfall dauert es vom Modell bis zur produktiven Lösung nur wenige Minuten, weil oft nicht einmal das Kodieren notwendig ist», sagt Laura Geier, Commercial Lead IoT & Advanced Analytics bei der Microsoft Deutschland GmbH.

Als Platform as a Service (PaaS) ist die Cortana Intelligence Suite konzipiert, die Microsoft seit 2015 anbietet. Sie hält unter anderem Schnittstellen zur digitalen Sprachassistentin Cortana bereit, die sich so in eigene Produkte integrieren lässt. Gleich 25 solcher KI-Services bieten die Microsoft Cognitive Services. Per API lassen sich Fähigkeiten wie die Erkennung von Gesichtern, Emotionen oder Bildinhalten, Sprachverständnis, Textanalyse und -übersetzung oder auch Kaufempfehlungen integrieren.

Nächste Seite: Die richtige Strategie

Die richtige Strategie

    © Quelle: Chrisp Research

Welches Framework für den Einsatz im Unternehmen das richtige ist, oder ob womöglich Cloud-Services die bessere Alternative sind, hängt von vielen Faktoren ab, nicht zuletzt davon, wie viel Know-how, Budget und Zeit für die Entwicklung zur Verfügung stehen. Die Experten sind sich einig, dass es auf jeden Fall besser ist, klein anzufangen: «Zurzeit sind viele ML-Projekte vor allem experimentell angelegt», sagt Laura Geier von Microsoft. Schnelles Scheitern und eine rasche Korrektur der Ansätze gehörten zum Prozess notwendig dazu, so Geier weiter. «Wer dafür erst viel investieren und installieren muss, kann nicht wirklich innovativ sein.»

Ohne Daten funktionieren Machine-Learning-Algorithmen nicht

Diese Einsicht ist nicht immer gegeben, weiss Software-Experte Fondermann: «Oft werden grosse Projekte gestartet, weil der Vorstand der Meinung ist, man müsse jetzt Machine Learning machen. Das funktioniert nicht.» Er empfiehlt, dass stattdessen kleine Teams mit schlüssig definierten Projekten beginnen sollten. «Dabei muss nicht nur das technische Ziel klar sein, sondern auch, welchen Wertbeitrag das Projekt zum Geschäftserfolg des Unternehmens leistet», so Fondermann.

Dem pflichtet Roman Schacherl bei: «Man sollte sich einen Bereich suchen, der schnelle Erfolge verspricht, wo aber auch die Risiken überschaubar bleiben.»

AWS-Director Herbrich rät, neben der Auswahl an Algorithmen, die ein Machine-Learning-Framework bietet, vor allem auf dessen Kompatibilität mit verschiedenen Speichersystemen und Datenbanken zu achten. «Ohne Daten funktionieren Machine-Learning-Algorithmen nicht.»

Fazit

Frameworks haben Machine Learning demokratisiert und selbstlernende Systeme aus der rein akademischen Anwendung in die wirtschaftliche Machbarkeit gebracht. Entwickler benötigen heute kein Mathematikstudium oder eine jahrelange Ausbildung zum Data Scientist mehr, um Machine-Learning-Algorithmen gewinnbringend in ihren Projekten einsetzen zu können. Welches Framework dabei letztendlich das richtige ist, darüber entscheidet neben dem Einsatzzweck vor allem auch der Erfahrungshintergrund der beteiligten Entwickler.

Wer bereits über viel Wissen und Erfahrung in Java verfügt, wird sich mit einem Framework wie Deep­learning4J sicher leichter tun, wer ohnehin ein Hadoop-Cluster unterhält, ist mit Spark und dessen MLlib-Bibliotheken gut bedient. Ähnliches gilt für die Ser­vices der grossen Cloud-Provider: Wer ohnehin schon die Amazon Web Services nutzt, wird Amazon Machine Learning den Vorzug geben, ein Microsoft-Kunde Azure Machine Learning oder die Cogni­tive Services integrieren.

Fehler werden erst Jahre später entdeckt

Open Source: Das vom chinesischen Suchmaschinenanbieter Baidu entwickelte Framework PaddlePaddle steht seit Herbst 2016 unter einer Apache-2.0-Lizenz frei zur Verfügung. Open Source: Das vom chinesischen Suchmaschinenanbieter Baidu entwickelte Framework PaddlePaddle steht seit Herbst 2016 unter einer Apache-2.0-Lizenz frei zur Verfügung. © pd

Die Einfachheit und der leichte Zugang, den Frameworks zu Machine Learning bieten, hat jedoch auch einen Haken: Je einfacher es ist, intelligente Dienste wie Bild- oder Sprach­erkennung in Produkte und Services zu integrieren, desto weniger Gedanken werden sich Entwickler womöglich darüber machen, was sie da eigentlich tun. Schon traditionell programmierte Software hat oft Fehler, deren Auswirkungen manchmal erst nach Jahren im Betrieb sichtbar werden. Noch viel mehr Überraschungen kann man beim Einsatz von Ma­chine Learning erleben. Oft bleibt im Dunkeln, was genau in den Tiefen der neuronalen Netze passiert und wie diese zu Ergebnissen kommen. Zudem ist Lernen keine Einbahnstrasse.

Die Entscheidungen, die beispielsweise selbstlernende Systeme für Betrugserkennung oder Produktmarketing auf Basis des Nutzerverhaltens treffen, haben ihrerseits Einfluss auf das Verhalten der Anwender. Solche Rückkopplungsschleifen können unerwünschte Effekte nach sich ziehen und müssen bedacht werden. «Wir haben es bei Machine Learning mit neuen Paradigmen der Programmierung zu tun», sagt Bernd Fondermann, «Entwickler müssen lernen, damit umzugehen.»

Nächste Seite: Kurzinterview mit Lars Schwabe, Leiter Data Insight Lab bei Lufthansa Industry Solutions

Kurzinterview mit Lars Schwabe, Leiter Data Insight Lab bei Lufthansa Industry Solutions

Lars Schwabe ist der Leiter des Data Insight Lab im Technologie Innovation Center der Lufthansa Industry Solutions. Lars Schwabe ist der Leiter des Data Insight Lab im Technologie Innovation Center der Lufthansa Industry Solutions. © Lufthansa

Lars Schwabe leitet das Data Insight Lab im Technology Innova­tion Center der Lufthansa Industry Solutions, das konzerninterne, aber auch externe Kunden bei der Umsetzung ihrer Datenstrategie unterstützt. Im Gespräch mit Computerworld erklärt er, welche Rolle Machine Learning spielt und was Unternehmen beim Einsatz von Machine-Learning-Frameworks beachten müssen.

Computerworld: Herr Schwabe, Sie setzen in Ihren Projekten häufig Machine-Learning-Methoden ein. Ist der Zugang zu Machine Learning durch die heute verfügbaren Frameworks leichter geworden?

Lars Schwabe: Ja, der Einstieg ist dadurch sehr viel einfacher. Frameworks schaffen so etwas wie Standards. Unternehmen müssen nicht mehr für jedes Machine-Learning-Projekt das Rad neu erfinden. Natürlich braucht man neben den Tools auch das Verständnis dafür, was die zugrunde liegenden Algorithmen tun und welche mathematischen Prinzipien dahinterstehen. Anders als in den 1990er-Jahren, in denen das Feld noch sehr stark wissenschaftlich geprägt war, passiert heute aber der Fortschritt bei Machine Learning vor allem an der Schnittstelle zwischen den Technologien und den Algorithmen.

Computerworld: Wie findet ein Unternehmen das richtige Framework für seine Zwecke?

Schwabe: Auf diese Frage gibt es keine einfache Antwort. Wie bei anderen Technologien auch muss jeder CIO oder Entwicklungs-Chef die bestehende IT-Infrastruktur, das im Unternehmen vorhandene Know-how, die Randbedingungen und Abhängigkeiten berücksichtigen. Wenn es beispielsweise sehr viele Entwickler mit Java-Kenntnissen gibt, wird die Antwort anders ausfallen, als wenn dies nicht der Fall ist. Prinzipiell kann man aber zwei grosse Strömungen bei den Frameworks unterscheiden: Das sind zum einen Entwicklungen im Python-Umfeld, zum anderen ist es die Open-Source-Lösung Apache Spark mit ihren Machine-Learning-Bibliotheken.

Computerworld: Bieten die verfügbaren Frameworks einen durchgängigen Workflow von der Modellierung bis hin zum operativen Einsatz?

Schwabe: Nein, so weit sind wir noch nicht. Es gibt zum Beispiel noch keine Open-Source-Tools oder kommerziellen Anwendungen, um Modelle zu verwalten, sie anlernen, überwachen und archivieren zu können. Zwar existieren hier und da proprietäre Insellösungen, aber oft mangelt es an Flexibilität und ein Vendor-Lock-in droht. Es fehlt derzeit so etwas wie DevOps für Data Science und Machine Learning. Dafür bräuchten wir auch eine neue Rolle in der IT, die ich in Anlehnung an den Data Engineer als Machine Learning Engineer bezeichne.

Computerworld: Braucht man im Unternehmen denn zwingend solche Experten? Die Cloud-Provider bieten doch einfach zu integrierende Machine-Learning-Services, die sich über APIs ansprechen lassen.

Schwabe: Der Trend geht tatsächlich in diese Richtung. Jeder Frontend-Entwickler ist heute in der Lage, sich aus diesen Services zum Beispiel einen Chatbot zusammenzuklicken. Auf lange Sicht ist das aber eine problematische Strategie.

Computerworld: Warum? Schliesslich lassen sich so doch sehr schnell Ergebnisse erzielen.

Schwabe: Ja, aber die Kompetenz für diese Technologien liegt beim Dienstleister. Die spannende Frage ist, ob es den Unternehmen gelingt, selbst das notwendige Know-how für Machine Learning aufzubauen. Damit will ich nicht sagen, dass man alles selbst entwickeln muss. Wer aber weiss, was er tut, und bei Bedarf auch tiefer in die Materie einsteigen kann, ist klar im Vorteil, macht sich nicht abhängig von einem Provider und behält vor allem auch die Hoheit über seine Daten. Man sollte kritisch abwägen, ob man Kernkompetenzen an technische Dienstleister auslagern will.

Computerworld: Ist nicht Schnelligkeit auch ein wichtiger Erfolgsfaktor? Der Wettbewerb ist womöglich schon längst davongezogen, bevor ich im Unternehmen das nötige Know-how aufgebaut habe.

Schwabe: Es spricht nichts dagegen, die Services von Dienstleistern zu nutzen, um schnell zu Ergebnissen zu kommen. Der Entscheider im Unternehmen muss aber das ganze Bild sehen. Er muss sich fragen, ob das reicht. Man kann schnell mit APIs Erfahrungen sammeln, sollte aber begleitend intern Kompetenz aufbauen. Sonst besteht die Gefahr, dass man sich «Code Monkeys» züchtet, die nichts anderes können, als Mashups zusammenzuklicken.

Computerworld: Sie haben von Abhängigkeiten gesprochen, die man beim Einsatz von Machine Learning beachten sollte. Was genau verstehen Sie darunter?

Schwabe: Wer «schnell mal» mit Machine Learning eine Lösung aufbaut und einsetzt, geht technische Schulden ein. Das muss nicht notwendigerweise ein Problem werden, man sollte sich dessen aber bewusst sein.

Computerworld: Was sind das für technische Schulden?

Schwabe: Lernende Systeme treffen anhand der zur Verfügung gestellten Daten Vorhersagen und letztendlich auch Entscheidungen, die wiederum Einfluss auf die Daten haben können. Diese Abhängigkeiten sind oft implizit und überraschend.

Computerworld: Können Sie das an einem Beispiel erläutern?

Schwabe: Nehmen Sie etwa ein System, das Kaufabbrüche verhindern soll, indem es potenzielle Abbrecher erkennt und ihnen zusätzliche Rabatte offeriert. Diese Angebote haben natürlich wieder Auswirkungen auf das Verhalten der Nutzer. Die Kunden erkennen womöglich, dass sie Geld sparen können, wenn sie den Warenkorb an einer bestimmten Stelle verlassen, und nutzen das aus. Das kann bis zum sogenannten Adversarial Machine Learning gehen, bei dem Angreifer bewusst die Lernfähigkeit eines Systems für ihre Zwecke missbrauchen und es mit manipulierten Daten aushebeln. Es gibt ein sehr gutes Paper von Google «Machine Learning: The High Interest Credit Card of Technical Debt».  Es sollte Pflichtlektüre für jeden sein, der sich mit dem Thema beschäftigt.

Computerworld: Wie gehen Sie bei Lufthansa Industry Solutions vor, wenn Sie mit Hilfe von Machine Learning eine Lösung entwickeln?

Schwabe: Für eine erste Machbarkeitsstudie nutzen wir meist vorgefertigte Services, beispielsweise von IBM Watson. Prototypen bauen wir ebenfalls meist serviceorientiert, es kann aber durchaus sein, dass wir in dieser zweiten Stufe bereits einzelne Funktionen selbst entwickeln, wenn die verfügbaren Dienste nicht ausreichen. Beim Übergang in den Produktivbetrieb überlegen wir dann sehr genau, welcher Ansatz der richtige ist. Bild- und Spracherkennung lassen sich problemlos per API als Service beziehen, aber wenn es etwa um automatisierte Kauf- und Verkaufsentscheidungen geht, benötigt ein Unternehmen mehr Kontrolle und Monitoringmöglichkeiten. So etwas bauen wir dann passgenau für den Kunden.

Computerworld: Nutzen Sie dazu die verfügbaren Frameworks?

Schwabe: Ja, wir verwenden zum Beispiel Spark, wenn es um Batch-Verarbeitung und Big Data geht. Bei wirklich neuen Fragestellungen entwickeln wir auch eigene Lernalgorithmen. Das ist aber eher die Ausnahme.

CES 2017 - die Highlights aus Las Vegas