Erstellen Sie benutzerdefinierte Modelle mit Azure Machine Learning Designer

Maschinelles Lernen ist ein wichtiger Bestandteil der modernen Anwendungsentwicklung. Es ersetzt viel von dem, was früher mit einer komplexen Reihe von Regelengines gemacht wurde, und erweitert die Abdeckung auf ein viel breiteres Spektrum von Problemen. Dienste wie die kognitiven Dienste von Azure bieten vorgefertigte, vorgefertigte Modelle, die viele gängige Anwendungsfälle unterstützen, aber viele weitere erfordern eine benutzerdefinierte Modellentwicklung.

Mit ML nach Maß

Wie erstellen wir benutzerdefinierte Modelle für maschinelles Lernen? Sie können an einem Ende mit statistischen Analysesprachen wie R beginnen, um Modelle zu erstellen und zu validieren, bei denen Sie bereits ein Gefühl für die zugrunde liegende Struktur Ihrer Daten haben, oder Sie können mit den linearen Algebra-Funktionen der Anaconda-Suite von Python arbeiten. In ähnlicher Weise können Tools wie PyTorch und TensorFlow dabei helfen, komplexere Modelle zu erstellen, wobei neuronale Netze und tiefes Lernen genutzt werden und gleichzeitig in vertraute Sprachen und Plattformen integriert werden.

Das ist alles gut, wenn Sie ein Team von Datenwissenschaftlern und Mathematikern haben, die in der Lage sind, ihre Modelle zu erstellen, zu testen und (am wichtigsten) zu validieren. Da Fachwissen zum maschinellen Lernen schwer zu finden ist, sind Tools erforderlich, die Entwickler bei der Erstellung der Modelle unterstützen, die Unternehmen benötigen. In der Praxis fallen die meisten Modelle für maschinelles Lernen in zwei Typen: Der erste identifiziert ähnliche Daten, der zweite identifiziert abgelegene Daten.

Wir können den ersten App-Typ verwenden, um bestimmte Elemente auf einem Förderband zu identifizieren, oder den zweiten nach Problemen mit Daten einer Reihe industrieller Sensoren suchen. Szenarien wie diese sind nicht besonders komplex, erfordern jedoch die Erstellung eines validierten Modells, um sicherzustellen, dass es das Gesuchte identifiziert und das Signal in den Daten findet, keine Annahmen verstärkt oder auf Rauschen reagiert.

Einführung in Azure Machine Learning Designer

Azure bietet hierfür neben vorgefertigten, vorgefertigten und anpassbaren Modellen verschiedene Tools. Mit Azure Machine Learning Designer können Sie mit einer Reihe visueller Entwurfswerkzeuge und Drag & Drop-Steuerelementen mit Ihren vorhandenen Daten arbeiten.

Sie müssen keinen Code schreiben, um Ihr Modell zu erstellen. Es besteht jedoch die Möglichkeit, bei Bedarf benutzerdefiniertes R oder Python einzubringen. Es ist ein Ersatz für das ursprüngliche ML Studio-Tool, das eine tiefere Integration in die SDKs für maschinelles Lernen von Azure bietet und mehr als nur CPU-basierte Modelle unterstützt. Es bietet GPU-gestütztes maschinelles Lernen sowie automatisiertes Modelltraining und -optimierung.

Öffnen Sie zunächst die Azure Machine Learning-Site und melden Sie sich mit einem Azure-Konto an, um mit Azure Machine Learning Designer zu beginnen. Stellen Sie zunächst eine Verbindung zu einem Abonnement her und erstellen Sie einen Arbeitsbereich für Ihre Modelle. Der Setup-Assistent fordert Sie auf, anzugeben, ob die resultierenden Modelle einen öffentlichen oder einen privaten Endpunkt haben und ob Sie mit vertraulichen Daten arbeiten möchten, bevor Sie auswählen, wie Schlüssel verwaltet werden sollen. Vertrauliche Daten werden in einem von Azure als "Arbeitsbereich mit hoher geschäftlicher Auswirkung" definierten Bereich verarbeitet, der die Menge der von Microsoft gesammelten Diagnosedaten reduziert und zusätzliche Verschlüsselungsstufen hinzufügt.

Konfigurieren eines Arbeitsbereichs für maschinelles Lernen

Sobald Sie den Assistenten durchlaufen haben, überprüft Azure Ihre Einstellungen, bevor Sie Ihren ML-Arbeitsbereich erstellen. Nützlicherweise bietet es Ihnen eine ARM-Vorlage, mit der Sie den Erstellungsprozess in Zukunft automatisieren können. Sie bietet ein Framework für Skripts, die Geschäftsanalysten über ein internes Portal verwenden können, um die Belastung Ihrer Azure-Administratoren zu verringern. Das Bereitstellen der zum Erstellen eines Arbeitsbereichs erforderlichen Ressourcen kann einige Zeit in Anspruch nehmen. Warten Sie daher eine Weile, bevor Sie mit dem Erstellen von Modellen beginnen können.

Ihr Arbeitsbereich enthält Tools zum Entwickeln und Verwalten von Modellen für maschinelles Lernen, von Design und Schulung bis hin zur Verwaltung von Computer und Speicher. Es hilft Ihnen auch dabei, vorhandene Daten zu kennzeichnen und den Wert Ihres Trainingsdatensatzes zu erhöhen. Sie möchten wahrscheinlich mit den drei Hauptoptionen beginnen: Arbeiten mit dem Azure ML Python SDK in einem Notizbuch im Jupyter-Stil, Verwenden der automatisierten Trainingstools von Azure ML oder der Drag-and-Drop-Designeroberfläche mit niedrigem Code. 

Verwenden von Azure ML Designer zum Erstellen eines Modells

