Worum handelt es sich bei ML Services in Azure HDInsight?

Wichtig

This content is retired and will not be updated in the future. Azure HDInsight 3.6 ML Services (Machine Learning Server) cluster type was retired as of Dec 31, 2020.

Microsoft Machine Learning Server ist als Bereitstellungsoption bei der Erstellung von HDInsight-Clustern in Azure verfügbar. Der Clustertyp, der diese Option bietet, heißt ML Services. Mit dieser Funktion haben Sie bedarfsgesteuerten Zugriff auf anpassbare verteilte Analysemethoden in HDInsight.

ML Services in HDInsight verfügt über die aktuellen Funktionen für R-basierte Analysen jedes Umfangs. Die Datasets können in Azure-Blobspeicher oder Data Lake Storage geladen werden. Für Ihre R-basierten Anwendungen können die Open-Source-Pakete der Serie 8000+ von R verwendet werden. Die Routinen in ScaleR, dem Big Data-Analysepaket von Microsoft, stehen ebenfalls zur Verfügung.

Der Edgeknoten ist ein praktischer Ort für die Verbindungsherstellung mit dem Cluster und die Ausführung Ihrer R-Skripts. Über den Edgeknoten können Sie die parallelisierten verteilten ScaleR-Funktionen übergreifend für die Kerne des Servers ausführen. Außerdem können Sie sie auf allen Knoten des Clusters ausführen, indem Sie Hadoop MapReduce von ScaleR verwenden. Sie können auch Apache Spark-Computekontexte nutzen.

Die Modelle oder Vorhersagen, die sich aus der Analyse ergeben, können für die lokale Verwendung heruntergeladen werden. Sie können auch an anderer Stelle in Azure operationalisiert (operationalized) werden. Genauer gesagt per Azure Machine Learning Studio (Classic) und Webdienst.

Erste Schritte mit ML Services in HDInsight

Wählen Sie zum Erstellen eines ML Services-Clusters in HDInsight den Clustertyp ML Services aus. Beim Clustertyp „ML Services“ ist ML Server auf den Datenknoten enthalten, und es wird ein Edgeknoten verwendet. Der Edgeknoten dient als Zielzone für ML Services-basierte Analysen. Unter Erstellen von Apache Hadoop-Clustern im Azure-Portal finden Sie eine exemplarische Vorgehensweise zum Erstellen des Clusters.

Gründe für die Wahl von ML Services in HDInsight

ML Services in HDInsight bietet folgende Vorteile:

KI-Innovation von Microsoft und Open-Source

ML Services umfasst einen verteilten Satz mit Algorithmen, z. B. RevoscaleR, revoscalepy und microsoftML, der stark angepasst werden kann. Mit diesen Algorithmen können Datengrößen verarbeitet werden, die größer als der physische Speicher sind. Darüber hinaus werden sie auf verteilte Weise auf vielen verschiedenen Plattformen ausgeführt. Erfahren Sie mehr über die Sammlung der angepassten R-Pakete und Python-Pakete von Microsoft, die im Lieferumfang des Produkts enthalten sind.

ML Services verbindet diese Microsoft-Innovationen mit Beiträgen aus der Open-Source-Community (R-, Python- und KI-Toolkits). Alles auf einer zentralen Plattformen, die für Unternehmen geeignet ist. Jedes Open-Source-Paket für maschinelles Lernen in R oder Python funktioniert parallel mit jeder proprietären Innovation von Microsoft.

Einfache, sichere und hochgradig skalierbare Operationalisierung und Verwaltung

Unternehmen, die auf traditionelle Paradigmen und Umgebungen bauen, investieren viel Zeit und Mühe in die Operationalisierung. Diese Aktion führt zu überhöhten Kosten und zu Verzögerungen, einschließlich der Übersetzungszeit, in Bezug auf Modelle, Iterationen (um sie gültig und aktuell zu halten), behördliche Genehmigungen und die Berechtigungsverwaltung.

ML Services ermöglicht eine Operationalisierung auf Unternehmensniveau. Nachdem ein Machine Learning-Modell abgeschlossen wurde, benötigen Sie nur wenige Klicks, um Webdienst-APIs zu generieren. Diese Webdienste werden auf einem Serverraster in der Cloud gehostet und können mit Branchenanwendungen integriert werden. Durch die Möglichkeit der Bereitstellung in einem elastischen Raster können Sie nahtlos mit den Anforderungen Ihres Unternehmens skalieren, sowohl für Batch- als auch für Echtzeitbewertung. Anweisungen finden Sie unter Operationalisieren von ML Services in HDInsight.

Hinweis

Der Clustertyp „ML Services“ in HDInsight wird nur in HDInsight 3.6 unterstützt. HDInsight 3.6 wird voraussichtlich am 31. Dezember 2020 eingestellt.

Zentrale Features von ML Services in HDInsight

Die folgenden Features sind in ML Services in HDInsight enthalten.

