3 janvier 2023

Ce qu'il faut attendre de l'apprentissage automatique : Zoom avant sur les aspects techniques et zoom arrière sur la vue d'ensemble

Les contributeurs
Julien Schuermans
Ingénieur en machine learning
Aucun élément trouvé.
S'abonner à la newsletter
Partager cet article

Introduction

Ce billet de blog traite des performances des outils d'apprentissage automatique (AutoML) qui visent à automatiser les tâches d'application de l'apprentissage automatique à des problèmes du monde réel sans connaissances spécialisées. Le blog affirme que les outils disponibles aujourd'hui ne tiennent pas leurs promesses et utilise deux approches différentes pour répondre à la question "Que pouvez-vous attendre de l'apprentissage automatique ?" La première approche se concentre sur les aspects techniques de l'AutoML, et la seconde approche se concentre sur la vue d'ensemble. Les aspects techniques montrent qu'il n'y a pas de consensus sur les composants exacts qui devraient être automatisés, et que les différents outils AutoML offrent une grande variété de fonctionnalités. La vue d'ensemble montre qu'AutoML n'est qu'une étape dans une histoire plus vaste de résolution de problèmes. Sans expertise, les personnes impliquées dans cette histoire risquent de commettre des erreurs au niveau des interfaces. Par conséquent, les utilisateurs d'AutoML ont besoin d'au moins quelques connaissances d'expert pour travailler efficacement avec AutoML.

Tout d'abord

De nombreux acteurs prétendent offrir la solution AutoML que vous recherchez. Le récent AutoML Benchmark tente de donner une vision objective des performances de certains de ces outils.

Mais qu'est-ce qu ' AutoML ? La plupart des explications comprennent

quelque chose de technique, comme

... l'automatisation des tâches d'application de l'apprentissage automatique aux problèmes du monde réel -wikipedia

ainsi qu'un aspect humain:

... des méthodes d'apprentissage automatique prêtes à l'emploi qui peuvent être utilisées facilement et sans connaissances spécialisées" -automl.org

Prises au pied de la lettre, ces affirmations sont énormes. Dans ce billet de blog, nous soutiendrons que les outils disponibles aujourd'hui ne tiennent pas leurs promesses. En nous concentrant sur l'AutoML pour les données structurées (tabulaires) en particulier, nous essayons de répondre à la question : "Que pouvez-vous attendre de l'apprentissage automatique ?"

Une version romantique de ce que les gens attendent d'AutoML pourrait ressembler à ceci :

Cela semble assez facile, n'est-ce pas ?
Cela semble assez facile, n'est-ce pas ?

Cet article de blog examine en détail le schéma ci-dessus, en utilisant deux approches différentes :

  1. en se concentrant sur les aspects techniques d'AutoML : il n'est pas toujours évident de savoir quelles tâches de ML ce "bloc bleu" doit automatiser pour convertir un ensemble de données en un modèle.
  2. en faisant un zoom arrière pour montrer la situation dans son ensemble : les gens ont besoin d'au moins quelques connaissances spécialisées pour travailler avec AutoML.

1. Zoom avant

"Qu'est-ce qu'AutoML doit automatiser exactement ?

Il n'existe pas de réponse directe à cette question sur laquelle tous les cadres, développeurs et utilisateurs s'accordent. Ce manque de clarté a permis à différents fabricants d'outils de se concentrer sur l'automatisation de différents sous-ensembles de tâches dans les projets de ML. Il en résulte que les outils disponibles ont souvent des fonctionnalités différentes mais qui se chevauchent. Pour un utilisateur final qui souhaite "automatiser des tâches de ML", il peut être très difficile de comparer les outils.

Vous trouverez ci-dessous 4 exemples qui illustrent cette situation. (Cette liste n'est pas exhaustive - n'hésitez pas à faire cet exercice pour d'autres outils).

Apprentissage automatique automatise le strict minimum. Notez la nécessité d'un nettoyage manuel de l'ensemble de données et d'un prétraitement des caractéristiques. (Dans ces croquis, les composants colorés sont ceux couverts par l'outil en question) :

auto-apprentissage

TPOT (un autre classique), qui comprend en outre le prétraitement, la construction et la sélection des caractéristiques :

TPOT

