Künstliche Intelligenz (KI): Architekturentwurf

Künstliche Intelligenz (KI) ist die Fähigkeit eines Computers, intelligentes menschliches Verhalten zu imitieren. Mithilfe von KI können Computer Bilder analysieren, Sprache verstehen, auf natürliche Weise interagieren und Prognosen auf der Grundlage von Daten treffen.

Illustration depicting the relationship of artificial intelligence as a parent concept. Within AI is machine learning. Within machine learning is deep learning.

KI-Konzepte

Algorithmus

Bei einem Algorithmus handelt es sich um eine Sequenz von Berechnungen und Regeln, mit denen ein Problem gelöst oder eine Gruppe von Daten analysiert werden kann. Er ähnelt einem Flussdiagramm mit schrittweisen Anweisungen für Fragen, die zu stellen sind, ist jedoch in mathematischen Ausdrücken und Programmiercode geschrieben. Ein Algorithmus kann beschreiben, wie bestimmt werden kann, ob ein Haustier eine Katze, ein Hund, ein Fisch, ein Vogel oder eine Eidechse ist. Ein anderer, weitaus komplizierterer Algorithmus kann beschreiben, wie eine geschriebene oder gesprochene Sprache identifiziert, ihre Wörter analysiert und in eine andere Sprache übersetzt und dann die Genauigkeit der Übersetzung überprüft wird.

Machine Learning

Maschinelles Lernen (ML) ist ein KI-Verfahren, bei dem mit mathematischen Algorithmen Vorhersagemodelle erstellt werden. Mit einem Algorithmus werden Datenfelder analysiert, und anhand dieser Daten wird „gelernt“, indem mit den darin enthaltenen Mustern Modelle generiert werden. Mit diesen Modellen werden informierte Vorhersagen oder Entscheidungen zu neuen Daten getroffen.

Die Vorhersagemodelle werden anhand bekannter Daten überprüft, mit für bestimmte Geschäftsszenarien ausgewählten Leistungsmetriken bewertet und anschließend nach Bedarf angepasst. Dieser Lern- und Überprüfungsprozess wird als Training bezeichnet. Durch regelmäßiges erneutes Trainieren werden ML-Modelle mit der Zeit verbessert.

Deep Learning

Deep Learning ist ein Typ von ML, der die Genauigkeit seiner Vorhersagen selbst bestimmen kann. Er verwendet ebenfalls Algorithmen zum Analysieren von Daten, jedoch in größerem Umfang als ML.

Deep Learning nutzt künstliche neuronale Netze, die aus mehreren Ebenen von Algorithmen bestehen. Auf jeder Ebene werden die eingehenden Daten untersucht, es wird eine eigene spezialisierte Analyse durchgeführt und eine Ausgabe erzeugt, die von anderen Ebenen verstanden werden kann. Diese Ausgabe wird dann an die nächste Ebene weitergegeben, wo ein anderer Algorithmus eine eigene Analyse durchführt usw.

Mit vielen Ebenen in jedem neuronalen Netzwerk (und manchmal mithilfe mehrerer neuronaler Netze) kann ein Computer durch seine eigene Datenverarbeitung lernen. Hierfür werden eine viel größere Datenmenge und eine viel größere Computingkapazität als bei ML benötigt.

Bots

Ein Bot ist ein automatisiertes Softwareprogramm, das für die Ausführung einer bestimmten Aufgabe konzipiert ist. Stellen Sie sich einen Bot als Roboter ohne Körper vor. Frühe Bots waren vergleichsweise einfach. Sie verarbeiteten wiederkehrende und umfangreiche Aufgaben mit einer relativ einfachen algorithmischen Logik. Ein Beispiel hierfür sind Webcrawler, mit denen Suchmaschinen Webinhalte automatisch untersuchen und katalogisieren.

