Annonce de ML.NET 1.0

Nous sommes ravis d'annoncer la sortie de ML.NET 1.0 aujourd'hui. ML.NET est un framework d'apprentissage machine gratuit, multiplateforme et open source, conçu pour intégrer la puissance de l'apprentissage machine (ML) dans les applications .NET.


Logo ML.NET


https://github.com/dotnet/machinelearning

Commencez: http://dot.net/ml


ML.NET vous permet de former, de créer et d'expédier des modèles d'apprentissage automatique personnalisés à l'aide de C # ou F # pour des scénarios tels que l'analyse des sentiments, la classification des problèmes, les prévisions, les recommandations et plus encore. Vous pouvez consulter ces scénarios et tâches courants dans notre référentiel d'exemples ML.NET .


ML.NET a été développé à l'origine au sein de Microsoft Research et est devenu un cadre important utilisé par de nombreux produits Microsoft tels que Windows Defender, Microsoft Office (idées de conception Powerpoint, recommandations Excel Chart), Azure Machine Learning, influenceurs clés PowerBI pour n'en nommer que quelques-uns!


Depuis son lancement, ML.NET est utilisé par de nombreuses organisations comme SigParser (détection des courriers indésirables), William Mullens (classification des problèmes juridiques) et Evolution Software (détection du niveau d'humidité pour les noisettes) . Vous pouvez suivre le parcours de ces organisations et de nombreuses autres en utilisant ML.NET dans notre vitrine client ML.NET . Ces utilisateurs nous disent que la facilité d'utilisation de ML.NET, la possibilité de réutiliser leurs compétences .NET et de conserver leur pile technologique entièrement dans .NET sont les principaux moteurs de leur utilisation de ML.NET.


Parallèlement à la version ML.NET 1.0, nous ajoutons également de nouvelles fonctionnalités de prévisualisation telles que la puissance de l'apprentissage automatique automatisé (AutoML) et de nouveaux outils tels que ML.NET CLI et ML.NET Model Builder, ce qui signifie que l'ajout de modèles d'apprentissage automatique à vos applications est désormais un simple clic droit!


Logo ML.NET

Le reste de cet article se concentre sur ces nouvelles expériences.



Composants ML.NET Core


ML.NET vise à fournir le flux de travail de bout en bout pour la consommation de ML dans les applications .NET à différentes étapes de l'apprentissage automatique (pré-traitement, ingénierie des fonctionnalités, modélisation, évaluation et opérationnalisation). ML.NET 1.0 fournit les composants clés suivants:


  • Représentation des données
    • Types de données de pipeline de données ML fondamentaux tels que IDataView - le type de pipeline de données fondamental
    • Lecteurs pour prendre en charge la lecture de données à partir de fichiers texte délimités ou IEnumerable d'objets
  • Prise en charge des tâches d'apprentissage automatique:
    • Classification binaire
    • Classification multi-classes
    • Régression
    • Classement
    • Détection d'anomalies
    • Regroupement
    • Recommandation (aperçu)
  • Transformation et personnalisation des données
    • Texte
    • Les catégories
    • Sélection des fonctionnalités
    • Normalisation et gestion des valeurs manquantes
    • Fonctionnalisation de l'image
    • Séries chronologiques (aperçu)
    • Prise en charge de l'intégration des modèles ONNX et TensorFlow (aperçu)
  • Autre
    • Compréhension et explicabilité du modèle
    • Transformations personnalisées définies par l'utilisateur
    • Opérations de schéma
    • Prise en charge de la manipulation d'ensembles de données et de la validation croisée

Aperçu de l'apprentissage automatique automatisé


Débuter avec l'apprentissage automatique aujourd'hui implique une courbe d'apprentissage abrupte. Lors de la création de modèles d'apprentissage automatique personnalisés, vous devez déterminer la tâche d'apprentissage automatique à choisir pour votre scénario (c'est-à-dire la classification ou la régression?), Transformez vos données dans un format que les algorithmes ML peuvent comprendre (par exemple, données textuelles -> vecteurs numériques), et affinez ces algorithmes ML pour fournir les meilleures performances. Si vous débutez en ML, chacune de ces étapes peut être assez décourageante!


L'apprentissage automatique automatisé rend votre voyage avec ML plus simple en trouvant automatiquement comment transformer vos données d'entrée et en sélectionnant l'algorithme ML le plus performant avec les bons paramètres vous permettant de créer facilement les meilleurs modèles ML personnalisés de leur catégorie.


La prise en charge d'AutoML dans ML.NET est en aperçu et nous prenons actuellement en charge les tâches ML de régression (utilisées pour des scénarios tels que la prévision des prix) et de classification (utilisées pour des scénarios tels que l'analyse des sentiments, la classification des documents, la détection des spams, etc.).


