Qu’est-ce qu’AutoML ?

AutoML simplifie le processus d’application du Machine Learning à vos jeux de données en recherchant automatiquement la meilleure configuration d’algorithme et d’hyperparamètre pour vous.

Remarque

Dans Databricks Runtime 18.0 ML ou version ultérieure, AutoML n’est pas inclus en tant que bibliothèque intégrée.

Comment fonctionne AutoML ?

Fournissez votre jeu de données et spécifiez le type de problème d’apprentissage automatique, puis AutoML effectue les opérations suivantes :

  1. Nettoie et prépare vos données.
  2. Orchestre la formation de modèles distribués et le réglage des hyperparamètres sur plusieurs algorithmes.
  3. Trouve le meilleur modèle à l’aide d’algorithmes d’évaluation open source à partir de scikit-learn, xgboost, LightGBM, Prophet et ARIMA.
  4. Présente les résultats. AutoML génère également des notebooks de code source pour chaque version d’évaluation, ce qui vous permet de passer en revue, reproduire et modifier le code en fonction des besoins.

Commencez avec les expériences AutoML par le biais d’une interface utilisateur low-code pour la régression ; la classification ; ou la prévision, ou l’API Python.

Exigences

  • AutoML dépend du databricks-automl-runtime package, qui contient des composants utiles en dehors de l'AutoML et permet également de simplifier les notebooks générés par les entraînements AutoML. databricks-automl-runtime est disponible sur PyPI.

  • Aucune bibliothèque supplémentaire autre que celles préinstallées dans Databricks Runtime pour le Machine Learning devrait être installée sur le cluster.

    • Toute modification (suppression, mise à niveau ou rétrogradation) vers les versions de bibliothèque existantes entraîne des échecs d’exécution en raison d’une incompatibilité.
  • Pour accéder aux fichiers de votre espace de travail, vous devez disposer de ports réseau 1017 et 1021 ouverts pour les expériences AutoML. Pour ouvrir ces ports ou pour confirmer qu’ils sont ouverts, passez en revue la configuration du pare-feu VPN cloud et les règles de groupe de sécurité, ou contactez votre administrateur cloud local. Pour plus d’informations sur la configuration et le déploiement de l’espace de travail, consultez Créer un espace de travail.

  • Utilisez une ressource de calcul avec un mode d’accès au calcul pris en charge. Tous les modes d’accès au calcul n’ont pas accès à Unity Catalog :

    Mode d’accès au calcul Prise en charge d’AutoML Unity Catalog Support
    Dédié (anciennement utilisateur unique) Pris en charge Pris en charge
    Standard (anciennement partagé) Non pris en charge Pris en charge
    Aucune isolation partagée Pris en charge Non pris en charge

Algorithmes AutoML

AutoML effectue l’apprentissage et évalue les modèles en fonction des algorithmes du tableau suivant.

Remarque

Pour les modèles de classification et de régression, l’arbre de décision, les forêts aléatoires, la régression logistique et la régression linéaire avec des algorithmes de descente de dégradé stochastique sont basés sur scikit-learn.

Modèles de classification Modèles de régression Modèles de prévisions Modèles de prévision (serverless)
Arbres de décision Arbres de décision Prophète Prophète
Forêts aléatoires Forêts aléatoires Auto-ARIMA (disponible dans Databricks Runtime 10.3 ML et versions ultérieures.) AUTO-ARIMA
Régression logistique Régression linéaire avec une descente de gradient stochastique DeepAR
XGBoost XGBoost
LightGBM LightGBM

Génération de notebooks d'essai

Le calcul AutoML classique génère des notebooks du code source pendant les essais, afin que vous puissiez passer en revue, reproduire et modifier le code selon vos besoins.

Pour les expériences de prévision, les notebooks générés par AutoML sont automatiquement importés dans votre espace de travail pour tous les essais de votre expérience.

Pour les expériences de classification et de régression, les notebooks générés par AutoML pour l'exploration des données et le meilleur essai de votre expérience sont automatiquement importés dans votre espace de travail. Les notebooks générés pour d’autres essais d'expériences sont enregistrés en tant qu’artefacts MLflow sur DBFS, au lieu d’être importés automatiquement dans votre espace de travail. Pour tous les essais à l'exception du meilleur essai, les notebook_path et notebook_url dans l’API Python TrialInfo ne sont pas définis. Si vous devez utiliser ces notebooks, vous pouvez les importer manuellement dans votre espace de travail avec l’interface utilisateur de l’expérimentation AutoML ou l'API Python.

Si vous utilisez uniquement le notebook d'exploration de données ou celui du meilleur essai généré par AutoML, la colonne Source de l'interface utilisateur de l'expérience AutoML contient le lien vers le notebook généré pour le meilleur essai.

Si vous utilisez d’autres notebooks générés dans l’interface utilisateur de l’expérience AutoML, ceux-ci ne sont pas importés automatiquement dans l’espace de travail. Vous pouvez trouver les notebooks en cliquant sur chaque exécution de MLflow. Le notebook IPython est enregistré dans la section Artefacts de la page d’exécution. Vous pouvez télécharger ce notebook et l’importer dans l’espace de travail, à condition que le téléchargement des artefacts soit activé par les administrateurs de votre espace de travail.

Valeurs de Shapley (SHAP) pour l’explication du modèle

Remarque

Pour MLR 11.1 et versions antérieures, les tracés SHAP ne sont pas générés si le jeu de données contient une colonne datetime.

Les cahiers d'exécution produits par les exécutions de régression et de classification AutoML incluent du code pour calculer des valeurs de Shapley. Les valeurs Shapley sont basées sur la théorie du jeu et estiment l’importance de chaque fonctionnalité aux prédictions d’un modèle.

Les notebooks AutoML calculent les valeurs Shapley à l’aide du package SHAP. Étant donné que ces calculs sont extrêmement gourmands en mémoire, les calculs ne sont pas effectués par défaut.

Pour calculer et afficher les valeurs de Shapley :

  1. Accédez à la section Importance d’une caractéristique dans un notebook d’évaluation généré par AutoML.
  2. Définissez shap_enabled = True.
  3. Réexécutez le notebook.

Étapes suivantes