Featurekategorie BESCHREIBUNG
R-fähig R-Pakete für in R erstellte Lösungen mit einer Open-Source-Distribution von R und einer Laufzeitinfrastruktur für die Skriptausführung.
Python-fähig Python-Module für in Python erstellte Lösungen mit einer Open-Source-Distribution von Python und einer Laufzeitinfrastruktur für die Skriptausführung.
Vortrainierte Modelle Für visuelle Analyse und Textempfindungsanalyse, bereit zur Bewertung der Daten, die Sie zur Verfügung stellen.
Bereitstellen und Nutzen Führen Sie für Ihren Server einen Operationalize-Vorgang aus, und stellen Sie Lösungen als Webdienst bereit.
Remoteausführung Starten Sie Remotesitzungen auf ML Services-Clustern in Ihrem Netzwerk von Ihrer Clientarbeitsstation aus.

Datenspeicherungsoptionen für ML Services in HDInsight

Der Standardspeicher für das HDFS-Dateisystem kann ein Azure Storage-Konto oder Azure Data Lake Storage sein. Die Daten, die während der Analyse in den Clusterspeicher hochgeladen werden, werden dauerhaft gespeichert. Sie stehen daher auch nach dem Löschen des Clusters zur Verfügung. Die Datenübertragung an den Speicher kann mit verschiedenen Tools durchgeführt werden. Zu diesen Tools gehören beispielsweise die Uploadfunktion des Speicherkontos im Portal und das Hilfsprogramm AzCopy.

Sie können den Zugriff auf weiteren Blobspeicher und Data Lake Storage während der Clustererstellung aktivieren. Sie sind bei der Nutzung nicht auf die primäre Speicheroption beschränkt. Weitere Informationen zur Verwendung von mehreren Speicherkonten finden Sie unter Azure Storage-Optionen für ML Services in HDInsight.

Außerdem können Sie Azure Files als Speicheroption für den Edgeknoten wählen. Azure Files ermöglicht die Nutzung von in Azure Storage erstellten Dateifreigaben für das Linux-Dateisystem. Weitere Informationen finden Sie unter Azure Storage-Lösungen für ML Services in HDInsight.

Zugreifen auf ML Services-Edgeknoten

Sie können über einen Browser oder SSH/PuTTY eine Verbindung mit ML Server auf dem Edgeknoten herstellen. Die R-Konsole wird standardmäßig während der Clustererstellung installiert.

Entwickeln und Ausführen von R-Skripts

Für Ihre R-Skripts können alle Open-Source-Pakete der Serie 8000+ von R verwendet werden. Sie können auch die parallelisierten und verteilten Routinen aus der ScaleR-Bibliothek verwenden. Auf dem Edgeknoten ausgeführte Skripts werden über den R-Interpreter des Knotens ausgeführt. Eine Ausnahme stellen die Schritte dar, bei denen ScaleR-Funktionen mit einem Computetext vom Typ MapReduce (RxHadoopMR) oder Spark (RxSpark) aufgerufen werden. Die Funktionen werden auf verteilte Weise auf den Datenknoten ausgeführt, die den Daten zugeordnet sind. Weitere Informationen zu den Kontextoptionen finden Sie unter Computekontextoptionen für ML Services in HDInsight.

Ausführen eines Operationalize-Vorgangs für ein Modell

Führen Sie nach Abschluss der Datenmodellierung für das Modell einen operationalize-Vorgang aus, um in Azure oder lokal Vorhersagen über neue Daten treffen zu können. Dieser Prozess wird als Bewertung bezeichnet. Eine Bewertung kann in HDInsight, Azure Machine Learning oder lokal ausgeführt werden.

Bewertung in HDInsight

Schreiben Sie eine R-Funktion, um die Bewertung in HDInsight durchzuführen. Die Funktion ruft Ihr Modell auf, um Vorhersagen für eine neue Datendatei zu treffen, die Sie in Ihr Speicherkonto geladen haben. Speichern Sie die Vorhersagen dann wieder im Speicherkonto. Sie können diese Routine bedarfsgesteuert auf dem Edgeknoten Ihres Clusters oder mithilfe eines geplanten Auftrags ausführen.

Bewertung in Azure Machine Learning (AML)

Verwenden Sie für die Bewertung mit Azure Machine Learning das Open-Source-Azure Machine Learning-R-Paket namens AzureML, um Ihr Modell als Azure-Webdienst zu veröffentlichen. Der Einfachheit halber ist dieses Paket auf dem Edgeknoten vorinstalliert. Verwenden Sie als Nächstes die Funktionen in Azure Machine Learning zum Erstellen einer Benutzeroberfläche für den Webdienst, und rufen Sie den Webdienst dann nach Bedarf für die Bewertung auf. Konvertieren Sie anschließend ScaleR-Modellobjekte in gleichwertige Open-Source-Modellobjekte, die für den Webdienst verwendet werden können. Verwenden Sie für diese Umwandlung ScaleR-Koersionsfunktionen wie as.randomForest() für ensemblebasierte Modelle.

Lokale Bewertung

