Qu’est-ce que le Data Labeling ?
Quelle importance accorder aux tâches de labellisation de données pour construire des produits IA ?
On le sait : la plupart des applications de l'IA demande une quantité de données conséquente. Alimentés par ces énormes quantités de données, les algorithmes d'apprentissage automatique sont incroyablement doués pour apprendre et détecter des tendances ("patterns") dans les données et faire des prédictions utiles... sans que cela ne demande des heures de programmation.
Exploiter les données brutes est donc une priorité pour le Data Scientist, qui va avoir recours au Data Labeling, ou l'étiquetage de données en français, pour ajouter une couche sémantique à ses données. Il s'agit tout simplement d'attribuer des labels, c'est-à-dire des étiquettes ou des catégories, aux données de tous types, structurées et non structurées (texte, image, vidéo) afin de les rendre compréhensibles pour un modèle de Machine Learning ou Deep Learning supervisé.
Le Data Labeling pour les modèles Computer Vision (et NLP)
Les algorithmes d'apprentissage automatique supervisé exploitent de grandes quantités de données étiquetées pour entraîner des réseaux de neurones à reconnaître des tendances dans les données qui sont utiles pour une application. Les Data Labelers définissent des annotations sur les données qui ont valeur de "vérité" ("ground truth"), et les ingénieurs introduisent ces données dans un algorithme d'apprentissage automatique.
Prenons l'exemple d'un modèle "Computer Vision" de reconnaissance de chiens et de chats. Pour entraîner ce modèle, il est nécessaire de disposer d'une grande quantité de photos d'animaux étiquetées comme étant soit des chiens, soit des chats. Le modèle utilisera alors ces données étiquetées pour apprendre à différencier les chiens des chats, et sera capable de prédire à quelle catégorie appartient une nouvelle image non étiquetée. Le Data Labeling est donc essentiel pour entraîner des modèles de Machine Learning de manière précise et efficace. Cependant, il peut être fastidieux et coûteux de le faire manuellement, surtout lorsqu'il y a de grandes quantités de données à traiter. Pour cette raison, de nombreux outils et plateformes automatisées ont été développés pour faciliter ce processus.
Quels types de données peuvent être exploités pour alimenter les modèles IA ?
Toutes les données peuvent être exploitées ou presque :
- Des données structurées, organisées dans une base de données relationnelles.
- Des données non structurées, comme des images, des vidéos, des données LiDAR ou Radar, du texte brut et des fichiers audio.
Si les données structurées ont été très largement exploitées ces 40 dernières années depuis l'essor des systèmes de gestion de bases de données (Oracle, Sybase, SQL Server, ...), les données non structurées sont quant à elle très largement inexploitées et représentent une mine d'information dans tous les secteurs d'activité.
Apprentissage supervisé et apprentissage non-supervisé
En IA appliquée, l'apprentissage supervisé est au cœur des applications IA innovantes qui s'invitent dans nos vies quotidiennes (ChatGPT, détection d'obstacles pour les voitures automatiques, reconnaissance faciale, etc.). L'apprentissage supervisé demande un volume de données massif, labellisées de façon précise, pour entraîner les modèles et obtenir des résultats ou prédictions de qualité.
A l'inverse, l'apprentissage non supervisé ne s'appuie pas sur des quantités de données mais analyse un set de données limité pour apprendre et s'améliorer. Même s'il existe des applications de ces techniques qui ont fait leur preuve, la tendance est à la construction de produits IA avec une approche centrée sur les données pour une bonne raison : les résultats sont généralement plus précis et plus rapides à obtenir. De moins en moins d'applications commerciales du Machine Learning reposent sur un "code" complexe. Le travail des Data Scientists et Data Engineer prend alors tout son sens : le rôle de ces spécialistes de la donnée sera de plus en plus tourné vers une gestion efficace d'un Data Pipeline, allant de la collecte de données, jusqu'à la labellisation, la qualification des données annotées et la mise en production.
Labelliser les données : l'importance de la précision pour les modèles IA
Le Data Labeling doit être effectué de manière rigoureuse et précise, afin d'éviter les erreurs et les biais dans les données. Ces erreurs peuvent en effet avoir un impact négatif sur les performances du modèle de Machine Learning et il est donc nécessaire de s'assurer que les données sont labellisées de manière cohérente.
Le Data Labeling est un travail laborieux, qui demande patience, efficacité et constance. C'est aussi un travail qui est parfois jugé ingrat, car répétitif si l'on se contente de traiter les données en série sans appliquer une stratégie de labeling ou une méthodologie dédiée, ou sans utiliser un outillage approprié (plateforme ergonomique et performante) ou des technologies d'annotation assistée (par exemple, l'Active Learning).
Les entreprises ont tendance à confier les tâches de Data Labeling à :
- Des équipes "internes" (Data Scientist stagiaire, intérimaire, profil débutant, ...) en assumant que la tâche est accessible de tous car jugée simple. Un problème : cela a tendance à frustrer ces profils, qui sont malgré tout coûteux !
- Des équipes "crowdsourcées" via des plateformes en ligne, ce qui donne accès à un pool large de Data Labelers, généralement issus de pays à faible revenu avec un impact humain négatif (dilution et très faibles salaires) et une faible maîtrise de la chaîne de production de la donnée labellisée.
- Des équipes de Data Labelers spécialisés, experts dans un domaine fonctionnel (santé, mode, automobile, ...) et disposant d'une connaissance des outils de labellisation du marché ainsi que d'un regard pragmatique et critique sur les données labellisées et le processus de labellisation.
En résumé, le Data Labeling est un processus clé dans le domaine de l'apprentissage automatique et de l'intelligence artificielle. Il consiste à attribuer des étiquettes aux données afin de les rendre utilisables et intelligibles pour un modèle de Machine Learning. Bien que fastidieux et coûteux, il est essentiel d'accorder de l'importance à ce processus afin d'éviter les erreurs et les biais dans les données, pour construire les produits IA de demain !