Dieser Artikel liefert eine Übersicht über die AI Komponenten von Microsoft in Azure und in der PowerPlatform.

Das Thema AI ist ein Thema, welche viele Entscheider umtreibt und vor dem gleichzeitig viele IT-Entscheider und Mitarbeiter noch etwas ratlos stehen. Abgesehen von der technischen Problematik ist das Thema an sich schwer zu greifen. In der „klassischen“ IT wird von einer Anforderung zu einem erwartenden Ergebnis gearbeitet. Ein Server soll installiert, ein Postfach verschoben werden. Das Ergebnis ist binär, entweder geht es oder eben nicht. Das trifft auf AI nur bedingt zu.

Sicher liefert eine AI Ergebnisse, aber ob damit ein Auftraggeber zufrieden ist, ist die andere Frage. Bei einer Bilderkennung ist dies noch relativ einfach, bei einer Vorhersage über Buchungsvolumina wird es schon komplizierter. Und oft genug werden an eine AI auch Forderungen gestellt und Wünsche formuliert, welche schlicht unerfüllbar sind. In einem System mit vielen sich gegenseitig bedingenden Eingangsgrößen lassen sich oft keine 100% genaue Prognosen erstellen. Dies wird aber zum Teil erwartet, obwohl dies in der Regel nicht der Sinn einer AI ist. Dieser ist eher, eine so nah wie möglich Prognose abzugeben. Und oftmals reicht diese auch schon völlig aus.

In dieser Gemengelage agiert eine AI und diejenigen, welche sie erstellen oder parametrisieren. Doch bevor es damit losgeht, noch ein Hinweis auf die Daten, welcher eine AI zu Grunde liegen. Wie in jeder datengetriebenen Anwendung ist hier die Qualität der Daten entscheidend. Daten, welche unvollständig oder welche geglättet sind, werfen viele Probleme auf. Die Entscheidung einer AI ist immer nur so gut wie die dahinterstehenden Daten. Das unterscheidet die AI nicht vom Menschen. Wenn ich nie gesegelt bin, kann ich kein Schiff segeln. Und genau wie Menschen aus Mustern lernen, so lernt auch eine AI aus Mustern oder eben der ihr zur Verfügung gestellten Daten.

Dies schafft auch Raum zum oft ungewollten Missbrauch. Als negatives Beispiel könnte ein Kreditbewertung gelten, welche weniger Daten weiblicher Kreditnehmerinnen enthält als männlicher. Die AI könnte dies so interpretieren, dass es immer besser ist männliche Kreditnehmer zu bevorzugen und damit weibliche benachteiligen, indem diese automatisch eine schlechtere Bewertung erhalten. Hier könnte man zu einem Daten von weiteren weiblichen Kreditnehmerinnen einspeisen oder das Kriterium Geschlecht in die Bewertung nicht mit einbeziehen.

Algorithmen, Modelle und einiges mehr

AI kann für verschiedene Zwecke eingesetzt werden, zum Beispiel für maschinelles Lernen, was Vorhersagemodelle basierend auf Daten und Statistiken sind. Für Anomalieerkennung, die ungewöhnlichen Muster oder Ereignisse erkennt und gegebenenfalls vorbeugende Maßnahmen ermöglicht. Maschinelles Sehen, die Bilder und Videos analysiert. Sprachverarbeitung, um Sprache zu erkennen und interpretieren sowie übersetzen zu können. Konversationen betreiben, wie es zum Beispiel Bots machen. Natürlich kann man das alles miteinander kombinieren. Zum Beispiel ein Chat, in welchen Benutzer mit einem Bot interagieren und Bilder schicken können, welche automatisch analysiert werden.

Microsoft Azure bietet für die oben genannten Anwendungszwecke die Module Azure Machine Learning, Cognitive Services und Azure Bot Service an. Genutzt werden diese Services primär in Azure ML und in der PowerPlatform.

Arbeiten mit Azure ML

Für den Einstieg in Azure ML ist es notwendig, einige Abläufe und Begriffe zu verstehen. Der prinzipielle Ablauf ist dabei, das als erstes ein Dataset erstellt wird. Dieses Dataset kann aus unterschiedlichen Quellen stammen und ist nicht spezifisch. Im Dataset werden die Daten aggregiert, welche später der AI zur Verfügung gestellt werden.

Als nächstes muss ein Modelltyp ausgewählt werden, also was soll eigentlich erreicht werden. Eine Vorhersage ist keine Klassifizierung. Übliche Modelle im maschinellen Lernen sind Regression für die Vorhersage eines numerischen Wertes, die Klassifizierung mit denen neue Daten aufgrund vorhandener Daten bezeichnet werden können und dem Clustering, welches bei der Mustererkennung verwendet wird. Jeder dieser Modelle verwendet unterschiedliche Algorithmen. Dabei gibt es in jedem Modell nicht nur einen Algorithmus, sondern viele.

