Bevor wir das Erkunden der Azure-KI-Services fortsetzen, gehen wir in diesem Beitrag noch einmal einen Schritt zurück: Er beleuchtet die Nutzung der Azure AI Services sowie die zahlreichen zugehörigen Werkzeuge in Azure etwas systematischer.
Die KI-Dienste unter Microsoft Azure lassen sich programmatisch in verschiedenste Applikationen integrieren. Vorab ist es aber empfehlenswert, den Komfort der verschiedenen „Studio“-API zu nutzen, um sich mit den Grundlagen vom Azure AI vertraut zu machen. Zunächst aber der angekündigte systematische Durchblick.
Die Themen KI und Machine Learning (ML) umfassen mehrere Aspekte. Der eine ist ein mathematisch-wissenschaftlicher: Data Scientists und Analysten befassen sich mit dem Entwerfen von Modellen, welche geeignet sind, Aspekte unserer Welt mithilfe von künstlicher Intelligenz und/oder maschinellem Lernen zu verstehen, um schließlich mit Training und Vorhersage Lösungen zu generieren.
Azure bietet ein großes Portfolio vortrainierter Modelle, die dabei helfen, Erkenntnisse aus Daten zu gewinnen. Es bietet aber auch Plattformen und Tools, um entweder als Entwickler oder Analystin eigene Modelle entwickeln zu können. Darüber hinaus bieten die einschlägigen Programmiersprachen – allen voran Python – Bibliotheken, um KI- und ML-Algorithmen im eigenen Programmcode nutzen zu können. Auch hier gibt es eine tiefe Integration, z. B. in VS Code, aber auch in das Machine-Learning-Studio in Azure.
In der Praxis wird es häufig so sein, dass Entwicklung und Fachabteilung (z. B. Data Science) zusammenarbeiten. Vorerst konzentrieren wir uns auf das Verwenden der verfügbaren ML/KI-Plattformen in Azure. Damit machen wir uns die Tatsache, dass diese prall gefüllten Werkzeugkästen in der Public Cloud so komfortabel zugänglich sind, für den Einstieg in die Thematik zunutze.
Weniger soll es hier um das Verstehen oder gar Entwickeln eigener Modelle gehen. Natürlich stellt Microsoft auch die benötigten Client-Bibliotheken, z. B. für Python oder C# zur Verfügung, damit Entwickler ML/KI-Techniken in ihren Programm-Code integrieren können.
Was ist Azure AI genau?
Bislang ist und war KI aus unterschiedlichen Gründen nur für große Technologieunternehmen nutzbar – unter anderem, weil für das Modelltraining großen Datenmengen erforderlich sind, was wiederum enorme Rechenleistung voraussetzt, was bei den meisten Unternehmensgrößen das Budget sprengt. Außerdem müssen häufig spezialisierte Developer und/oder Datenwissenschaftler eingestellt bzw. ausgebildet werden.
Mit den „Azure KI Services“ (je nach Lokalisierung des Portals, bzw. Version und Kontext der Dokumentation auch „Azure AI Services“ genannt) macht Microsoft KI für Unternehmen aller Größen zugänglich. Sie können nun vorgefertigte Machine-Learning-Modelle verwenden, um KI als Dienst bereitzustellen. Die Azure KI Services stützen sich auf die hohe Rechenleistung von Azure, um erweiterte KI-Modelle als Ressourcen bereitzustellen.
Sinn und Zweck von Azure AI ist die Bereitstellung Cloud-basierter KI-Funktionen, die sich unkompliziert in Web- oder mobile Anwendungen integrieren lassen. Zu diesen KI-Diensten gehören Bild- und Spracherkennung, linguistische Datenverarbeitung, KI-gestützte Suche und einiges mehr. In Summe sind es derzeit bereits 20 Services, die sich einzeln oder zusammen genutzt werden können („multi-service-account“, siehe unten), damit Entwickler ihrer Anwendungen mit KI anreichern können.
So können Entwicklerinnen und Entwickler beispielsweise den Dienst „Azure KI Inhaltssicherheit“ (Content Safety) verwenden, um in Text oder Bildern unerwünschte Inhalte zu erkennen, wie z. B. Gewalt, Sex, Hassrede usw., bzw. nach deren Schweregrad klassifizieren. Der Dienst „Azure KI Speech“ hingegen stellt Funktionen für Spracherkennung und Sprachsynthese bereit, um Sprache präzise in Text oder Text in natürliches Sprachaudio übersetzen zu können.
Developer können auch den Dienst „Azure KI Language“ verwenden, um in ihren Anwendungen einen Service zu integrieren der Texte zusammenzufasst, Informationen klassifiziert oder Schlüsselbegriffe erkennt. Laut Microsoft liegen den Azure KI Services drei Prinzipien zugrunde, die dabei helfen können, die Time-to-Market zu verbessern:
- 1. Alle Azure KI-Services sind vorgefertigt und einsatzbereit.
- 2. Alle Azure KI-Services lassen sich über APIs ansprechen.
- 3. Alle Azure KI-Services sind direkt in Azure verfügbar.
Azure KI Services lassen sich unverändert nutzen, einige bieten aber auch die Möglichkeit der Anpassung, um spezielle Anforderungen besser erfüllen zu können. Diese Anpassungsmöglichkeiten z. B. in Azure KI Vision, Azure KI Speech und Azure OpenAI erlauben es, vorhandenen Modellen Daten hinzuzufügen.
Zugriff über APIs
Die Azure AI Services lassen sich mit minimalem Programmieraufwand in verschiedenen Entwicklungsumgebungen nutzen, weil sie über REST-APIs, Client-Bibliotheken oder mit Tools wie Azure Logic Apps oder Power Automate erreichbar sind.
Alle Dienste sind Cloud-basiert und daher als Azure-Ressource zugänglich, d. h. sie können auf die gleiche Weise wie andere Azure-Dienste verwaltet werden, also Platform-as-a-Service (PaaS), Infrastructure-as-a-Service (IaaS) oder als ein verwalteter Datenbankdienst. Da alle Azure KI Services cloudbasiert sind, müssen Sie demnach wie bei allen Azure-Diensten vorab eine Ressource erstellen, um den Dienst nutzen zu können.
Studio-Schnittstellen
Möglicherweise ist in den ersten beiden Beiträgen nicht klar herausgekommen, worin der Unterschied besteht zwischen: Azure-Ressourcen (wie z. B. „Azure AI services“, „Azure Machine Learning“) sowie den jeweiligen untergeordneten Ressourcen (wie „Azure Open AI“, „Maschinelles Sehen“ oder „Custom Vision“) auf der einen Seite und den diversen „KI-Studios“ auf der anderen.
Der vorangestellte Screenshot zeigt z. B. den Azure-Dienst „Azure AI services“ als übergeordnete Ressource, in der sich wiederrum wahlweise kombinierte „Azure AI services“ oder spezialisierte AI-Services wie „AI Search“, „Maschinelles Sehen“ usw. erstellen lassen. Dabei fällt auf, dass die Ressource „Azure AI services“ zweimal mit unterschiedlichen Logos auftaucht, einmal als übergeordneter Dienst und einmal als spezialisierte Ressource.
Hier taucht z. B. auch die schon von uns behandelte „Azure Open AI“-Sub-Ressource auf, mit deren Hilfe Services erstellt und betrieben werden, die aus der Zusammen von Microsoft mit Open AI resultieren. Architektonisch ist es so, dass die Dienste Azure-Services sind, die sich „im“ Azure-Portal erstellen lassen, sofern man als ausreichend berechtigter User im Azure -Portal angemeldet ist. Allerdings muss man sich für einige dieser Dienste vorher „amtlich“ bei Microsoft registrieren.
Im Unterschied dazu zeigt nebenstehendes Bild einen Ausschnitt aus meinen Edge-Lesezeichen mit einer kleinen Auswahl der diversen KI-Studios. Diese verfügen über eine jeweils eigenen öffentlichen DNS-Namen wie z. B. https://portal.vision.cognitive.azure.com/, welche direkt aufrufbar sind.
Um das jeweilige Studio produktiv nutzen zu können, ist es erforderlich, sich jeweils rechts oben unter „Sign In“ mit einem Unternehmenskonto anzumelden. Anschließend lässt sich die Studio-Ressource mit einer ggf. vorab erstellen Azure-KI-Services-Ressource verknüpfen, indem wir auf das Zahnrad-Symbol-Klicken und dann im Dialog „Select a resource to work with“ die jeweilige vorab erstellte Azure-KI-Ressource verknüpfen oder sie an dieser Stelle mit „+ Create a new resouce“ neu erstellen.
Erstellen wir die jeweilige Azure-KI-Ressource vorab im Azure-Portal, stellt Microsoft uns von hier aus einen Link oder Button zum jeweiligen Studio zur Verfügung, in der Regel auf der „Übersichtsseite“. Eine Ressource könnte beispielsweise „Maschinelles Sehen“ (Computervison), „Custom Vision“ oder „Gesichtserkennungs-API“ sein. Hier wird deutlich, dass sich die einzelnen Dienste nicht nur in ihrem Einsatzzweck überschneiden, sondern auch kombinierbar sind.
In der jeweiligen Azure-KI-Ressource geht es vorrangig um administrative Tätigkeiten, wie die zugehörigen Schlüssel und Endpunkte abzurufen, den Tarif einzustellen, die Netzwerkintegration einzurichten oder die Kosten zu analysieren. Die über die Studio-API angebundenen Studios dienen hingegen dem interaktiven Experimentieren mit Modellen.
Diese Studio-APIs bieten jeweils eine benutzerfreundliche Benutzeroberfläche zum Erkunden von Azure KI Services. So können z. B. Entwickler Azure KI Services mit den bereitgestellten Beispielen ausprobieren oder mit Ihren eigenen Inhalten experimentieren. Das „Studio“-basierten Konzept erlaubt Ihnen, Azure KI Services unabhängig von Ihrer Erfahrung mit KI oder Programmierung testen und bewerten zu können.
Nicht eben zur Übersichtlichkeit der Zusammenhänge trägt übrigens bei, dass es nicht nur für nahezu jeden Azure-KI-Service ein passendes Studio, sondern dass es mit dem neuen (derzeit noch in Preview befindlichen) Azure AI Studio auch eine Art übergeordneten Studio gibt, mit dem Entwickler laut Microsoft künftig alle ihre KI-Lösungen an einem zentralen Ort erstellen, auswerten und bereitstellen können.
Häufig ist es derzeit sogar so, dass Microsoft beim Aufrufen eines der klassischen Studios – hier das Content Safety Studio – explizit auf die Verfügbarkeit des neuen „Azure AI Studios“ hinweist. Auch ist man sich im Unternehmen offenbar nicht einig über die Namensgebung. Der Hinweis im Screenshot verweist unverkennbar auf das neuen „Azure AI Studio“. Dem Screenshot davor ist zu entnehmen, dass dessen URL auch https://ai.azure.com lautet. Im Studio selbst ist dann auf der Startseite von „Azure AI Studio“ die Rede, links oben steht aber „Azure KI Studio Vorschau“.
Umgang mit Studis und Diensten
Treten wir nun aber noch einen Schritt zurück und werfen einen grundlegenden Blick auf die KI-Dienste der Azure-Plattform. Wie im Portal „Azure AI services“ unschwer erkennbar ist, gibt es eine ganze Reihe von KI-Diensten (Microsoft jongliert/variiert je nach Lokalisation in den Bezeichnungen zwischen „KI“ und „AI“, sowohl im Azure Portal als auch in den jeweilige Studios). Eindeutig von KI abzugrenzen ist jedoch Maschine Learning (ML), ein Dienst, für den es eigene Portale und Studios gibt.
Wurde im Azure-Portal z. B. eine Ressource vom Typ „Maschinelles Sehen“ erstellt, ist im Portal „Azure AI services“ im Abschnitt „All Azure AI services“ ersichtlich, dass wir nun über eine Ressource vom Typ „ComputerVision“ verfügen, allerdings über keine Ressource vom Typ „Azure AI services“.
Auf diese Doppeldeutigkeit der Ressource „Azure AI services“ einmal als übergeordnete und einmal als spezialisierte Ressource hat der Autor bereits hingewiesen. Da alle KI/AI-Dienste in einem Entwicklungsprojekt kombinierbar sind, unterscheidet Microsoft nämlich zwischen einer „Ressource für mehrere Dienste“ und einer „Ressource für einen einzelnen Dienst“. Wir haben z. B. oben eine spezialisierte Ressource vom Typ „ComputerVision“ erzeugt.
Wir hätten aber auch eine Ressource erzeugen können, innerhalb derer sich mehrere Azure-KI-Dienste im Rahmen eines Projektes kombinieren ließen. Diese zeigte sich dann im Portal „Azure AI services“ im Abschnitt „Azure AI services“ im Menü „Azure AI Services“. Erstellen lässt sich eine solche mit dem Menüpunkt „Azure AI services multi-service account“. Diese verfügt über ihre eigenen Endpunkte und Schlüssel, die man alternativ zu den Schlüsseln der spezialisierten Ressourcen ebenfalls verwenden kann.