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.
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 :
Cet article de blog examine en détail le schéma ci-dessus, en utilisant deux approches différentes :
"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) :
TPOT (un autre classique), qui comprend en outre le prétraitement, la construction et la sélection des caractéristiques :
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.
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...
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.
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.
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 :
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.
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 :
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.
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.