Blog

Das *umBlog – Wissenswertes aus der Welt der Daten, Tech-Trends, Termine und Einblicke in unsere unglaubliche Company.

AI as a Service – fruchtbarer Boden oder Servicewüste?

Verfasst am 30.05.2017 von *um Data Science Team
Artificial Intelligence as a Service – Fruchtbarer Boden oder Servicewüste?

Mit ihren Artificial Intelligence as a Service-Angeboten (AIaaS) haben sowohl große Anbieter wie Amazon (Web Services), Google (Cloud Platform), Microsoft (Azure) und IBM (Developer Cloud) als auch kleinere wie Dataiku, BigML, ForecastThis (und mehr) in den letzten Jahren die Einstiegshürde in den Bereich der Künstlichen Intelligenz (KI) für Unternehmen deutlich herabgesetzt. – Grund genug, auch die Verständnishürden zu senken. Eine Einordnung.
 
Der Begriff Künstliche Intelligenz (KI) – engl. Artificial Intelligence (AI) – fasst eine Vielzahl von Algorithmentypen zusammen, mit denen Computer datengetrieben Problemlösungen lernen: Machine Learning (ML) umfasst klassische Lernverfahren wie z.B. Klassifikation oder Regression; als Deep Learning bezeichnet man moderne Lernverfahren, die auf tiefen Neuronalen Netzen basieren.
 
Während früher ein erhebliches monetäres und zeitliches Investment notwendig war, um intern das notwendige Knowhow und die technologische Infrastruktur für die Entwicklung von KI-Anwendungen aufzubauen, ermöglichen diese Dienste die Entwicklungszeit (Time-to-Value) potenziell auf einen Bruchteil zu reduzieren – KI von der Stange, sozusagen. 
 
Der Betrieb technologischer Infrastruktur (IaaS - Infrastructure as a Service) sowie die Bereitstellung und Wartung von Software (SaaS - Software as a Service) wurden durch Cloud-Dienstleister bereits deutlich vereinfacht und flexibilisiert. Nun soll das Vorgehen auf KI-Algorithmen ausgeweitet werden. Die wichtigsten Vorteile sind auch hier die Fokussierung aufs Kerngeschäft, transparente Kosten (pay as you use), verkürzte Entwicklungszeiten, geringes Investitionsrisiko und erhöhte strategische Flexibilität durch dynamische Nutzbarkeit. Andererseits sind die Abhängigkeit vom Dienstleister und einer funktionierenden, schnellen Datenverbindung, die Limitierung des Angebots auf Standardlösungen (Standardisierung statt Innovation) und eine geringere Daten- und Transaktionssicherheit als Nachteile zu nennen.

High Level vs. Low Level AI

Bei der Betrachtung von AIaaS ist es sinnvoll, zwischen High Level und Low Level AI zu unterscheiden. Ein Beispiel für einen problemorientierten High Level AI-Algorithmus ist die Gesichtserkennung in Bildern, also ob sich in einem Bild ein Gesicht befindet und, wenn ja, in welcher Position. Diese Algorithmen lösen ein gut erforschtes und standardisiertes Problem, haben eine einfache Schnittstelle (Input: Bild, Output: “ja + Position” bzw. “nein”) und sind somit auch für Nicht-ML-Experten verständlich.

Ein Beispiel für einen Low Level-Algorithmus ist die logistische Regression. Solche universellen Verfahren können für eine Vielzahl verschiedener Aufgaben verwendet werden, wie z.B. Churn Prediction oder Fraud Detection. Dafür muss man sich bei diesem Verfahrenstyp um das Vorverarbeiten der Daten, Training, Parameteroptimierung und Evaluierung selbst kümmern, was wiederum Expertenwissen erfordert. Wenn man jedoch das Know-how für Low Level-Algorithmen hat, lassen sich damit innovative Lösungen für ungelöste bzw. nicht standardisierte Probleme entwickeln. Im Folgenden werden spezifische Vor- und Nachteile von AIaaS diskutiert, die Entscheidern als Orientierungshilfe dienen können.

AIaaS erfolgreich einsetzen

In den letzten zehn Jahren hat nicht nur die Leistungsfähigkeit der KI Algorithmen enorm zugenommen – hauptsächlich angetrieben durch die Fortschritte im Deep Learning, sondern auch die Anzahl der möglichen Einsatzgebiete. Durch AI Services können nun auch Firmen ohne eigene Data Science-Abteilung Künstliche Intelligenz einsetzen und von datengetriebenen Business-Entscheidungen profitieren. Vor allem High Level AI Services, die ein Standardproblem lösen, ermöglichen eine schnellere und einfachere Entwicklung von Proofs of Concept (PoC) oder Anwendungssoftware.

