Build 2019: ML.NET ist als 1.0-Relase verfügbar

Mit dem Versionssprung gilt das Machine-Learning-Framework für .NET-Entwickler als stabil. Es bringt außerdem zusätzliche Werkzeuge mit.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Build 2019: ML.NET ist als 1.0-Relase verfüfbar
Lesezeit: 4 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Microsoft hat im Rahmen der Build 2019 die Version 1.0 von ML.NET freigegeben. Damit verlässt das Machine-Learning-Framework (ML) ein Jahr nach der ersten Vorstellung auf der Build 2018 die Preview-Phase. Das Release hat zudem eine AutoML-Funktion (Automated Machine Learning) und als zusätzliche Werkzeuge ein Befehlsfenster und einen Assistenten zum Erstellen von ML-Modellen an Bord.

Bei der ersten Veröffentlichung des Open-Source-Frameworks im Rahmen der Build 2018 blickte es bereits auf eine längere Geschichte in Redmond zurück. Es entstand ursprünglich bei Microsoft Research und war laut dem Entwicklerblog zum Zeitpunkt der öffentlichen Freigabe bereits seit Jahren im Rahmen der Entwicklung unterschiedlicher Produktgruppen wie Windows, Bing und Azure im internen Einsatz. Im Lauf des letzten Jahres haben die Entwickler ML.NET konsequent ausgebaut. Das Release vom Januar hatte unter anderem Feature Contribution Calculation (FCC) zum verbesserten Verständnis der Modelle an Bord.

Erklärtes Ziel war von Anbeginn, .NET-Entwicklern ein Framework für Machine Learning in die Hand zu geben. Bekannte ML-Frameworks wie TensorFlow, Keras, Caffe beziehungsweise Caffe 2, Theano und PyTorch setzen in erster Linie auf Python, auch wenn Letzteres auf Torch aufsetzt, das Lua verwendet.

ML.NET besteht aus Kernkomponenten für die Datenrepräsentation, für unterschiedliche ML-Szenarien wie Regression, Clustering und binäre Klassifikation sowie für die Datentransformation unter anderem für die Feature Selection und zum Normalisieren. Einige Funktionen gelten auch im 1.0-Release noch als Preview, darunter die Integration von TensorFlow-Modellen und solchen, die im Austauschformat ONNX vorliegen.

Version 1.0 von ML.NET bietet eine AutoML-Funktion, die Entwicklern helfen soll, die für ihre jeweilige Anwendung passenden Algorithmen und Einstellungen, Modelle sowie Transformationen zu finden. Im aktuellen Preview-Zustand hat AutoML Vorlagen für die Regression und die Klassifikation. Erstere bietet sich vor allem zur Vorhersage stetiger Werte wie Preisen an, Letztere zum Gruppieren und Einordnen von Werten, um beispielsweise Spam zu erkennen oder Dokumente zu klassifizieren.

Entwickler können AutoML entweder über eine eigene API ansprechen oder die beiden neuen Tools ML.NET Model Builder oder ML.NET CLI verwenden.

Mit dem 1.0-Release bekommt ML.NET auch ein eigenes Befehlsfenster. ML.NET CLI ist ein Werkzeug, mit dem sich ML.NET-Modelle mit AutoML erstellen lassen. Entwickler können das plattformübergreifende Tool mit dotnet tool install - g mlnet auf Linux, macOS oder Windows installieren.

Das Werkzeug Model Builder bietet ein grafisches Benutzerinterface zum Erstellen von ML-Modellen mit AutoML. Anschließend generiert das Tool Code zum Trainieren und Verwenden der Modelle. Die Model-Builder-Visual-Studio-Erweiterung setzt unter der Haube auf das ML.NET CLI.

Model Builder bietet eine grafische Schnittstelle zum Erstellen von Modellen.

(Bild: Microsoft)

Weitere Details zu ML.NET 1.0 lassen sich Microsofts Entwicklerblog entnehmen. Neben der Vorstellung der Neuerungen behandelt der Beitrag die Pläne für die Weiterentwicklung. Unter anderem ist die Anbindung an Datenquellen wie SQL Server, CosmosDB und Azure Blob Storage in Arbeit. Auch eine native Anbindung an die ML-Funktionen von Apache Spark ist in Kombination aus .NET for Apache Spark und ML.NET geplant. Darüber hinaus soll es neue ML-Typen in .NET wie DataFrame geben, und für AutoML sind weitere Machine-Learning-Szenarien in Arbeit.

Ein Überblick über ML.NET sowie ein kurzes Tutorial zur Einführung sind auf der Projektseite verfügbar. Für Windows setzt das Tutorial auf Visual Studio, für Linux und macOS auf das ML.NET CLI. (rme)