Bekanntgabe der allgemeinen Verfügbarkeit von Azure Machine Learning Service: ein Blick hinter die Kulissen

Veröffentlicht am 4 Dezember, 2018

Group Program Manager, Microsoft Azure

Heute geben wir die allgemeine Verfügbarkeit von Azure Machine Learning Service bekannt.

Azure Machine Learning Service enthält zahlreiche fortgeschrittene Funktionen, mit denen das Erstellen, Trainieren und Bereitstellen von Machine Learning-Modellen vereinfacht und beschleunigt wird. Mithilfe von automatisiertem maschinellem Lernen können Datenspezialisten aller Kenntnisstufen geeignete Algorithmen und Hyperparameter schneller ermitteln. Die Unterstützung von verbreiteten Open-Source-Frameworks wie PyTorch, TensorFlow und scikit ermöglicht es Datenspezialisten, die Tools ihrer Wahl zu verwenden. DevOps-Funktionen für maschinellen Lernen verbessern die Produktivität weiter durch die Möglichkeit der Verfolgung von Experimenten und der Verwaltung von in der Cloud und am Edge bereitgestellten Modellen. Alle diese Funktionen sind von jeder Python-Umgebung aus zugänglich, unabhängig davon, wo sie ausgeführt wird. Das schließt auch die Arbeitsstationen der Datenspezialisten ein.

Wir haben den Azure Machine Learning-Dient in enger Zusammenarbeit mit unseren Kunden aufgebaut, von denen viele ihn für einen besseren Kundendienst, gesteigerte Produktergebnisse und einen optimierten Betrieb täglich nutzen. Im Folgenden finden Sie zwei Beispiele für solche Kunden.

TAL, ein 150 Jahre altes Lebensversicherungsunternehmen in Australien, nutzt KI, um die Qualitätssicherung und die Kundenerfahrung zu verbessern. Das Qualitätssicherungsteam von TAL konnte traditionell nur eine zufällige Stichprobe von 2 bis 3 % der Fälle prüfen. Mit Azure Machine Learning Service kann es nun 100 % aller Fälle prüfen.

„Mit Azure Machine Learning können die Datenspezialisten von TAL Modelle gewöhnlich innerhalb von Stunden anstelle von Wochen oder Monaten bereitstellen. Das sorgt für schnellere Ergebnisse und die Möglichkeit, wesentlich mehr Modelle als zuvor umzusetzen. In dieser Hinsicht kann nichts auf dem Markt mit Azure Machine Learning mithalten.“

– Gregor Pacnik, Innovation Delivery Manager, TAL

Elastacloud, eine Data Science-Beratungsagentur in London, nutzt Azure Machine Learning Service zum Erstellen und Ausführen des Diensts Elastacloud Energy BSUoS Forecast. Diese KI-gestützte Lösung hilft Energieanbietern dabei, die Nachfrage besser vorherzusagen und Kosten zu verringern.

„Mit Azure Machine Learning unterstützen wir BSUoS Forecast ohne virtuelle Computer und ohne Notwendigkeit der Verwaltung. Wir haben einen hochgradig automatisierten Dienst geschaffen, dessen Komplexität sich in serverlosen Geräten verbirgt.“

– Andy Cross, COO, Elastacloud

Designprinzipien von Azure Machine Learning Service

Zur Vereinfachung und Beschleunigung von maschinellem Lernen beruht Azure Machine Learning auf den folgenden Designprinzipien, die im restlichen Blogbeitrag ausführlich erläutert werden.

  • Ermöglichen der Verwendung vertrauter und umfassender Data Science-Tools für Datenspezialisten
  • Vereinfachen der Nutzung verbreiteter Frameworks für maschinelles Lernen und Deep Learning
  • Beschleunigen der Umsetzungszeit durch Bereitstellen von Funktionen für maschinelles Lernen im gesamten Lebenszyklus

Vertraute Data Science-Tools

Datenspezialisten gehen davon aus, das gesamte Python-Ökosystem von Bibliotheken und Frameworks nutzen und das Training lokal auf ihrem Laptop oder ihrer Arbeitsstation durchführen zu können. In der Branche gibt es ein breites Angebot an Tools, die sich grob in Befehlszeilenschnittstellen, Editoren und IDEs sowie Notebooks unterteilen lassen. Azure Machine Learning Service unterstützt alle diese Tools von Hause aus. Das Python SDK ist in jeder Python-Umgebung sowie von IDEs wie Visual Studio Code (VS Code) oder PyCharm und Notebooks wie Jupyter und Azure Databricks zugänglich. Im Folgenden finden Sie eine nähere Beschreibung der Integration von Azure Machine Learning Service in einige dieser Tools.

