Ingénierie IAIngénierie IA
Ingénierie IA8 min de lecture

Qu’est-ce que l’IA centrée sur les données ?

Le début de l’IA centrée sur les données avec la programmation des données. Malheureusement, plus vous avez de données, mieux c’est.

Qu’est-ce que l’IA centrée sur les données ?
Sommaire

À retenir

  • L’IA centrée sur les données déplace l’attention, qui ne porte plus seulement sur la modification des modèles, mais aussi sur l’amélioration des données, des annotations, de la couverture et des boucles de rétroaction.
  • De meilleurs exemples, des annotations plus propres et des cas limites plus clairs peuvent améliorer davantage un système que le passage à un modèle plus grand.
  • La bonne habitude consiste à examiner les échecs, puis à déterminer si la solution relève des données, des annotations, de la recherche d’information, des prompts ou de la modélisation.

Ce qui rend GPT-3 et DALL·E puissants est exactement la même chose : les données.

Les données sont essentielles dans notre domaine, et nos modèles en sont extrêmement gourmands. Ces grands modèles, qu’il s’agisse de modèles de langage pour GPT ou de modèles d’images pour DALL·E, ont tous besoin de la même chose : beaucoup trop de données.

Malheureusement, plus vous avez de données, mieux c’est. Vous devez donc faire grandir ces modèles, surtout pour les applications réelles. De plus grands modèles peuvent exploiter de plus grands jeux de données pour s’améliorer seulement si les données sont de grande qualité. Leur fournir des images qui ne représentent pas le monde réel ne servira à rien et nuira même à leur capacité de généralisation. C’est là que l’IA centrée sur les données entre en jeu.

L’IA centrée sur les données, aussi appelée logiciel 2.0, est simplement une façon élégante de dire que nous optimisons les données pour maximiser la performance du modèle. Cette approche s’oppose à celle centrée sur le modèle, où vous modifiez seulement les paramètres du modèle sur un jeu de données fixe. Bien sûr, les deux sont nécessaires pour obtenir les meilleurs résultats possibles, mais les données jouent de loin le rôle le plus important.

Dans cet article réalisé en partenariat avec Snorkel, je vais expliquer ce qu’est l’IA centrée sur les données et présenter quelques grandes avancées dans ce domaine. Vous comprendrez rapidement pourquoi les données sont si importantes en apprentissage automatique, ce qui se trouve au cœur de la mission de Snorkel. Pour reprendre une citation de leur article de blogue lié ci-dessous :

« Les équipes passaient souvent leur temps à écrire de nouveaux modèles plutôt qu’à approfondir leur compréhension du problème et de la façon dont il se manifeste dans les données. […] Écrire un nouveau modèle est un magnifique refuge pour éviter le désordre qu’implique la compréhension des vrais problèmes. »

Et c’est précisément ce que cet article cherche à combattre. En une phrase : l’objectif de l’IA centrée sur les données est d’encoder dans le modèle les connaissances contenues dans nos données en maximisant leur qualité et la performance du modèle.

Présentation du concept de programmation des données

Tout a commencé en 2016 à Stanford avec un article intitulé « Data Programming: Creating Large Training Sets, Quickly », qui présentait un paradigme pour annoter les jeux de données d’entraînement par programmation plutôt qu’à la main. C’était il y a une éternité à l’échelle de la recherche en IA.

Comme vous le savez, les meilleures approches actuelles utilisent l’apprentissage supervisé, un processus dans lequel les modèles apprennent à partir de données et d’annotations afin de reproduire ces annotations lorsqu’on leur fournit les données. Par exemple, vous donnez au modèle de nombreuses images de chiens et de chats avec leurs annotations respectives, puis vous lui demandez de déterminer ce qui se trouve dans chaque image. Vous utilisez ensuite la rétropropagation pour l’entraîner selon la qualité de ses réponses. Si vous ne connaissez pas la rétropropagation, je vous invite à prendre une courte pause pour regarder mon explication de 1 minute, puis à revenir où vous en étiez.

Exemple visuel tiré de Qu’est-ce que l’IA centrée sur les données ?