Bots sind mittlerweile viel komplexer geworden und nutzen KI und andere Technologien, um menschliche Aktivitäten und Entscheidungsfindung zu imitieren. Häufig erfolgt dies während der Interaktion mit Menschen über Text oder sogar Sprache. Beispiele hierfür sind Bots, die eine Tischreservierung annehmen können, Chatbots (oder Conversational AI) zur Unterstützung der Kundendienstkommunikation und Social Bots, die aktuelle Nachrichten oder wissenschaftliche Daten auf Websites sozialer Medien veröffentlichen.

Microsoft bietet den Azure Bot Service, einen verwalteten, speziell für die Bot-Entwicklung in Unternehmen konzipierten Dienst.

Autonome Systeme

Autonome Systeme sind Teil einer neuen Klasse, die über die grundlegende Automatisierung hinausgeht. Anstatt eine bestimmte Aufgabe wiederholt ohne oder mit nur geringfügiger Variation auszuführen (wie dies beispielsweise Bots tun), verschaffen autonome Systeme Computern intelligente Einblicke, sodass sie sich an sich ändernde Umgebungen anpassen können, um das gewünschte Ziel zu erreichen.

In intelligenten Gebäuden werden autonome Systeme beispielsweise für die automatische Steuerung von Beleuchtung, Belüftung, Klimaanlage und Sicherheit genutzt. Ein anspruchsvolleres Beispiel wäre ein selbstgesteuerter Roboter, der den Schacht eines eingestürzten Bergwerks untersucht, um das Innere gründlich zu kartografieren und zu bestimmen, welche Teile statisch intakt sind, die Luft hinsichtlich der Atemfähigkeit zu analysieren und Anzeichen von eingeschlossenen Bergleuten zu erkennen, die gerettet werden müssen – und dies alles in Echtzeit und ohne menschliche Überwachung am Remote-Ende.

Allgemeine Informationen zu Microsoft AI

Erfahren Sie mehr über KI von Microsoft, und bleiben Sie mit den neuesten Nachrichten auf dem Laufenden:

Allgemeine Architekturtypen

Vordefinierte KI

Vordefinierte KI ist genau das, was Sie vermuten: sofort einsatzbereite KI-Modelle, -Dienste und -APIs. Mit diesen können Sie Apps, Websites und Flows um Business Intelligence erweitern, ohne dass Sie Daten sammeln und anschließend eigene Modelle erstellen, trainieren und veröffentlichen müssen.

Ein Beispiel für vordefinierte KI ist ein vortrainiertes Modell, das ohne weitere Änderungen integriert und verwendet werden kann, um eine Baseline für weitergehendes benutzerdefiniertes Training bereitzustellen. Ein weiteres Beispiel ist ein cloudbasierter API-Dienst, der bei der Verarbeitung natürlicher Sprache gezielt aufgerufen werden kann.

Azure Cognitive Services

Cognitive Services bieten Entwicklern die Möglichkeit, mit vordefinierten APIs und Integrationstoolkits Anwendungen zu erstellen, die sehen, hören, sprechen, verstehen und in einem gewissen Umfang sogar nachdenken können. Der Katalog der Dienste in Cognitive Services kann in fünf Hauptkategorien unterteilt werden: Bildanalyse, Spracheingabe, Sprache, Websuche und Entscheidung.

Vordefinierte KI-Modelle in AI Builder

AI Builder ist ein neues Feature in Microsoft Power Platform, die eine Point-and-Click-Schnittstelle zum Hinzufügen von KI zu Ihren Apps bereitstellt. Diese setzt keinerlei Programmier- oder Data Science-Kenntnisse voraus. (Einige Features im AI Builder wurden noch nicht für die allgemeine Verfügbarkeit veröffentlicht und bleiben im Vorschaustatus. Weitere Informationen finden Sie auf der Seite Featureverfügbarkeit nach Region.)