Jupyter Notebooks sind eine verbreitete Entwicklungsumgebung für Datenspezialisten, die mit Python arbeiten. Azure Machine Learning Service bietet eine stabile Unterstützung für lokale und gehostete Notebooks (z.B. Azure Notebooks) und stellt integrierte Widgets bereit, mit denen Datenspezialisten den Fortschritt von Trainingsaufträgen visuell nahezu in Echtzeit überwachen können, wie in der nachstehenden Abbildung dargestellt. Kunden, die maschinelles Lernen in Azure Databricks umsetzen, können auch die Azure Databricks-Notebooks verwenden.

Jupyter Notebooks

Visual Studio Code ist ein schlanker, aber dennoch leistungsfähiger Quellcode-Editor, der auf Ihrem Desktop ausgeführt wird und für Windows, macOS und Linux verfügbar ist. Die Python-Erweiterung für Visual Studio Code kombiniert die Leistungsfähigkeit von Jupyter Notebooks mit der von Visual Studio Code. Dadurch können Datenspezialisten inkrementell auf „Notebook-Weise“ experimentieren und gleichzeitig die ganze von Visual Studio Code gebotene Produktivität erreichen, z.B. mit IntelliSense, dem integrierten Debugger und Live Share, wie in der nachstehenden Abbildung gezeigt.

Python-Erweiterung für Visual Studio Code

Unterstützung für verbreitete Frameworks

Frameworks sind die wichtigsten Bibliotheken, mit denen Datenspezialisten ihre Modelle erstellen. Azure Machine Learning Service unterstützt alle Python-basierten Frameworks. Die beliebtesten, scikit-learn, PyTorch und TensorFlow, wurden in eine Einschätzungsklasse umgewandelt, um die Übermittlung von Trainingscode für Remotecompute zu vereinfachen, sowohl für einzelne Knoten als auch über GPU-Cluster verteiltes Training. Darüber hinaus ist dies nicht auf Frameworks für maschinelles Lernen beschränkt. Alle Pakete aus dem riesigen Python-Ökosystem können verwendet werden.

Uns ist bewusst, dass Kunden oft mehreren Herausforderungen gegenüberstehen, wenn sie Modelle mit mehreren Frameworks erstellen und auf unterschiedlicher Hardware und verschiedenen Betriebssystemplattformen bereitstellen möchten. Dies liegt daran, dass die Frameworks nicht für eine austauschbare Verwendung entworfen wurden und spezifische Optimierungen für Hardware und Betriebssystemplattformen erfordern. Microsoft hat als Antwort auf diese Probleme in Zusammenarbeit mit Branchenführern wie Facebook und AWS sowie Hardwareunternehmen die Open Neural Network Exchange-Spezifikation (ONNX) entwickelt, um Modelle für maschinelles Lernen in einem offenen Standardformat zu beschreiben. Azure Machine Learning Service unterstützt ONNX und ermöglicht Kunden, ONNX-Modelle einfach bereitzustellen, zu verwalten und zu überwachen. Darüber hinaus haben wir heute angekündigt, eine konsistente Softwareplattform zum cloud- und edgeübergreifenden Ausführen von ONNX-Modellen bereitzustellen, indem wir die ONNX-Runtime als Open Source veröffentlichen. Wir laden Sie ein, ein Teil der Community zu werden und zum ONNX-Projekt beizutragen.

Vollständiger Lebenszyklus mit maschinellem Lernen

Azure Machine Learning ist nahtlos in Azure-Dienste integriert und bietet so End-to-End-Funktionen für den Lebenszyklus mit maschinellem Lernen, einschließlich Datenaufbereitung, Experimente, Modelltraining, Modellverwaltung, Bereitstellung und Überwachung.

Datenaufbereitung

Kunden können die vielfältigen Funktionen der Datenplattform nutzen, etwa Azure Databricks, um ihre Daten für maschinelles Lernen vorzubereiten. Das DataPrep SDK ist als Ergänzung zum Azure Machine Learning-Python SDK verfügbar, um Datentransformationen zu vereinfachen.

Schulungen

Azure Machine Learning Service bietet nahtlos verteilte Computefähigkeiten, durch die Datenspezialisten das Training von ihrem lokalen Laptop oder ihrer Arbeitsstation horizontal in die Cloud skalieren können. Die Computeleistung ist bedarfsgesteuert. Benutzer bezahlen nur die Computezeit und müssen keine GPU- oder CPU-Cluster verwalten.

Azure Machine Learning-Codebeispiel

Datenexperten, die bereits mit Apache Spark arbeiten, sollten auf Azure Databricks-Clustern trainieren. Das Azure Machine Learning Service SDK ist in die Azure Databricks-Umgebung integriert und kann diese nahtlos für Experimente sowie Modellbereitstellung und -verwaltung erweitern.

Experimentieren

Datenspezialisten erstellen ihr Modell über einen Experimentierprozess, bei dem die Daten und der Trainingscode mehrfach iterativ durchlaufen werden, bis das Modell die gewünschten Ergebnisse liefert. Azure Machine Learning Service bietet leistungsstarke Funktionen zur Verbesserung der Produktivität von Datenspezialisten bei gleichzeitiger Verbesserung von Governance, Wiederholbarkeit und Kollaboration während der Modellentwicklung.