Insbesondere bei daten- und rechenintensiven Anwendungen, wie beim Einsatz von Deep Learning-Algorithmen üblich, profitiert der Servicenehmer davon, vorkonfigurierte Big Data Infrastrukturen (GPU/Hadoop Cluster) bzw. vortrainierte Neuronale Netze on demand verwenden zu können. Bei der Auswahl des Services muss jedoch darauf geachtet werden, dass die Funktionalität, die API, die Rechenzeit und die Qualität der Ergebnisse den Anforderungen entsprechen.

Algorithmen als Black Box

Ein wichtiger Nachteil ist, dass alle kommerziellen Anbieter von AIaaS ihre Implementierung nicht veröffentlichen. Manchmal verweist der Anbieter in seiner Dokumentation auf Formeln oder auch einen wissenschaftlichen Artikel, auf dem die Implementierung basiert. Oft jedoch ist nur der Name des Algorithmus und dessen API dokumentiert. Hier muss der Kunde einen Vertrauensvorschuss gegenüber dem Anbieter bzgl. Korrektheit und Effizienz der implementierten Algorithmen aufbringen. Wie bei anderen Softwareprodukten auch, können die Implementierungen buggy oder unausgereift sein, daher empfiehlt sich ein systematisches Testen der Dienste.

Auch kundenseitig gibt es bei Low Level AI ein hohes Fehlerpotenzial in der typischerweise recht langen Pipeline aus Vorverarbeitung, Training, Parameteroptimierung und Evaluierung. Daher sollte man nicht nur verschiedene Anbieter testen, sondern die Ergebnisse auch mit einer eigenen Implementation abgleichen. In beiden Fällen benötigt das Testen jede Menge Know-how und Ressourcen und ist somit teuer.

Verschiedene Aspekte des AIaaS-Konzepts erschweren die Vergleichbarkeit unterschiedlicher Angebote. Einerseits sind viele Services auf bestimmte Tasks spezialisiert und damit nicht vergleichbar. Andererseits fehlt meist eine Versionierung der AI Services (Ausnahme: Algorithmia) und somit die Möglichkeit zu wissen, welche Version getestet wurde und ob eventuell mittlerweile eine verbesserte Version implementiert worden ist.Als Lösung bieten manche Anbieter zusätzlich Schnittstellen, um eigenen Code einzubinden und damit eine Möglichkeit, zumindest ein Stück weit die Kontrolle über die Implementierung zu gewinnen. Ein Vorteil entsteht, wenn diese Plattformen zusätzlich kollaborative Projektarbeit erlauben. Dann können Programmierer und Business Personal gemeinsam an einem Datenprojekt arbeiten, womit die Stakeholder eng in die Entwicklung des Projektes einbezogen werden.

Verfügbarkeit und Stabilität des Serviceangebots

Künstliche Intelligenz ist nach wie vor ein sehr aktives Forschungsfeld, in dem regelmäßig neue Algorithmen und Lösungsansätze publiziert werden. Im Kontext von AIaaS bedeutet das einen dynamischen Wachstumsmarkt mit einer Vielzahl von Playern und neu gegründeter Startups. Dementsprechend gibt es immer wieder marktübergreifend Wellen der Selektion und Konsolidierung, in denen sich Gewinner und Verlierer herauskristallisieren.  Somit entstehen regelmäßig neue verbesserte Services; alte werden upgedatet oder eingestellt, auch innerhalb einer Plattform.  

Problematisch für den Einsatz von AI Services in einem Produktivsystem sind nicht nur die eingestellten Services, auch die meist unangekündigten Updates inklusive fehlender Versionierung können unvorgesehene Folgen für den Live-Betrieb haben. Somit ist die Entscheidung für oder gegen einen Anbieter nicht so einfach wie bei SaaS, wo die Größe des Anbieters mit Stabilität des Angebots korreliert.

AIaaS verwenden ohne Know-how

