Zum Hauptinhalt springen

AWS AI Services als Bausteine für intelligente Anwendungen

Um AI in intelligente Anwendungen zu integrieren, stehen konzeptionell drei verschiedene Möglichkeiten zur Verfügung:

  1. Vollständige Eigenentwicklungen auf dafür bereitgestellter Infrastruktur
  2. Teilstrukturierte Entwicklungen in für Machine Learning spezialisierten Frameworks
  3. Auslagerung der Entwicklung in von Cloud-Providern angebotene Services

Dieser Blogbeitrag gibt einen Überblick über die dritte Möglichkeit am Beispiel AWS. Wichtig zu betonen ist dabei, dass ähnliche Angebote auch von den anderen Anbietern bereitgestellt werden.

Was sind AWS AI Services?

Knapp zusammengefasst sind AWS AI Services eine Sammlung von APIs, die von AWS entwickelt und zur Verfügung gestellt werden. Auch wenn sich die Services im Detail unterscheiden, folgen sie alle dem gleichen Funktionsmuster: Eine Anfrage wird über einen Parameter an AWS gesendet und eine JSON-Antwort zurückgeliefert.

Der Benutzer muss sich damit ausschließlich um die Anfrage an sich und die Weiterverarbeitung der Antwort kümmern. AWS kümmert sich im Hintergrund um die (Weiter-)Entwicklung der notwendigen Algorithmen, die Koordination der Anfragen und die Bereitstellung der Rechenressourcen.

Diese implizite Skalierbarkeit und Abkapselung macht AWS AI Services besonders für Serverless-Architekturen interessant und passt dort gut in die generelle Designphilosophie.

Wann sollte man AWS AI Services in Betracht ziehen?

Wie bei allen Cloud-Services gilt es auch bei AWS AI Services, zuerst eine saubere Kosten-Nutzen-Rechnung durchzuführen. Generell ist dabei die Betrachtung des gesamten Lebenszyklus einer intelligenten Anwendung entscheidend.

 

aws-AI-services1

Abbildung 1: Sowohl Kosten als auch Nutzen von intelligenten Anwendungen sind häufig schwer abzuschätzen. Umso wichtiger ist die bewusste Auseinandersetzung mit Vor- und Nachteilen der verschiedenen Lösungen.

 

Für eine Evaluation der Kostenfrage im AI-Umfeld sind die (potenziellen) Entwicklungskosten der größte Treiber, gefolgt von Betrieb und Weiterentwicklung. Alle AWS Services werden ausschließlich nach Nutzung bezahlt, d. h., nur wenn die Abfrage tatsächlich benutzt wird, entstehen Kosten. Allerdings können sich die Preismodelle zwischen den APIs stark unterscheiden und es lohnt sich, verschiedene Auslastungsszenarien durchzurechnen.

Aus Nutzensicht muss vor allem die Frage beantwortet werden, wie zentral die angedachte Funktion für die jeweilige Anwendung ist. Je zentraler die Funktion, umso wahrscheinlicher lohnen sich Use-Case-spezifische Anpassungen. Durch die Abkapselung der APIs ist das mit den vorgefertigten Services nur schwer oder überhaupt nicht möglich.

Beispiel 1: Zur Standardisierung von Texten sollen alle Eingaben zuerst auf Englisch übersetzt werden. In diesem Fall wäre die Neuentwicklung einer eigenen Lösung mit großem Aufwand und Risiko verbunden. Die Wahrscheinlichkeit, dass die Eigenentwicklung die von AWS bereitgestellte Lösung übertrifft, ist äußerst gering. In diesem Fall ist die Nutzung der API zu empfehlen.

Beispiel 2: Eingehende Bilder sollen nach geschäftsspezifischen Kategorien sortiert werden. In diesem Fall ist nicht zu erwarten, dass der betreffende AWS Service diese Kategorien liefern kann. Da es für Bilderkennung sehr viele frei verfügbare Modelle gibt, die auch leicht angepasst werden können, sollte hier die Eigenentwicklung gewählt werden.

Diese beiden Beispiele sind selbstverständlich stark vereinfacht. Da sowohl die Eigenentwicklung als auch die Nutzung vorgefertigter Services der Erfahrung nach schnell starke Fürsprecher findet, ist die ruhige Abwägung der Vor- und Nachteile essentiell.

Was sind die wichtigsten AWS AI Services?

Sowohl die Anzahl als auch die Preise der Services können sich, wie die anderer Cloud-Produkte, schnell ändern. Der aktuelle Stand lässt sich hier nachlesen. Um diesen Blogbeitrag übersichtlich zu halten, gruppiere ich die Services deshalb nach Anwendungsbereich:

 

aws-AI-services2

Abbildung 2: Die drei wichtigsten AWS AI Services. Von links nach rechts: AWS Comprehend, AWS Rekognition und AWS Personalize.

 

Text und Sprache

Aus analytischer Sicht ist in diesem Themengebiet AWS Comprehend der wichtigste Service. Dieser bündelt eine Vielzahl der häufigsten NLP-Analysearten, wie beispielsweise Entity Recognition oder Sentiment Analysis.

Bilder und Videos

Der wichtigste Service, wenn es um Bilder und Videos geht, ist AWS Rekognition. Dieser ermöglicht beispielsweise das Taggen von Videos, die Klassifizierung von Bildern oder auch das Erkennen von Gesichtern.

Personalisierte Empfehlungen

Gerade im E-Commerce-Kontext ist AWS Personalize besonders interessant. Dieser Service verspricht die Personalisierung von Webangeboten mit dem Know-how, das Amazon selbst über die Jahre aufgebaut hat.

Zusammenfassung

AI Services von AWS zu nutzen, ist– gerade im Vergleich mit Eigenentwicklungen– mit sehr geringem Aufwand verbunden. Das ist einerseits sehr verlockend, kann andererseits aber auch zu einer vorschnellen Einschränkung führen. Auch wenn die Ergebnisse der verschiedenen APIs bereits sehr beeindruckend sind, bedeutet das nicht, dass sie für den speziellen Use Case die Anforderungen erfüllen können. Eine bewusste Abwägung der Möglichkeiten ist deshalb zentral für die erfolgreiche Entwicklung einer intelligenten Anwendung.

Dr. Michael Allgöwer
Dein Ansprechpartner
Dr. Michael Allgöwer
Management Consultant
Machine Learning ist Michaels langjährige Spielwiese. Michael ist überzeugt, dass gutes Machine Learning eine Menge Branchenverständnis voraussetzt, und er liebt es, sich dieses Verständnis immer wieder zu erarbeiten. Sein neuestes Lieblingsthema ist Reinforcement Learning.
#MachineLearning #ReinforcementLearning #HumanIntelligence