Sie können Ihre eigenen Modelle erstellen und trainieren, aber AI Builder bietet auch vordefinierte KI-Modelle, die sofort verwendet werden können. Beispielsweise können Sie eine Komponente in Microsoft Power Apps hinzufügen, die auf einem vordefinierten Modell basiert, welches Kontaktinformationen von Visitenkarten erkennt.

Benutzerdefinierte KI

Vordefinierte KI ist zwar nützlich (und zunehmend flexibel), am meisten profitieren Sie aber von KI, wenn Sie selbst ein System erstellen. Dies ist sicherlich ein wirklich schwieriges und komplexes Thema, doch betrachten wir im Folgenden einige Grundkonzepte, die über die bisherigen Ausführungen hinausgehen.

Programmiersprachen

Das Kernkonzept von KI ist die Verwendung von Algorithmen, um Daten zu analysieren und Modelle zu generieren, mit denen sie auf nützliche Weise beschrieben (oder bewertet) werden. Algorithmen werden von Entwicklern und Datenanalysten (und manchmal auch von anderen Algorithmen) mit Programmiercode geschrieben. Zwei der derzeit beliebtesten Programmiersprachen für die KI-Entwicklung sind Python und R.

Python ist eine höhere Programmiersprache für allgemeine Zwecke. Sie zeichnet sich durch eine einfache, leicht zu erlernende Syntax aus, die betont lesbar ist. Ein Kompilierungsschritt ist nicht erforderlich. Python verfügt über eine umfangreiche Standardbibliothek, es gibt aber auch die Möglichkeit, Module und Pakete hinzuzufügen. Dies fördert die Modularität und ermöglicht es Ihnen, Funktionen ggf. zu erweitern. Es gibt ein großes und wachsendes Ökosystem von KI- und ML-Bibliotheken für Python, darunter viele, die in Azure direkt zugänglich sind.

R ist eine Sprache und Umgebung für statistische Berechnungen und Grafiken. Sie kann für alle Vorgänge von der Online-Zuordnung allgemeiner sozialer Trends und Marketingtrends bis hin zur Entwicklung von Finanz- und Klimamodellen verwendet werden.

Microsoft hat die Programmiersprache R komplett übernommen und bietet R-Entwicklern eine Vielzahl von Optionen zum Ausführen ihres Codes in Azure.

Training

Training ist das Kernstück von Machine Learning. Dabei handelt es sich um den iterativen Prozess, bei dem ein Algorithmus „angelernt“ wird, Modelle zu erstellen, mit denen Daten analysiert und anschließend präzise Vorhersagen getroffen werden. In der Praxis umfasst dieser Prozess drei allgemeine Phasen: Training, Validierung und Tests.

Während der Trainingsphase wird ein qualitativ hochwertiger Satz bekannter Daten markiert, sodass einzelne Felder identifizierbar sind. Die markierten Daten werden in einen Algorithmus eingebracht, der für das Treffen einer bestimmten Vorhersage konfiguriert ist. Nach Abschluss der Verarbeitung gibt der Algorithmus ein Modell in aus, das die festgestellten Muster mit einer Reihe von Parametern beschreibt. Während der Validierung werden neue Daten markiert und zum Testen des Modells verwendet. Der Algorithmus wird entsprechend den jeweiligen Anforderungen angepasst und kann möglicherweise weitere Trainings durchlaufen. Abschließend werden in der Testphase reale Daten ohne Tags oder vorab ausgewählte Ziele verwendet. Wenn die Richtigkeit der Ergebnisse des Modells angenommen werden kann, wird es als einsatzbereit erachtet und kann bereitgestellt werden.

Hyperparameteroptimierung

Hyperparameter sind Datenvariablen, die den Trainingsprozess selbst steuern. Dabei handelt es sich um Konfigurationsvariablen, welche die Funktion des Algorithmus steuern. Hyperparameter werden daher in der Regel vor dem Trainieren des Modells festgelegt, und sie werden im Trainingsprozess nicht wie Parameter geändert. Zum Optimieren von Hyperparametern werden Prüfungen innerhalb der Trainingsaufgabe ausgeführt, es wird beurteilt, wie gut sie ihre Aufgabe erledigen, und es werden ggf. Anpassungen vorgenommen. Bei diesem Prozess werden mehrere Modelle generiert, die jeweils mit anderen Familien von Hyperparametern trainiert werden.