À mesure que les jeux de données deviennent de plus en plus grands, il devient aussi de plus en plus difficile de les organiser et d’en retirer les données nuisibles afin que le modèle se concentre seulement sur celles qui sont pertinentes. Vous ne voulez pas entraîner votre modèle à détecter un chat alors qu’il s’agit d’une mouffette, car cela pourrait mal finir. Lorsque je parle de données, gardez en tête qu’il peut s’agir de n’importe quel type de données : des tableaux, des images, du texte, des vidéos, etc.

Maintenant que nous pouvons facilement télécharger un modèle pour n’importe quelle tâche, le passage vers l’amélioration et l’optimisation des données est inévitable. La disponibilité des modèles, l’échelle des jeux de données récents et la dépendance de ces modèles aux données expliquent pourquoi un paradigme pour annoter les jeux de données d’entraînement par programmation devient essentiel.

Le principal problème consiste à obtenir des annotations pour nos données. Il est facile de recueillir des milliers d’images de chats et de chiens. Il est beaucoup plus difficile de savoir lesquelles contiennent un chien ou un chat, et encore plus difficile de connaître leur emplacement exact pour les tâches de segmentation.

Exemple visuel tiré de Qu’est-ce que l’IA centrée sur les données ?

Image tirée de Ratner et al., 2016.

Ce premier article présente un cadre de programmation des données dans lequel l’utilisateur, donc l’ingénieur en apprentissage automatique ou le scientifique des données, exprime des stratégies de supervision faible sous forme de fonctions d’annotation. Un modèle génératif utilise ces fonctions pour annoter des sous-ensembles de données. Les chercheurs ont découvert que « la programmation des données pourrait permettre plus facilement à des non-spécialistes de créer des modèles d’apprentissage automatique lorsque les données d’entraînement sont limitées ou inexistantes ».

En bref, ils montrent qu’améliorer les données sans beaucoup de travail supplémentaire, tout en gardant le même modèle, améliore les résultats. Cela semble maintenant évident, mais représentait une étape essentielle. Cet article fondateur est vraiment intéressant et mérite d’être lu !

Le framework open source Snorkel

Le deuxième article présenté ici s’intitule « Snorkel: Rapid Training Data Creation with Weak Supervision ». Publié un an plus tard, lui aussi à l’Université Stanford, il présente une couche d’interface flexible qui permet d’écrire des fonctions d’annotation fondées sur l’expérience. Les données d’entraînement deviennent toujours plus volumineuses et difficiles à annoter, ce qui crée un goulot d’étranglement dans la performance des modèles. Les chercheurs présentent donc Snorkel, un système qui transforme l’approche de l’article précédent en une solution de bout en bout. Il permet aux spécialistes du domaine, soit aux personnes qui comprennent le mieux les données, de définir facilement des fonctions qui annotent automatiquement les données plutôt que de les annoter à la main. Ils peuvent ainsi construire les modèles 2,8 fois plus rapidement tout en augmentant leur performance prédictive de 45,5 % en moyenne.

Exemple visuel tiré de Qu’est-ce que l’IA centrée sur les données ?

Image tirée de Ratner et al., 2017.

Encore une fois, plutôt que d’écrire les annotations, les utilisateurs, ou les spécialistes du domaine, écrivent des fonctions d’annotation. Ces fonctions donnent simplement au modèle des indications sur les motifs à rechercher ou sur tout autre élément qu’un spécialiste utiliserait pour classer les données, ce qui aide le modèle à suivre le même raisonnement. Le système applique ensuite les nouvelles fonctions aux données non annotées et entraîne un modèle génératif qui combine leurs sorties en annotations probabilistes. Celles-ci servent ensuite à entraîner notre réseau neuronal profond final. Snorkel réalise tout ce processus lui-même, ce qui le simplifie pour la première fois.

L’IA centrée sur les données, aussi appelée logiciel 2.0

Exemple visuel tiré de Qu’est-ce que l’IA centrée sur les données ?

Image tirée de Ré, C., 2018.

Notre dernier article, encore une fois publié à Stanford un an plus tard, présente le logiciel 2.0. Cet article d’une page pousse de nouveau la même approche d’apprentissage profond centrée sur les données. Il utilise des fonctions d’annotation pour produire des annotations d’entraînement destinées à de grands jeux de données non annotés, puis entraîne le modèle final. Cette méthode est particulièrement utile pour les énormes jeux de données recueillis sur Internet, comme ceux qu’utilisent les produits Google tels que YouTube, Google Ads ou Gmail, puisqu’elle s’attaque au manque de données annotées à la main.

