close

ML.NET

Aller à la navigation Aller à la recherche
ML.NET
Logo du programme ML.NET
Type de Bibliothèque
Auteur Microsoft
Développeur Fondation .NET
Écrit en C# , C++
Système opérateur Windows , Linux , mac OS
Première édition 7 mai 2018 ; il y a 4 ans ( 2018-05-07 )
dernière version 1.7.1 (9 mars 2022 ; il y a 7 mois ) ( 2022-03-09 )
Licence MIT
Site Internet point.net/ml

ML.NET  est une bibliothèque d' apprentissage automatique open source gratuite pour les langages de programmation C# et F# . [1] [2] [3] Il prend également en charge les modèles Python lorsqu'il est utilisé avec NimbusML. La version préliminaire de ML.NET comprenait des solutions pour l'ingénierie des fonctionnalités (par exemple, la génération de N-grammes ), les classifications binaires et multiclasses et l'analyse de régression . Plus tard, des tâches d'apprentissage automatique supplémentaires ont été ajoutées : détection d'anomalies et systèmes de recommandation . L'apprentissage en profondeur et d'autres approches sont attendus dans les prochaines versions. [4] [5]

Histoire

ML.NET fournit aux développeurs .NET des capacités d'analyse et de prédiction à l'aide de l'apprentissage automatique de modèles. Le framework est basé sur .NET Core et .NET Standard, il s'exécute donc sur plusieurs plates-formes sur les systèmes Linux , Windows et macOS . Bien que le framework ML.NET soit relativement récent, il a été lancé en 2002 par un projet Microsoft Research appelé TMSN (Text mining search and navigation) créé pour un usage interne dans les produits Microsoft. Plus tard en 2011, le nom de ce projet a été changé en TLC (Le code d'apprentissage). "ML.NET est dérivé de la bibliothèque TLC et est supérieur à bien des égards à ses prédécesseurs", déclare James McCaffrey de Microsoft Research. [6]

Dans la version 0.3, la prise en charge du format ONNX a été introduite , ainsi que des machines de factorisation, LightGBM, ensembles de méthodes , transformation LightLDA, classification OVA. [7] L'intégration avec TensorFlow est possible à partir de la version 0.5. La prise en charge des applications 32 bits et 64 bits a été ajoutée dans la version 0.7, en plus d'avoir un système de recommandation amélioré avec factorisation matricielle. [8] Des informations complètes sur les fonctionnalités prévues sont disponibles sur la page officielle GitHub - le référentiel de la bibliothèque . [9]

La première version stable du framework 1.0 a été annoncée lors de la conférence Build en 2019. Il a implémenté un outil de création de modèles (Model Builder) et d'apprentissage automatique (AutoML). [10] La version 1.3.1 prévisualise la formation d'un réseau neuronal profond pour TensorFlow à l'aide de la liaison de données en C#, [11] et un chargeur de base de données qui vous permet de former un modèle à l'aide de bases de données. La pré-version 1.4.0 a permis d'évaluer des modèles sur des processeurs ARM et de former un réseau neuronal profond à l'aide d'un GPU sous Windows et Linux. [12]

Caractéristiques

Les développeurs peuvent former eux-mêmes un modèle d'apprentissage automatique ou réutiliser un modèle existant et l'exécuter sur n'importe quel environnement sans connexion Internet. Cela signifie qu'ils n'ont pas besoin d'expérience en science des données pour travailler avec le framework.

Performances

Un article de Microsoft sur l'apprentissage automatique dans ML.NET a démontré la capacité de la bibliothèque à analyser le sentiment textuel à l'aide de grands ensembles de données tout en obtenant une grande précision. Les résultats ont montré une précision de 95 % sur un ensemble de données d'enquête Amazon de 9 gigaoctets . [13]

Constructeur de modèles

ML.NET CLI est une interface de ligne de commande qui utilise ML.NET AutoML pour effectuer une formation de modèle et sélectionner le meilleur algorithme pour les données. ML.NET Model Builder Preview [14] est une  extension Visual Studio qui utilise la CLI ML.NET et ML.NET AutoML pour représenter graphiquement le meilleur modèle ML.NET. [Dix]

Explicabilité des modèles

Les thèmes de l'équité et de l'explicabilité de l'intelligence artificielle sont devenus des sujets de controverse ces dernières années. [15] Le principal problème des applications d'apprentissage automatique est l' effet de boîte noire , dans lequel les utilisateurs finaux et les développeurs ne savent pas comment l'algorithme est arrivé à une solution particulière et s'il existe un biais dans l'ensemble de données. La version 0.8 incluait une API pour analyser l'explicabilité des modèles, précédemment utilisée en interne par Micrososft. Ajout de modèles additifs généralisés et d'une fonction de détermination de l'importance des fonctionnalités.

Lorsqu'il existe plusieurs variables qui affectent le résultat net, vous pouvez voir une ventilation de chacune, ainsi que les traits qui ont eu le plus grand impact à la fin. La documentation officielle montre que les métriques d'évaluation peuvent être déduites à des fins de débogage. Lors de la formation et du débogage du modèle, les développeurs peuvent afficher et explorer les données filtrées en temps réel. Un outil qui possède ces fonctionnalités est Visual Studio DataView. [16]

Inférer.NET

Microsoft Research a annoncé que le framework d'apprentissage automatique Infer.NET, utilisé pour la recherche universitaire depuis 2008, a été publié en open source et fait désormais partie de ML.NET. [17] Infer.NET utilise la programmation probabiliste pour décrire les modèles probabilistes, ce qui présente l'avantage de l'interprétabilité. L'espace de noms "Infer.NET" a ensuite été remplacé par "Microsoft.ML.Probabilistic". [dix-huit]

Prise en charge de Python

Microsoft sait que le langage de programmation Python est populaire parmi les scientifiques des données, c'est pourquoi le module expérimental NimbusML a été créé. Il permet aux utilisateurs de former et d'exploiter des modèles d'apprentissage automatique en Python. Comme avec Infer.NET, le code source du module est accessible à tous. [huit]

Apprentissage automatique dans le navigateur

ML.NET donne aux utilisateurs la possibilité d'exporter des modèles formés au format ONNX. Ceci, à son tour, leur permet d'être intégrés dans divers environnements qui ne prennent pas en charge ML.NET. Il est possible d'exécuter de tels modèles côté client du navigateur grâce à ONNX.js, un framework JavaScript côté client pour les modèles d'apprentissage en profondeur ONNX . [19]

École d'intelligence artificielle et d'apprentissage automatique

Parallèlement à la sortie de la version preview de ML.NET, Microsoft a publié des leçons et des cours gratuits sur l'intelligence artificielle pour aider les développeurs à apprendre les techniques nécessaires pour interagir avec le framework. [20] [21] [22]

Voir aussi

Littérature

  • Jarred Capellman. Apprentissage automatique pratique avec ML.NET : Premiers pas avec Microsoft ML.NET pour implémenter des algorithmes d'apprentissage automatique populaires en C#. — Édition Packt, 2020. — ISBN 978-1789801781 .
  • Sudipta, Mukherjee. ML.NET révélé : des outils simples pour appliquer l'apprentissage automatique à vos applications. - Apress, 2020. - ISBN 978-1484265420 .

Liens

Remarques

  1. Par David Ramel, le 05/08/2018. Open Source, multiplateforme ML.NET simplifie l'apprentissage automatique -  (Anglais)  ? . Magazine Visual Studio . Récupéré le 3 février 2022. Archivé de l'original le 28 octobre 2021.
  2. Microsoft lance le framework d'apprentissage automatique multiplateforme ML.NET -  OnMSFT.com  ? (9 mai 2018). Récupéré le 3 février 2022. Archivé de l'original le 5 mars 2022.
  3. Annonce de ML.NET   0.4 ? . Blog .NET (7 août 2018). Récupéré le 3 février 2022. Archivé de l'original le 3 février 2022.
  4. ↑ Microsoft publie un  aperçu du framework d'apprentissage automatique open source ML.NET  ? . Fossbytes (9 mai 2018). Récupéré le 3 février 2022. Archivé de l'original le 27 octobre 2021.
  5. luisquintanilla. Tâches d'apprentissage automatique - ML.NET  (Anglais)  ? . docs.microsoft.com . Récupéré le 3 février 2022. Archivé de l'original le 3 décembre 2021.
  6. kexugit. Machine Learning - ML.NET : le framework d'apprentissage automatique pour les   développeurs .NET ? . docs.microsoft.com . Récupéré le 3 février 2022. Archivé de l'original le 3 février 2022.
  7. Apprentissage automatique pour .NET . — 2022-02-02. Archivé de l'original le 3 février 2022.
  8. 1 2 Annonce de ML.NET 0.7 (Machine Learning .NET  )  ? . Blog .NET (8 novembre 2018). Récupéré le 3 février 2022. Archivé de l'original le 3 février 2022.
  9. Apprentissage automatique pour .NET . — 2022-02-02. Archivé de l'original le 3 février 2022.
  10. 1 2 Annonce de ML.NET   1.0 ? . Blog .NET (6 mai 2019). Récupéré le 3 février 2022. Archivé de l'original le 27 octobre 2021.
  11. SciSharp/TensorFlow.NET . — 2022-02-01. Archivé de l'original le 12 juillet 2019.
  12. Version ML.NET 1.4.0-preview2 dotnet/  machinelearning . GitHub . Récupéré le 3 février 2022. Archivé de l'original le 3 février 2022.
  13. Machine Learning chez Microsoft avec ML .NET // Microsoft & Yandex. - 2019. - doi : 10.1145/3292500.3330667 . - arXiv : 1905.05715 .
  14. Mentions légales . — 2022-01-27. Archivé de l'original le 28 octobre 2021.
  15. Paul Teich. L'intelligence artificielle peut renforcer les biais, les géants du cloud annoncent des outils pour l'  équité de l'IA . Forbes . Récupéré le 3 février 2022. Archivé de l'original le 3 février 2022.
  16. Annonce de ML.NET 0.8 - Machine Learning pour   .NET ? . Blog .NET (4 décembre 2018). Récupéré le 3 février 2022. Archivé de l'original le 3 février 2022.
  17. Richard Speed. Microsoft open-sources Infer.NET AI code juste à temps pour le  week- end . www.theregister.com . Récupéré le 3 février 2022. Archivé de l'original le 31 octobre 2021.
  18. Melisha Dsouza.  Microsoft open sources Infer.NET, son framework d'apprentissage automatique basé sur un modèle populaire  ? . Packt Hub (8 octobre 2018). Récupéré le 3 février 2022. Archivé de l'original le 3 février 2022.
  19. Will Badr. ONNX.js : modèles universels d'apprentissage en profondeur dans le  navigateur . Moyen (26 janvier 2019). Récupéré le 3 février 2022. Archivé de l'original le 3 février 2022.
  20. ↑ AI School  : Cours & Parcours  ? . IA Microsoft . Récupéré le 3 février 2022. Archivé de l'original le 3 février 2022.
  21. nake. Documentation ML.NET - Tutoriels, API de   référence ? . docs.microsoft.com . Récupéré le 3 février 2022. Archivé de l'original le 3 février 2022.
  22. Infer.NET  . _ dotnet.github.io _ Récupéré le 3 février 2022. Archivé de l'original le 23 janvier 2022.