Modellauswahl

Beim Trainings- und Optimierungsprozess von Hyperparametern wird eine Vielzahl von Kandidatenmodellen erzeugt. Diese können viele verschiedene Abweichungen aufweisen, u. a. hinsichtlich des erforderlichen Aufwands für die Vorbereitung der Daten, der Flexibilität des Modells, der benötigten Verarbeitungszeit und natürlich der Genauigkeit ihrer Ergebnisse. Die Auswahl des am besten trainierten Modells für Ihre jeweiligen Anforderungen und Einschränkungen wird als Modellauswahl bezeichnet. Dabei geht es jedoch ebenso um die Vorplanung vor dem Training wie um die Auswahl des Modells, das am besten funktioniert.

Automatisiertes maschinelles Lernen (AutoML)

Automatisiertes maschinelles Lernen, auch als AutoML bezeichnet, ist der Prozess des Automatisierens der zeitaufwändigen, iterativen Aufgaben der Entwicklung eines Machine Learning-Modells.  Dieser kann die benötigte Zeit bis zum Vorliegen produktionsreifer ML-Modelle erheblich reduzieren. AutoML kann bei der Modellauswahl, der Hyperparameteroptimierung, dem Modelltraining und anderen Aufgaben behilflich sein. Hierbei sind keine umfassenden Kenntnisse hinsichtlich Programmierung oder Domänen erforderlich.

Bewertung

Die Bewertung wird auch als Vorhersage bezeichnet. Hierbei handelt es sich um den Prozess des Erstellens von Werten auf Grundlage eines trainierten Machine Learning-Modells, bei dem neue Eingabedaten berücksichtigt werden. Die erstellten Werte (oder „Scores“) können Vorhersagen zukünftiger Werte, jedoch auch eine wahrscheinliche Kategorie oder ein wahrscheinliches Ergebnis darstellen. Beim Bewertungsprozess können viele verschiedene Werttypen generiert werden:

  • Eine Liste der empfohlenen Elemente und ein Ähnlichkeitsscore

  • Numerische Werte für Zeitreihenmodelle und Regressionsmodelle

  • Ein Wahrscheinlichkeitswert, der die Wahrscheinlichkeit angibt, dass eine neue Eingabe zu einer vorhandenen Kategorie gehört

  • Der Name einer Kategorie oder eines Clusters, der bzw. dem ein neues Element am meisten ähnelt

  • Eine vorhergesagte Klasse oder ein Ergebnis für Klassifizierungsmodelle

Eine Batchbewertung liegt vor, wenn Daten über einen bestimmten Zeitraum erfasst und dann als Batch verarbeitet werden. Beispiele hierfür sind das Erstellen von Geschäftsberichten oder das Analysieren der Kundentreue.

Die Echtzeitbewertung ist – wie der Name bereits sagt – eine laufende Bewertung, die so schnell wie möglich ausgeführt wird. Ein klassisches Beispiel ist die Erkennung von Kreditkartenbetrug. Die Echtzeitbewertung wird jedoch auch bei der Spracherkennung, medizinischen Diagnosen, Marktanalysen und vielen anderen Anwendungen angewendet.

Allgemeine Informationen zu benutzerdefinierter KI in Azure

Angebote der Azure KI-Plattform

Im Folgenden finden Sie eine Übersicht über Azure-Technologien, -Plattformen und -Dienste, mit denen Sie KI-Lösungen entsprechend Ihren jeweiligen Anforderungen entwickeln können.

Azure Machine Learning

