Automatiser l’entraînement du modèle avec l’interface CLI ML.NET

L’interface CLI de ML.NET automatise la génération de modèles pour les développeurs .NET.

Pour utiliser l’API ML.NET seule (c’est-à-dire sans l’interface CLI AutoML ML.NET), vous devez choisir un entraîneur (implémentation d’un algorithme de machine learning pour une tâche particulière) ainsi que l’ensemble des transformations de données (ingénierie des caractéristiques) à appliquer à vos données. Le pipeline optimal varie en fonction de chaque jeu de données, et choisir l’algorithme optimal parmi toutes les options possibles accroît encore la complexité. De plus, chaque algorithme est associé à un ensemble d’hyperparamètres que vous devez régler. Bref, vous pouvez passer des semaines et parfois plusieurs mois à optimiser le modèle Machine Learning pour essayer de trouver les meilleures combinaisons possibles entre l’ingénierie des caractéristiques, les algorithmes d’apprentissage et les hyperparamètres.

L’interface CLI de ML.NET simplifie ce processus en utilisant le machine learning automatisé (AutoML).

Remarque

Cet article fait référence à l’interface CLI ML.NET et au moteur AutoML ML.NET, qui sont actuellement en préversion et donc susceptibles d’être modifiés.

Présentation de l’interface CLI de ML.NET

L’interface CLI de ML.NET est un outil .NET. Une fois installée, vous lui attribuez une tâche de machine learning et un jeu de données d’entraînement, et elle génère un modèle ML.NET ainsi que le code C# à exécuter pour utiliser le modèle dans votre application.

Comme le montre la figure suivante, vous pouvez générer facilement un modèle ML.NET de grande qualité (fichier .zip de modèle sérialisé) ainsi que l’exemple de code C# pour exécuter/évaluer ce modèle. Le code C# utilisé pour créer et entraîner ce modèle est également généré. Vous pouvez alors effectuer des recherches et des itérations sur l’algorithme et les paramètres appliqués pour ce « meilleur modèle » généré.

Moteur AutoML travaillant dans l’interface CLI de ML.NET

Vous pouvez générer ces ressources à partir de vos propres jeux de données sans avoir à coder quoi que ce soit. Vous gagnez ainsi en productivité, même si vous connaissez déjà ML.NET.

La CLI ML.NET prend en charge les tâches de ML suivantes :

  • classification ;
  • régression
  • Recommandation
  • classification d’image
  • prévision
  • entraîner

L’interface CLI de ML.NET peut être installée, selon votre système d’exploitation et son architecture, en utilisant la commande suivante :

dotnet tool install --global mlnet-<OS>-<ARCH>

Par exemple, la version x64 de Windows peut être installée avec :

dotnet tool install --global mlnet-win-x64

Pour plus d’informations, consultez le guide pratique Installer l’interface CLI de ML.NET.

Un exemple d’utilisation (scénario de classification) :

mlnet classification --dataset "yelp_labelled.txt" --label-col 1 --has-header false --train-time 10

Classification ML.NET à partir de la ligne de commande

Vous pouvez l’exécuter de la même façon sur Windows PowerShell, macOS/Linux Bash ou Windows CMD. Toutefois, l’autocomplétion via la touche tab (suggestions de paramètres) ne fonctionne pas sur Windows CMD.

Ressources générées en sortie

Les commandes de tâche ML dans l’interface CLI génèrent les ressources suivantes dans le dossier de sortie :

  • Un fichier .zip de modèle sérialisé (le « meilleur modèle »), prêt à être utilisé pour effectuer des prédictions.
  • Une solution C# contenant :
    • Le code C# nécessaire pour exécuter/évaluer ce modèle généré (et pour effectuer des prédictions dans vos applications utilisateur avec ce modèle).
    • Le code C# avec le code d’entraînement utilisé pour générer ce modèle (à des fins d’apprentissage ou de réentraînement du modèle).
  • Un fichier journal contenant des informations sur l’ensemble des itérations/balayages effectués sur tous les algorithmes évalués, y compris les détails de leur pipeline/configuration.

Les deux premières ressources peuvent être utilisées directement dans vos applications utilisateur (par exemple, les applications web ASP.NET Core, les services et les applications de bureau) pour faire des prédictions à l’aide du modèle ML généré.

La troisième ressource, le code d’entraînement, montre quel code de l’API ML.NET a été utilisé par l’interface CLI pour entraîner le modèle généré. Vous pouvez alors réentraîner votre modèle et effectuer des recherches/itérations sur l’entraîneur/algorithme et les hyperparamètres spécifiques qui avaient été automatiquement sélectionnés par l’interface CLI et AutoML.

Déterminer la qualité du modèle

Quand vous générez un « meilleur modèle » avec l’outil CLI, vous voyez des métriques de qualité (comme la justesse et le coefficient de détermination) relatives à la tâche ML que vous ciblez.

Ces métriques sont résumées ici, regroupées par tâche ML, pour vous permettre de comprendre la qualité de votre « meilleur modèle » généré automatiquement.

Métriques pour les modèles de classification

L’image suivante montre la liste des métriques de classification pour les cinq meilleurs modèles trouvés par l’outil CLI :

Métriques de classification pour les cinq premiers modèles

La justesse est une métrique couramment employée pour les problèmes de classification, mais ce n’est pas toujours la métrique la plus adaptée pour choisir le meilleur modèle, comme expliqué dans les références suivantes. Dans certains cas, vous aurez besoin d’évaluer la qualité de votre modèle à l’aide d’autres métriques.

Pour explorer et comprendre toutes les métriques fournies par l’outil CLI, consultez Métriques pour la classification.

Métriques pour les modèles de régression et de recommandation

Le modèle de régression est approprié dans les cas où les différences entre les valeurs observées et les valeurs prédites du modèle sont mineures et non biaisées. La régression peut être évaluée avec des métriques spécifiques.

Vous verrez une liste similaire de métriques pour les cinq premiers modèles de qualité trouvés par l’interface CLI, sauf que dans ce cas, les cinq premiers sont relatifs à une tâche ML de régression :

Métriques de régression pour les cinq premiers modèles

Pour explorer et comprendre toutes les métriques fournies par l’outil CLI, consultez Métriques d’évaluation pour la régression.

Voir aussi