1. Mithilfe von automatisiertem maschinellem Lernen können Datenspezialisten ein Dataset und ein Szenario (Regression, Klassifizierung oder Vorhersage) auswählen, und das automatisierte maschinelle Lernen schlägt mithilfe von erweiterten Techniken ein neues Modell einschließlich Featureentwicklung, Algorithmusauswahl und Sweeping von Hyperparametern vor.

2. Die Hyperparameterabstimmung vorhandener Modelle ermöglicht eine schnelle und intelligente Erkundung der Hyperparameter und trägt durch frühe Beendigung ungeeigneter Trainingsaufträge zur Verbesserung der Modellgenauigkeit bei.

3. Machine Learning-Pipelines ermöglichen Datenspezialisten, ihr Modelltraining in diskrete Schritte zu modularisieren, z.B. Datenverschiebung, Datentransformation, Featureextraktion, Training und Auswertung. Machine Learning-Pipelines sind ein Mechanismus für die Automatisierung, Freigabe und Reproduktion von Modellen. Sie bieten auch Leistungsverbesserungen, indem direkte Ausgaben zwischengespeichert werden, während der Datenspezialist Iterationen in der inneren Schleife der Modellentwicklung ausführt.

Machine Learning-Pipelines

4. Im Ausführungsverlauf werden schließlich alle Trainingsdurchgänge, die Modellleistung und die zugehörigen Metriken erfasst. Wir verfolgen den Code, die Computeleistung und die beim Training des Modells verwendeten Datasets. Der Datenspezialist kann Durchgänge vergleichen und dann das am besten geeignete Modell für seine Problembeschreibung auswählen. Nach der Auswahl wird das Modell bei der Modellregistrierung registriert, sodass die Modelle in der Produktion überprüft werden können, einschließlich Herkunft.

Bereitstellung, Modellverwaltung und Überwachung

Nachdem die Modellentwicklung durch die Datenspezialisten abgeschlossen ist, müssen die Modelle in die Produktion überführt, verwaltet und überwacht werden. Die Modellregistrierung von Azure Machine Learning Service verfolgt die Modelle mit ihrem Versionsverlauf sowie der Herkunft und der Artefakte des Modells. 

Azure Machine Learning Service bietet die Möglichkeit, in der Cloud und am Edge bereitzustellen und je nach den Anforderungen des Kunden Echtzeit- und Batchbewertungen vorzunehmen. In der Cloud stellt Azure Machine Learning Service einen Kubernetes-Cluster mit Azure Kubernetes Service (AKS) oder durch Anfügen an den eigenen AKS-Cluster des Kunden bereit, führt einen Lastenausgleich durch und skaliert ihn. Dadurch können mehrere Modelle in der Produktion bereitgestellt werden. Der Cluster wird anhand der Last automatisch skaliert. Modellverwaltungsaktivitäten können über das Python SDK oder die Benutzeroberfläche erledigt werden, aber auch über die Befehlszeilenschnittstelle (CLI) und die REST-API, die mit Azure DevOps aufgerufen werden können. Mit diesen Funktionen wird der Modelllebenszyklus vollständig in den restlichen Lebenszyklus des Kunden integriert.

Codebeispiel

Modelle in der Registrierung können auch auf Edgegeräten bereitgestellt werden, die in den Azure IoT Edge-Dienst (in der Vorschau) integriert sind.

Wenn sich das Modell in der Produktion befindet, sammelt der Dienst die Telemetrie der Anwendung und des Modells, sodass das Modell in der Produktion auf betriebliche und inhärente Stimmigkeit überwacht werden kann. Die während dieser Ableitung erfassten Daten werden den Datenspezialisten präsentiert, die mithilfe dieser Informationen die Modellleistung, Datenabweichungen und ggf. eine Abnahme der Modellgenauigkeit ermitteln können.

Azure Machine Learning Service bietet für extrem schnelle und kostengünstige Ableitung hardwarebeschleunigte Modelle (in der Vorschau), die eine Beschleunigung des Visualisierungsmodells über FPGAs erreichen. Diese Funktion bietet nur Azure Machine Learning Service – und das mit führender Latenz in seiner Klasse sowie Vorteilen bei Kosten und Transaktionen für Aufträge mit Offlineverarbeitung.

Seien Sie dabei

Azure Machine Learning Service konnte nur dank der engen Zusammenarbeit mit Ihnen, unseren Kunden und Partnern, erdacht, entwickelt und bereitgestellt werden. Wir freuen uns darauf, Ihnen beim Vereinfachen und Beschleunigen Ihrer Prozesse zum maschinellen Lernen zu helfen, indem wir die offenste, produktivste und benutzerfreundlichste Cloudplattform für maschinellen Lernen bereitstellen.

Besuchen Sie den Leitfaden für erste Schritte, um Ihre Reise mit uns zu beginnen!