Dies ist ein ML-Dienst auf Unternehmensniveau zum schnelleren Entwickeln und Bereitstellen von Modellen. Azure Machine Learning bietet Webschnittstellen und SDKs zum schnellen Trainieren und Bereitstellen skalierbarer Machine Learning-Modelle und Pipelines. Diese Funktionen stehen Ihnen über Open-Source-Python-Frameworks (etwa PyTorch, TensorFlow und sciKit-learn) zur Verfügung.

Machine Learning-Referenzarchitekturen für Azure

Automatisiertes maschinelles Lernen in Azure

Azure bietet umfassende Unterstützung für automatisiertes ML. Entwickler können Modelle über eine codelose Benutzeroberfläche oder mithilfe von Code First-Notebooks erstellen.

Azure Cognitive Services

Hierbei handelt es sich um eine umfassende Familie von KI-Diensten und kognitiven APIs, mit deren Hilfe Sie intelligente Apps erstellen können. Diese domänenspezifischen, vorab trainierten KI-Modelle können anhand Ihrer Daten angepasst werden.

Dies ist ein KI-gestützter Cloudsuchdienst für die Entwicklung mobiler Apps und Web-Apps. Der Dienst kann private heterogene Inhalte durchsuchen, mit Optionen für KI-Anreicherung, wenn Ihre Inhalte unstrukturiert oder in unformatiertem Format nicht durchsuchbar sind.

Azure Bot Service

Diese speziell entwickelte Bot-Entwicklungsumgebung bietet direkt einsatzbereite Vorlagen, sodass Sie schnell loslegen können.

Apache Spark in Azure

Apache Spark ist ein Framework für die Parallelverarbeitung, das In-Memory-Verarbeitung unterstützt, um die Leistung von Big Data-Analyseanwendungen zu steigern. Spark stellt Primitive für das In-Memory-Clustercomputing bereit. Bei einem Spark-Auftrag können Daten in den Arbeitsspeicher geladen und zwischengespeichert und dann wiederholt abgefragt werden. Dieser Vorgang ist deutlich schneller als bei Anwendungen auf Datenträgerbasis (z. B. Hadoop).

Apache Spark in Azure HDInsight ist die Microsoft-Implementierung von Apache Spark in der Cloud.  Spark-Cluster in HDInsight sind kompatibel mit Azure Storage und Azure Data Lake Storage. Dadurch können Sie HDInsight Spark-Cluster für die Verarbeitung Ihrer in Azure gespeicherten Daten verwenden.

Die Microsoft Machine Learning-Bibliothek für Apache Spark ist MMLSpark (Microsoft ML für Apache Spark).  Es handelt sich um eine Open-Source-Bibliothek, mit der das Spark-Ökosystem um viele Deep Learning- und Data Science-Tools, Netzwerkfunktionen und Leistung auf Produktionsqualität ergänzt wird. Hier erhalten Sie weitere Informationen zu MMLSpark-Features und -Funktionen.

Azure Databricks Runtime für Machine Learning

Azure Databricks ist eine Apache Spark-basierte Analyseplattform, die mit nur einem Klick eingerichtet werden kann sowie optimierte Workflows und einen interaktiven Arbeitsbereich für die Zusammenarbeit zwischen Data Scientists, Technikern und Business Analysts bietet.

Mit der Databricks Runtime für Machine Learning (Databricks Runtime ML) können Sie einen Databricks-Cluster mit allen Bibliotheken starten, die für das verteilte Training erforderlich sind.  Sie stellt eine sofort einsatzbereite Umgebung für Machine Learning und Data Science bereit. Außerdem umfasst sie mehrere gängige Bibliotheken, einschließlich TensorFlow, PyTorch, Keras und XGBoost. Außerdem unterstützt die Umgebung verteiltes Training mit Horovod.

Kundenstimmen

KI wird in den verschiedensten Branchen in innovativer und inspirierender Weise genutzt. Im Folgenden finden Sie eine Reihe von Fallstudien und Erfolgsgeschichten von Kunden:

Weitere Kundenstimmen

Nächste Schritte