Das Durchrechnen vieler verschiedener Algorithmen wird als Experiment bezeichnet. Dafür benötigten Sie eine Compute Umgebung, was nichts weiter als virtuelle, vorkonfigurierte Maschinen sind. Wenn Sie ein Azure ML Experiment erstellen, erstellt Ihnen Azure die Umgebung im Hintergrund.

In einem Experiment wird Azure ML eine Teilmenge der vorhandenen Daten abtrennen und versuchen einen Algorithmus zu finden, der dem vorhandenen Daten am besten entspricht. Es ist nicht notwendig, selbst zu wissen, was der beste Algorithmus ist. Azure ML wird alle ausgewählten Algorithmen durchrechnen und eine Aussage darüber treffen, welcher Algorithmus am besten mit den gegebenen Daten übereinstimmt. Bei der Modellauswahl kann auch festgelegt werden, dass nur bestimmte Algorithmen genutzt werden. Dies verkürzt die Rechenzeit und damit die Kosten erheblich, setzt aber das Wissen um die Algorithmen voraus.

Ist der für die Fragestellung effektivste Algorithmus gefunden, kann ein Modell damit trainiert werden. Es ist möglich, ein Modell mit Modellerklärungen zu untersuchten. Auch hier geht es wieder darum, wie nah ein Algorithmus an der Wirklichkeit ist. Azure ML bietet dazu eine grafische Oberfläche. Diese zeigt die Abweichung vom Ergebnis des Modells und den Daten, welche vorher abgetrennt wurden.

Azure ML Pipelines bilden einen Workflow ab. Damit kann festgelegt werden, woher neue Daten kommen und wie diese in der Anwendung zu verwenden sind. Ein Modell kann damit ständig neu trainiert werden. Erstellt werden können diese im Pipeline Designer oder aber per Code. Azure ML Pipelines können noch weitere Aufgaben erfüllen, dies würde aber den Rahmen dieses Artikels sprengen.

Ist das Modell fertig, kann es per Endpunkt über http(s) veröffentlicht werden. Damit kann eine Anwendung eine kleine Menge an Daten schicken und das Modell beziehungsweise der darunter liegende Algorithmus liefert das Ergebnis an die aufrufende Anwendung zurück.

AI in der PowerPlatform

Azure ML ist extrem flexibel und damit auch vergleichsweise aufwendig. Aber es ist die ideale Lösung, wenn Sie kein vorbereitetes Modell haben und ganz von vorn beginnen. In einer Lösung für Endanwender geht das nicht. Da braucht es schon fertige Modelle, die der Benutzer nur noch mit seinen eignen Daten füttern muss. Und genau das liefert AI Builder in der PowerPlatform. Es gibt darin verschiedene, schon vorkonfigurierte Modelle für Bilderkennung, Dokumentenerkennung und einiges mehr. Es ist auch möglich, mit Einschränkungen Modelle aus Azure ML zu verwenden.

Ein Benutzer muss diese Modelle nur noch trainieren. Will er zum Beispiel verschiedene Verpackungen erkennen, muss er ein Modell zur Bilderkennung auswählen und in dieses verschiedene Bilder von Verpackungen hochladen. Nach dem Hochladen muss er jedes Bild klassifizieren, welche Verpackung dies nun ist. Ist das Training abgeschlossen, kann das Model z.B. in einer PowerApp verwendet werden. Ein Benutzer lädt ein Bild hoch und es wird automatisch erkannt, um welche Verpackung es sich handelt. Dies funktioniert natürlich nur, wenn das ein Bild auch eine Verpackung zeigt. Der AI Builder kann auch in PowerAutomate verwendet werden, wenn zum Beispiel ein Bild hochgeladen wird und ein Flow danach das Bild kategorisiert.

Azure Cognitive Services

Ähnlich dem AI Builder können die Azure Cognitive Services verwendet werden. Während aber im AI Builder eine grafische Oberfläche zur Verfügung steht und keine wirkliche Programmierung unterstützt wird, ist dies bei den Azure Cognitive Services umgedreht. Auch hier gibt es vorbereitete Modelle, zum Beispiel für Bild- oder Sprachanalyse. Diese Modelle sind explizit dafür gedacht in einer Entwicklung verwendet zu werden und stellen dafür spezifische APIs zur Verfügung.

Genutzt werden können diese APIs in jeder Entwicklungsumgebung oder auch in der PowerPlatform. Besonders interessant ist, dass die meisten APIs ein freies Kontigent von Abfragen zur Verfügung stellen. Gerade wenn man damit erst einmal testen möchte, ist dies sehr nützlich. Auf der Website https://aidemos.microsoft.com kann man dies aber auch ohne Anmeldung im Browser.

Fazit

Ob man AI einsetzt, ist keine Frage mehr. Die Frage ist eher, an welcher Stelle welches Werkzeug eingesetzt wird. Microsoft Azure und die PowerPlatform bieten eine große Vielfalt von AI Werkzeugen. Dabei können komplett eigene Modelle bin hin schon zu fertigen Lösungen genutzt werden. Für viele typische Anwendungsfälle wie Bild-, Text und Sprachanalyse stehen diese schon einsatzbereit zur Verfügung.

Kommentar verfassen