Bien sûr, ceci n’est qu’un aperçu des progrès et de la direction de l’IA centrée sur les données. Je vous invite fortement à lire l’information liée dans les références ci-dessous pour comprendre pleinement d’où vient cette approche et vers où elle se dirige.

Je tiens aussi à remercier Snorkel d’avoir commandité cet article, et je vous invite à consulter leur site Web pour obtenir plus d’information. Tous les liens se trouvent ci-dessous. Même si vous n’aviez jamais entendu parler de Snorkel, vous avez déjà utilisé leur approche dans de nombreux produits comme YouTube, Google Ads ou Gmail !

Merci de m’avoir lu,

Louis

Références

Snorkel AI a commencé à travailler sur l’IA centrée sur les données au Stanford AI Lab en 2015. L’équipe a présenté la programmation des données en 2016, puis le framework open source Snorkel en 2017. En 2018, l’IA centrée sur les données, ou logiciel 2.0, s’est imposée comme une nouvelle façon de créer des applications d’IA.

►IA centrée sur les données : https://snorkel.ai/data-centric-ai
►Supervision faible : https://snorkel.ai/weak-supervision/
►Annotation par programmation : https://snorkel.ai/programmatic-labeling/
►Liste organisée de ressources sur l’IA centrée sur les données : https://github.com/hazyresearch/data-centric-ai
►En apprendre davantage sur Snorkel : https://snorkel.ai/company/
►From Model-centric to Data-centric AI - Andrew Ng : https://youtu.be/06-AZXmwHjo
►Logiciel 2.0 : https://hazyresearch.stanford.edu/blog/2020-02-28-software2
►Article 1 : Ratner, A.J., De Sa, C.M., Wu, S., Selsam, D. et Ré, C., 2016. Data programming: Creating large training sets, quickly. Advances in neural information processing systems, 29.
►Article 2 : Ratner, A., Bach, S.H., Ehrenberg, H., Fries, J., Wu, S. et Ré, C., novembre 2017. Snorkel: Rapid training data creation with weak supervision. In Proceedings of the VLDB Endowment. International Conference on Very Large Data Bases (vol. 11, no 3, p. 269). NIH Public Access.
►Article 3 : Ré, C. (2018). Software 2.0 and Snorkel: Beyond Hand-Labeled Data. Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining.
►Mon infolettre (une nouvelle application d’IA expliquée chaque semaine par courriel !) : /fr/newsletter/

Discussion

Commentaires

Chargement

Aucun compte requis. Votre nom et votre commentaire seront publics, alors n'incluez pas de renseignements privés. Consultez la page de confidentialité pour les détails.

Continuez à apprendre

Vous voulez le côté pratique de l'IA, sans le brouillard marketing ?

Je partage ce qui est utile sur YouTube, Substack et dans mes guides d'ingénierie IA.

FAQ

Qu’est-ce que l’IA centrée sur les données ?

L’IA centrée sur les données consiste à améliorer les systèmes d’IA en améliorant les données et les annotations, plutôt qu’en traitant l’architecture du modèle comme le seul levier.

Pourquoi l’IA centrée sur les données est-elle utile ?

Elle donne aux équipes une façon pratique de corriger les erreurs en trouvant les exemples manquants, les annotations bruitées, les instructions incohérentes ou les lacunes du jeu de données.

Quelle est la différence entre l’IA centrée sur les modèles et celle centrée sur les données ?

Le travail centré sur les modèles modifie le modèle. Celui centré sur les données améliore les exemples, les annotations, les prompts, les sources de recherche d’information et les données d’évaluation dont dépend le modèle.

Comment commencer à appliquer l’IA centrée sur les données ?

Recueillez les échecs, regroupez-les selon leur cause, améliorez les données ou les annotations du groupe le plus important, puis relancez l’évaluation avant de tout changer.

Quelle est l’erreur courante avec l’IA centrée sur les données ?

L’erreur consiste à ajouter davantage de données sans en vérifier la qualité. Plus d’exemples aident seulement s’ils couvrent le vrai problème et sont annotés de façon cohérente.