Gehen Sie wie folgt vor, um nach der Erstellung Ihres Modells eine lokale Bewertung durchzuführen: Serialisieren Sie das Modell in R, laden Sie es herunter, deserialisieren Sie es, und verwenden Sie es anschließend für die Bewertung neuer Daten. Sie können die Bewertung für neue Daten durchführen, indem Sie den weiter oben unter Bewertung in HDInsight beschriebenen Ansatz verwenden oder Webdienste nutzen.

Verwalten des Clusters

Installieren und Verwalten von R-Paketen

Die meisten R-Pakete, die Sie verwenden, sind auf dem Edgeknoten erforderlich, da ein Großteil der Schritte Ihrer R-Skripts dort ausgeführt wird. Um auf dem Edgeknoten zusätzliche R-Pakete zu installieren, verwenden Sie in R die install.packages()-Methode.

Falls Sie nur ScaleR-Bibliotheksroutinen verwenden, benötigen Sie normalerweise keine zusätzlichen R-Pakete. Sie benötigen unter Umständen zusätzliche Pakete für die Ausführung von rxExec oder RxDataStep auf den Datenknoten.

Die zusätzlichen Pakete können nach dem Erstellen des Clusters mit einer Skriptaktion installiert werden. Weitere Informationen finden Sie unter Verwalten von ML Services in HDInsight-Clustern.

Ändern der Apache Hadoop MapReduce-Speichereinstellungen

Der für ML Services verfügbare Arbeitsspeicher kann geändert werden, wenn ein MapReduce-Auftrag ausgeführt wird. Verwenden Sie zum Ändern eines Clusters die Apache Ambari-Benutzeroberfläche für Ihren Cluster. Eine Anleitung zur Ambari-Benutzeroberfläche finden Sie unter Verwalten von HDInsight-Clustern mithilfe der Ambari-Webbenutzeroberfläche.

Sie können den verfügbaren Arbeitsspeicher für ML Services ändern, indem Sie im RxHadoopMR-Aufruf Hadoop-Switches verwenden:

hadoopSwitches = "-libjars /etc/hadoop/conf -Dmapred.job.map.memory.mb=6656"

Skalieren des Clusters

Ein vorhandener ML Services-Cluster in HDInsight kann über das Portal zentral hoch- oder herunterskaliert werden. Durch das Hochskalieren schaffen Sie zusätzliche Kapazität für umfangreichere Verarbeitungsaufgaben. Sie können die Skalierung für einen Cluster rückgängig machen, wenn er nicht benötigt wird. Eine Anleitung zum Skalieren eines Clusters finden Sie unter Verwalten von HDInsight-Clustern.

Warten des Systems

Die Wartung des Betriebssystems wird auf den zugrunde liegenden Linux-VMs eines HDInsight-Clusters außerhalb der Geschäftszeiten durchgeführt. Normalerweise erfolgt die Wartung immer montags und donnerstags um 3:30 Uhr (Ortszeit der VM). Updates wirken sich jeweils nur auf maximal ein Viertel des Clusters aus.

Während der Wartung kann es für aktive Aufträge zu einer Verlangsamung kommen. Sie sollten aber trotzdem vollständig ausgeführt werden. Jegliche benutzerdefinierte Software oder lokalen Daten, über die Sie ggf. verfügen, werden über diese Wartungsereignisse hinweg beibehalten – sofern kein schwerwiegender Fehler auftritt, der eine Neuerstellung des Clusters erfordert.

IDE-Optionen für ML Services in HDInsight

Der Linux-Edgeknoten auf einem HDInsight-Cluster stellt die Landezone für R-basierte Analysen dar. Neuere Versionen von HDInsight verfügen über eine browserbasierte IDE von RStudio auf dem Edgeknoten. RStudio Server weist in Bezug auf die Entwicklung und Ausführung eine höhere Produktivität als die R-Konsole auf.

Eine Desktop-IDE verfügt per MapReduce- oder Spark-Remote-Computekontext über Zugriff auf den Cluster. Zu den Optionen gehören R Tools für Visual Studio (RTVS) von Microsoft, RStudio und das auf Eclipse basierende StatET von Walware.

Greifen Sie auf die R-Konsole auf dem Edgeknoten zu, indem Sie an der Eingabeaufforderung R eingeben. Bei Nutzung der Konsolenoberfläche ist es ratsam, R-Skripts in einem Text-Editor zu entwickeln. Sie können die Abschnitte Ihres Skripts dann je nach Bedarf ausschneiden und in die R-Konsole einfügen.

Preise

Die Preise für einen ML Services-HDInsight-Cluster sind ähnlich strukturiert wie für andere HDInsight-Clustertypen. Sie basieren auf der Größe der zugrunde liegenden VMs auf den Namens-, Daten- und Edgeknoten. Hinzu kommt eine stündliche Zusatzgebühr pro Kern. Weitere Informationen finden Sie unter HDInsight – Preise.

Nächste Schritte

Weitere Informationen zur Verwendung von ML Services in HDInsight-Clustern finden Sie in den folgenden Artikeln: