Einführung in Azure AI Services, Teil 3 Grundlagen für die Entwicklung mit Azure AI

Von Dipl. -Ing. Thomas Drilling 8 min Lesedauer

Anbieter zum Thema

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.

Ein Blick auf das neue Azure-AI-Studio.
Ein Blick auf das neue Azure-AI-Studio.
(Bild: Drilling / Microsoft)

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.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

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.

Das Portfolio der Azure KI-Services.
Das Portfolio der Azure KI-Services.
(Bild: Drilling / Microsoft)

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.

Die verschiedenen Azure-KI-Studios.
Die verschiedenen Azure-KI-Studios.
(Bild: Drilling / Microsoft)

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.

Das jeweilige KI-Studio muss jeweils mit einer Azure-KI-Ressource verknüpft werden.
Das jeweilige KI-Studio muss jeweils mit einer Azure-KI-Ressource verknüpft werden.
(Bild: Drilling / Microsoft)

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.

Der Zugang zum Visio Studio ist nicht zu übersehen.
Der Zugang zum Visio Studio ist nicht zu übersehen.
(Bild: Drilling / Microsoft)

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.

Die Einstiegsseite des Vision Studios.
Die Einstiegsseite des Vision Studios.
(Bild: Drilling / Microsoft)

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.

Das neue Azure-AI-Studio.
Das neue Azure-AI-Studio.
(Bild: Drilling / Microsoft)

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.

Das Content-Safety-Studio weist auf die Verfügbarkeit des neuen AI-Studios hin.
Das Content-Safety-Studio weist auf die Verfügbarkeit des neuen AI-Studios hin.
(Bild: Drilling / Microsoft)

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.

Eine spezialisierte Ressource vom Typ „Maschinelles Sehen“ (ComputerVision).
Eine spezialisierte Ressource vom Typ „Maschinelles Sehen“ (ComputerVision).
(Bild: Drilling / Microsoft)

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.

Ein Multi-Service-Account kombiniert mehrere KI-Dienste.
Ein Multi-Service-Account kombiniert mehrere KI-Dienste.
(Bild: Drilling / Microsoft)

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.

Wollen wir eine entsprechende Ressource erstellen, benötigen wir wie üblich eine Subscription, eine Ressourcengruppe, eine Region, einen Namen und einen Tarif. Dieser taucht anschließend nicht nur im Abschnitt „All Azure AI services“ des Portals „Azure AI services“ auf, sondern kann nun auch im jeweiligen Studio verknüpft werden, z. B. im Vision Studio (siehe die drei folgenden Bilder.

Bildergalerie

Die Modelle zur Gesichtserkennung im Vision-Studio.
Die Modelle zur Gesichtserkennung im Vision-Studio.
(Bild: Drilling / Microsoft)

Ist unser Ziel also eine Gesichtserkennung, können wir je nach Bedarf eine Ressource vom Typ „Maschinelles Sehen“ (ComputerVision), „Gesichtserkennungs-API“, „Custom Vision“ oder „Azure AI services multi-service-account“ erstellen und z. B. mit dem Vision-Studio verknüpfen. Dessen Startseite begrüßt uns dann wie folgt: Die Funktionen zur Gesichtserkennung finden Sie dann im Tab „Face“. Mit den Grundlagen bewaffnet, werden wir uns im nächsten Teil konkret dieser Funktion zuwenden.

(ID:49983240)