Der Designer ist der schnellste Weg, um mit benutzerdefiniertem maschinellem Lernen zu beginnen, da Sie Zugriff auf eine Reihe vorgefertigter Module haben, die miteinander verkettet werden können, um eine API für maschinelles Lernen zu erstellen, die für die Verwendung in Ihrem Code bereit ist. Erstellen Sie zunächst eine Zeichenfläche für Ihre ML-Pipeline und richten Sie das Rechenziel für Ihre Pipeline ein. Rechenziele können für das gesamte Modell oder für einzelne Module in der Pipeline festgelegt werden, sodass Sie die Leistung entsprechend anpassen können.

Stellen Sie sich die Rechenressourcen Ihres Modells am besten als serverlosen Computer vor, der bei Bedarf nach oben und unten skaliert wird. Wenn Sie es nicht verwenden, wird es auf Null skaliert und es kann bis zu fünf Minuten dauern, bis es wieder hochgefahren ist. Dies kann sich auf Anwendungsvorgänge auswirken. Stellen Sie daher sicher, dass diese verfügbar sind, bevor Sie davon abhängige Anwendungen ausführen. Bei der Auswahl eines Rechenziels müssen Sie die zum Trainieren eines Modells erforderlichen Ressourcen berücksichtigen. Komplexe Modelle können die GPU-Unterstützung von Azure nutzen und die meisten Rechenoptionen von Azure unterstützen (abhängig von Ihrem verfügbaren Kontingent).

Wählen Sie nach dem Einrichten Ihrer Trainingscomputer-Ressourcen einen Trainingsdatensatz aus. Dies können Ihre eigenen Daten oder eines von Microsoft-Beispielen sein. Benutzerdefinierte Datensätze können aus lokalen Dateien, aus bereits in Azure gespeicherten Daten, aus dem Web oder aus registrierten offenen Datensätzen (häufig Regierungsinformationen) erstellt werden.

Verwenden von Daten in Azure ML Designer

Mit den Tools im Designer können Sie die von Ihnen verwendeten Datensätze untersuchen, sodass Sie sicher sein können, dass Sie die richtige Quelle für das Modell haben, das Sie erstellen möchten. Mit einer Datenquelle auf der Leinwand können Sie Module ziehen und verbinden, um Ihre Trainingsdaten zu verarbeiten. Entfernen Sie beispielsweise Spalten, die nicht genügend Daten enthalten, oder bereinigen Sie fehlende Daten. Dieser Drag-and-Connect-Vorgang ähnelt der Arbeit mit Low-Code-Tools, z. B. in der Power Platform. Was sich hier unterscheidet, ist, dass Sie die Möglichkeit haben, Ihre eigenen Module zu verwenden.

Sobald die Daten verarbeitet wurden, können Sie mit der Auswahl der Module beginnen, die Sie für Ihr Modell trainieren möchten. Microsoft bietet eine Reihe gängiger Algorithmen sowie Tools zum Aufteilen von Datensätzen für Schulungen und Tests. Die resultierenden Modelle können mit einem anderen Modul bewertet werden, sobald Sie sie durch das Training geführt haben. Die Bewertungen werden an ein Bewertungsmodul übergeben, damit Sie sehen können, wie gut Ihr Algorithmus funktioniert. Sie benötigen statistische Kenntnisse, um die Ergebnisse zu interpretieren, damit Sie die Arten der generierten Fehler verstehen können. In der Praxis ist es jedoch umso besser, je kleiner der Fehlerwert ist. Sie müssen die vorbereiteten Algorithmen nicht verwenden, da Sie Ihren eigenen Python- und R-Code einbringen können.

Ein geschultes und getestetes Modell kann schnell in eine Inferenz-Pipeline umgewandelt werden, die für die Verwendung in Ihren Anwendungen bereit ist. Dadurch werden Ihrem Modell Eingabe- und Ausgabe-REST-API-Endpunkte hinzugefügt, die für die Verwendung in Ihrem Code bereit sind. Das resultierende Modell wird dann als gebrauchsfertiger Container in einem AKS-Inferenzcluster bereitgestellt.

Lassen Sie Azure alles für Sie erledigen: Automatisiertes maschinelles Lernen

In vielen Fällen müssen Sie nicht einmal so viel entwickeln. Microsoft hat kürzlich eine automatisierte ML-Option veröffentlicht, die auf Arbeiten von Microsoft Research basiert. Hier beginnen Sie mit einem Azure-zugänglichen Datensatz, bei dem es sich um tabellarische Daten handeln muss. Es ist für drei Modelltypen vorgesehen: Klassifizierung, Regression und Prognosen. Sobald Sie Daten bereitgestellt und einen Modelltyp ausgewählt haben, generiert das Tool automatisch ein Schema aus den Daten, mit denen Sie bestimmte Datenfelder ein- und ausschalten können, und erstellt ein Experiment, das dann zum Erstellen und Testen eines Modells ausgeführt wird.

Automated ML erstellt und bewertet mehrere Modelle, anhand derer Sie ermitteln können, welches für Ihr Problem am besten geeignet ist. Sobald Sie das gewünschte Modell gefunden haben, können Sie schnell Eingabe- und Ausgabestufen hinzufügen und es als Service bereitstellen, der in Tools wie Power BI verwendet werden kann.

Mit maschinellem Lernen, einem zunehmend wichtigen Vorhersage-Tool für viele verschiedene Arten von Geschäftsproblemen, kann Azure Machine Learning Designer ein viel breiteres Publikum erreichen. Wenn Sie über Daten verfügen, können Sie sowohl analytische als auch prädiktive Modelle mit minimalem datenwissenschaftlichem Fachwissen erstellen. Mit dem neuen automatisierten ML-Dienst ist es einfach, von Daten zu Diensten zu No-Code-Analysen zu wechseln.