Les créateurs de MLJAR (et d'autres outils similaires) visent un peu plus haut. Ces outils open source comprennent des fonctions permettant, par exemple, d'expliquer, d'assembler, de générer de la documentation, de suivre les expériences et de valider les modèles. Cela signifie que les utilisateurs ne se contentent pas de créer un modèle de ML, mais qu'ils capturent également de nombreuses métadonnées utiles.

MLJAR

En 2022, Google Cloud a vraiment encouragé le développement et l'adoption de "Vertex AI AutoML Tabular". Il effectue un certain nettoyage des données (contrairement aux outils précédents), ce qui signifie que vous pouvez lui fournir votre ensemble de données brutes si vous le souhaitez. La génération de statistiques et la détection de la dérive des données sont mises en œuvre via TFX. Les modèles entraînés peuvent être déployés en tant que point final : toutes ces étapes s'intègrent parfaitement dans les pipelines Vertex AI. GCP offre également une explicabilité post-déploiement plutôt qu'une explicabilité pendant le développement / la sélection du modèle. Il n'y a cependant pas de véritable génération de documentation à voir...

Tables AutoML sur Google Cloud

Après avoir examiné de plus près le fonctionnement interne de quelques outils AutoML populaires, les choses sont devenues assez claires :

Il n'y a pas de consensus sur les composants exacts qui devraient être automatisés. Les différents outils AutoML offrent une grande variété de fonctionnalités.

2. Zoom arrière

L'(auto)ML n'est qu'une étape dans une histoire plus vaste de résolution de problèmes. Sans expertise, les humains de cette histoire risquent de commettre des erreurs aux interfaces:

À L'ENTRÉE : L'introduction de données dans un système de ML nécessite une certaine prise de décision.

Comment décidez-vous des données à introduire dans votre système autoML ?

Certaines choses ne peuvent tout simplement pas être automatisées. Avant de confier un ensemble de données à un système AutoML (ou à un groupe d'ingénieurs en ML), une personne connaissant les données doit y réfléchir sérieusement et en profondeur :

  • Quels autres ensembles de données puis-je exploiter pour résoudre ce problème ?
  • Comment agréger les données pour garantir que le modèle produit des résultats exploitables ?
  • Quelles hypothèses cet outil de ML fait-il à propos des données que je lui fournis ?
  • Cet ensemble de données est-il représentatif de l'environnement dans lequel le modèle sera déployé ?
  • Comment éviter les fuites de données et/ou de cibles?
  • D'où viennent toutes ces valeurs NULL ? Y a-t-il quelque chose que je puisse faire à ce sujet ?

Je suis presque sûr que ce ne sont pas les seuls problèmes, mais vous voyez ce que je veux dire.

A LA SORTIE : L'interprétation des résultats des travaux de formation en ML n'est pas facile.

Quand décidez-vous de déployer un modèle ?

Une fois que vous avez formé un modèle - Bravo !- vous voudrez probablement jeter un coup d'œil à ses spécifications avant de le déployer. Sinon, comment savoir s'il est assez bon? A-t-il besoin de plus d'entraînement ? Plus de données ? D'une formulation différente du problème ? Pour répondre à ces questions, vous devrez probablement approfondir les résultats :

  • Que savez-vous du fonctionnement interne de ce "meilleur" modèle produit par la suite AutoML ? A-t-il 100 paramètres ? 100M ? S'agit-il d'un GBDT ou d'un ensemble de MLP ? Est-il déterministe ?
  • Pouvez-vous expliquer son fonctionnement aux professionnels ?
  • Pouvez-vous l'exporter vers ONNX ou TFLite ? Quel est le temps de latence de l'inférence ?
  • Que pensez-vous de la courbe ROC AUC ? Pouvez-vous expliquer pourquoi le score RMSE devrait être préféré à la mesure R2 dans ce cas ?
  • Pouvez-vous interpréter les graphiques avec les valeurs SHAP sans confondre corrélation et causalité ?

Nous ne sommes pas seulement des amateurs d'abréviations - ce sont des exemples de questions qui surgissent au cours des projets de ML. Même si vous pouvez automatiser certaines ou toutes les parties techniques de la création du modèle, cela ne signifie pas que votre modèle est prêt à être déployé une fois qu'il est formé.

Un zoom arrière nous a permis de nous en rendre compte :

Il n'est pas réaliste de "laisser des non-experts réaliser des projets de ML de bout en bout", car pour que les humains puissent interagir avec les systèmes de ML, une expertise concernant les données d'entrée et l'évaluation du modèle est absolument nécessaire.

3. Conclusion

AutoML est un outil de plus: un composant dans un cadre itératif qui vous permet de rechercher les meilleures données possibles pour faire des prédictions utiles, sans passer trop de temps sur le développement du modèle.

Les outils doivent être utilisés d'une certaine manière. Si vous avez une bonne idée de ce qu'un outil peut faire, vous aurez plus de chances d'utiliser le bon outil pour le bon travail. N'attendez pas d'un seul outil qu'il résolve vos problèmes comme par magie.

(expérience de pensée bonus)

  • AutoML peut être coûteux en raison de tous les hyperparamètres que vous réglez.
  • Les projets ML sont itératifs
  • Souhaitez-vous dépenser des centaines d'euros pour des tâches d'apprentissage lentes dans le cadre d'une recherche de grille excessive utilisant les mauvaises données ? Ou préférez-vous utiliser un modèle de base simple et efficace et procéder à des itérations rapides pour déterminer les caractéristiques qui ont de la valeur ? Peut-être qu'AutoML est plus adapté pour "extraire les derniers points de pourcentage" que pour expérimenter rapidement ?

Postes connexes

Voir tout le contenu
Aucun résultat n'a été trouvé.
Il n'y a pas de résultats correspondant à ces critères. Essayez de modifier votre recherche.
Grand modèle linguistique
Modèles de fondation
Entreprise
Personnes
Données Structurées
Chat GPT
Durabilité
Voix et son
Développement frontal
Protection des données et sécurité
IA responsable/éthique
Infrastructure
Hardware et capteurs
MLOps
IA générative
Natural Language Processing
Vision par ordinateur