Vous pouvez essayer l'expérience AutoML dans ML.NET sous trois formats en utilisant ML.NET Model Builder, ML.NET CLI directement ou en utilisant l'API AutoML directement (des exemples peuvent être trouvés ici ).


Pour les utilisateurs qui découvrent Machine Learning, nous vous recommandons de commencer avec ML.NET Model Builder dans Visual Studio et ML.NET CLI sur n'importe quelle plate-forme. L'API AutoML est également très pratique pour les scénarios où vous souhaitez créer des modèles à la volée.


Aperçu de Model Builder


Afin de simplifier le parcours des développeurs .NET pour créer des modèles ML, nous sommes également ravis d'annoncer aujourd'hui ML.NET Model Builder. Avec le générateur de modèles ML.NET, l'ajout de l'apprentissage automatique à vos applications n'est qu'à un clic droit!


Model Builder est un outil d'interface utilisateur simple pour les développeurs qui utilise AutoML pour créer les meilleurs modèles ML en utilisant le jeu de données que vous fournissez. En plus de cela, Model Builder génère également un code de formation et de consommation de modèle pour le modèle le plus performant, ce qui vous permet d'ajouter rapidement du ML à votre application existante.


Générateur de modèles ML.NET


En savoir plus sur ML.NET Model Builder


Model Builder est actuellement en avant-première et nous aimerions que vous l'essayiez et nous disiez ce que vous en pensez!


Aperçu de la CLI ML.NET


La CLI ML.NET (interface de ligne de commande) est un autre nouvel outil que nous introduisons aujourd'hui!


ML.NET CLI est un outil dotnet qui permet de générer des modèles ML.NET en utilisant AutoML et ML.NET. La CLI ML.NET parcourt rapidement votre ensemble de données pour une tâche ML spécifique (prend actuellement en charge la régression et la classification) et produit le meilleur modèle.


La CLI, en plus de produire le meilleur modèle, permet également aux utilisateurs de générer un code de formation et de consommation de modèle pour le modèle le plus performant.


La CLI ML.NET est multiplateforme et est un complément simple à la CLI .NET. L'extension Model Builder Visual Studio utilise également ML.NET CLI pour fournir des fonctionnalités de création de modèle.


Vous pouvez installer la CLI ML.NET via cette commande.


dotnet tool install -g mlnet 

L'image suivante montre l'interface de ligne de commande ML.NET créant un ensemble de données d'analyse des sentiments.


CLI ML.NET


En savoir plus sur la CLI ML.NET


ML.NET CLI est également actuellement en avant-première et nous aimerions que vous l'essayiez et partagiez vos réflexions ci-dessous!


Commencez!


Si vous ne l'avez pas déjà fait, démarrer avec ML.NET est facile et vous pouvez le faire en quelques étapes simples, comme indiqué ci-dessous. L'exemple ci - dessous montre comment vous pouvez effectuer une analyse de sentiment avec ML.NET .


 //Step 1. Create a ML Context var ctx = new MLContext(); //Step 2. Read in the input data for model training IDataView dataReader = ctx.Data .LoadFromTextFile<MyInput>(dataPath, hasHeader: true); //Step 3. Build your estimator IEstimator<ITransformer> est = ctx.Transforms.Text .FeaturizeText("Features", nameof(SentimentIssue.Text)) .Append(ctx.BinaryClassification.Trainers .LbfgsLogisticRegression("Label", "Features")); //Step 4. Train your Model ITransformer trainedModel = est.Fit(dataReader); //Step 5. Make predictions using your model var predictionEngine = ctx.Model .CreatePredictionEngine<MyInput, MyOutput>(trainedModel); var sampleStatement = new MyInput { Text = "This is a horrible movie" }; var prediction = predictionEngine.Predict(sampleStatement); 

Vous pouvez également explorer diverses autres ressources d'apprentissage telles que des didacticiels et des ressources pour ML.NET ainsi que des exemples ML.NET illustrant des scénarios populaires tels que la recommandation de produits, la détection d'anomalies et plus encore en action.


Quelle est la prochaine étape avec ML.NET


Bien que nous soyons très heureux de publier ML.NET 1.0 aujourd'hui, l'équipe travaille déjà dur pour activer les fonctionnalités suivantes pour la version 1.0 de ML.NET.


  • Expérience AutoML pour des scénarios ML supplémentaires
  • Prise en charge améliorée des scénarios d'apprentissage en profondeur
  • Prise en charge d'autres sources supplémentaires telles que SQL Server, CosmosDB, stockage Azure Blob et plus encore.
  • Mise à l'échelle sur Azure pour la formation et la consommation de modèles
  • Prise en charge de scénarios et fonctionnalités ML supplémentaires lors de l'utilisation de Model Builder et CLI
  • Intégration native pour l'apprentissage automatique à grande échelle avec .NET pour Apache Spark et ML.NET
  • Nouveaux types ML dans .NET, par exemple DataFrame

Source: https://habr.com/ru/post/fr451334/


All Articles