AI Services ermöglichen jedem Nutzer, unabhängig vom Wissensstand, den Einstieg in Künstliche Intelligenz. Für Softwareentwickler werden einfache APIs bereitgestellt, für Nutzer ohne Programmier-Know-how stehen grafische Benutzeroberflächen und detaillierte Anleitungen zur Verfügung, mittels derer eine Datenverarbeitungspipeline zusammengeklickt werden kann. Dieser Komfort sowie die Eigenwerbung der Anbieter suggerieren, dass jeder ganz einfach KI anwenden kann. Dies mag für High Level AI und einfache Standardprobleme der Fall sein.

Innovative und neue Lösungen für Nicht-Standardprobleme erfordern jedoch ein anderes Vorgehen. Ohne ein tiefgründiges Verständnis der zugrundeliegenden Algorithmen und der Verarbeitungspipeline besteht die Gefahr von systematischen Fehlern in den Ergebnissen, und damit auch in den resultierenden Business-Entscheidungen. Scheitern aufgrund dessen mehrere Datenprojekte, kann das Vertrauen in Machine Learning dauerhaft beschädigt werden, ähnlich wie die jahrzehntelange falsche Verwendung des p-values u.a. in den Geistes- und Sozialwissenschaften, aber auch in der Medizin, der erhebliche Vertrauensverluste verursacht hat.

Neben einer korrekten Anwendung der Algorithmen ist bei Low Level AI auch datenseitig einiges zu beachten: die Daten müssen vor dem Modellieren bereinigt werden (garbage in, garbage out), es müssen Variablen ausgewählt oder neue Variablen aus den bestehenden generiert werden, und die Daten müssen für die Verwendung im gewählten Algorithmus präpariert werden z.B. mittels Normalisierung. Auch die Zusammenstellung der Trainingsdatenpunkte ist nicht trivial, da auf Bias in Daten geachtet werden muss. Trainiert man zum Beispiel einen Gesichtserkennungsalgorithmus nur mit weißen Gesichtern, dann werden alle anderen Hautfarben nicht erkannt. Im Falle von High Level AIaaS, die bereits fertig trainiert sind, sollte getestet werden, ob der Algorithmus auf Testdaten Bias produziert.

Fazit

AIaaS ist perfekt, um schnell und ohne große Investitionen in Hardware oder Software neue Lösungsansätze zu testen. In solchen Machbarkeitsstudien oder PoCs (Proof of Concept) werden typischerweise unterschiedliche KI Algorithmen miteinander verglichen, was sehr einfach mit AIaaS machbar ist. Auch für Standardlösungen im high level KI Bereich wie Gesichtserkennung, Text-to-Speech, Speech-to-Text u.v.m. gibt es gute Serviceangebote, die man nutzen kann, insofern es sich nicht um sensible Daten handelt. Benötigt man jedoch eine komplexe Nicht-Standardlösung, muss man sich intern das entsprechende Know-how aufbauen oder einen Dienstleister wie *um beauftragen um eine individuelle Lösung zu entwickeln.

Auch Low Level AI-Algorithmen sollten nicht ohne ein tiefgreifendes Verständnis auf nicht standardisierte Problemstellung angewendet werden. Jeder, der sich mit den Grundlagen des Maschinellen Lernens befasst hat, kann eine logistische Regression mit drei Eingangsvariablen korrekt anwenden. Die allermeisten Problemstellungen in der Praxis sind jedoch komplizierter.

Und schließlich muss man sich bewusst sein, dass die Verwendung von AI Services als Bestandteil eines Produktivsystems mit einigem Aufwand und Risiko verbunden ist. Bei der Vielzahl an AIaaS-Anbietern ist die Recherche und Auswahl eines Angebots aufwendig. Da AI Services relativ neu am Markt sind, gibt es bisher keine festgelegte Aufgabenteilung zwischen Kunde und Serviceprovider und keine standardisierten Nutzungsbedingungen wie bei üblicher Softwareentwicklung. Daher sollte der Service genau wie der eigene Code getestet werden, um die Qualität (z.B. Nicht-Verzerrtheit von Daten) sicher zu stellen. Weiterhin können die fehlende Versionierung, stille Updates, oder gar die Einstellung des Services den Live-Betrieb der Anwendung beeinträchtigen.

Aktuelle Blogeinträge

Social Media

Kontakt

The unbelievable Machine
Company GmbH
Grolmanstr. 40
D-10623 Berlin

+49-30-889 26 56-0 +49-30-889 26 56-11 info@unbelievable-machine.com

Kostenloses Whitepaper

Data Thinking:
Erfolgsrezept für den digitalen Wandel

Zum Whitepaper