Data-Centric AI
L’IA axée sur les données améliore les modèles en corrigeant systématiquement les étiquettes, la couverture et la qualité des données d’entraînement, tout en gardant fixe l’architecture du modèle.
L’IA centrée sur les données consiste à améliorer un système d’IA en travaillant systématiquement ses données, notamment la cohérence des étiquettes, la couverture des conditions réelles, l’équilibre des classes et la qualité, tandis que le modèle et le code d’entraînement restent en grande partie inchangés. Andrew Ng a popularisé le terme en 2021, estimant que des architectures comme les réseaux neuronaux convolutifs et les transformers sont suffisamment matures pour que la plupart des applications tirent davantage profit de données de meilleure qualité que d’un meilleur modèle. À l’inverse, l’IA centrée sur le modèle maintient un jeu de données de référence fixe et fait évoluer les architectures, les fonctions de perte et le réglage des hyperparamètres, comme le font la plupart des classements universitaires.
L’exemple le plus connu de Ng concerne l’inspection de tôles d’acier : un détecteur de défauts bloqué à 76,2 % de précision ne s’améliorait pas avec des optimisations centrées sur le modèle, tandis que la correction d’étiquettes incohérentes a fait grimper ce taux à 93,1 %. Plus tard cette année-là, DeepLearning.AI et Landing AI ont organisé une compétition d’IA centrée sur les données, dans laquelle le modèle était figé et les participants ne pouvaient améliorer qu’un jeu de données bruité de classification d’images de chiffres romains manuscrits, plafonné à 10 000 images.
Pratiques fondamentales#
- Étiquetage des données cohérent : les annotateurs suivent des règles écrites pour traiter les cas ambigus, par exemple pour déterminer si une boîte doit inclure le rétroviseur latéral d’une voiture ou comment étiqueter une personne à moitié cachée. Deux annotateurs qui tranchent différemment ces cas créent un bruit d’étiquetage qu’aucun modèle ne peut compenser.
- Détection des erreurs d’étiquetage : les désaccords entre les prédictions d’un modèle et les étiquettes fournies indiquent des erreurs probables. Une étude de 2021 menée par Northcutt, Athalye et Mueller a relevé des erreurs d’étiquetage dans au moins 3,3 % des exemples de test en moyenne, sur 10 jeux de données populaires, et dans au moins 6 % de l’ensemble de validation ImageNet.
- Collecte ciblée et données synthétiques : l’analyse des erreurs par classe, scène, éclairage ou taille d’objet révèle les points faibles d’un modèle ; de nouveaux exemples ciblant précisément ces cas sont plus utiles que des ajouts aléatoires.
- Nettoyage des données : suppression des fichiers corrompus, des images non pertinentes et des doublons, en particulier des quasi-doublons présents à la fois dans les partitions d’entraînement et de test.
- Augmentation des données : élargissement de la gamme d’éclairages, d’échelles et d’angles de vue présentée au modèle sans collecter de nouvelles images.
Des doublons entre les partitions provoquent une fuite de données, qui gonfle les scores de test, et un déséquilibre des classes peut permettre à un modèle d’atteindre une précision élevée tout en manquant la classe rare qui compte, comme dans la détection de défauts de fabrication, où les pièces défectueuses sont rares. En analyse d’images médicales, les jeux de données sont petits et les étiquettes d’experts coûteuses ; la cohérence et la vérification des étiquettes comptent donc plus que leur volume.
La boucle centrée sur les données#
Une équipe axée sur les données conserve le modèle inchangé, étudie ses erreurs à l’aide d’outils comme une matrice de confusion et modifie les données en conséquence, comme le fait la leçon Premier réglage fin et boucle d’itération lorsqu’elle transforme la classe la moins performante d’un modèle YOLO26 en prochaine amélioration du jeu de données :
Cet exemple corrompt 20 % des étiquettes dans le jeu de données de chiffres manuscrits de scikit-learn, signale les exemples dont la prédiction hors pli contredit l’étiquette, puis réentraîne le même modèle sans ces exemples :
import numpy as np
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import cross_val_predict, train_test_split
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
# Replace 20% of the training labels with random digits to mimic annotation errors
rng = np.random.default_rng(0)
noisy = y_train.copy()
flip = rng.random(len(noisy)) < 0.2
noisy[flip] = rng.integers(0, 10, flip.sum())
wrong = noisy != y_train # some random digits match the true label
# The model stays fixed; only the training data changes
model = LogisticRegression(max_iter=5000)
print(f"noisy labels: {model.fit(X_train, noisy).score(X_test, y_test):.1%} test accuracy")
# Flag examples whose out-of-fold prediction disagrees with their label, then drop them
keep = cross_val_predict(model, X_train, noisy, cv=5) == noisy
print(f"flagged {(~keep).sum()} examples, {(~keep & wrong).sum()} of {wrong.sum()} wrong labels")
print(f"cleaned labels: {model.fit(X_train[keep], noisy[keep]).score(X_test, y_test):.1%} test accuracy")La précision sur le jeu de test passe de 87,0 % à 94,1 % sans modifier le modèle. Le filtre signale 354 exemples : 211 des 213 étiquettes erronées et 143 exemples corrects, mais inhabituels. Le jeu nettoyé perd donc quelques exemples valides en plus de presque toutes les erreurs.
Pour comparer des modifications des données, il faut savoir précisément quelles données ont servi à entraîner chaque modèle. Ultralytics Platform stocke des versions immuables des jeux de données : l’option Save Dataset Version de l’entraînement cloud associe chaque modèle à l’instantané utilisé pour son entraînement, Compare Versions répertorie les images, les annotations et les classes qui ont changé entre deux instantanés, et l’onglet Models du jeu de données affiche la version utilisée à côté des métriques principales, comme mAP50-95.
IA centrée sur les données et termes connexes#
- Apprentissage actif : choisit les prochains exemples non étiquetés à annoter, généralement ceux dont le modèle est le moins sûr. C’est une des techniques de l’IA centrée sur les données.
- Cycle vertueux des données : boucle de production dans laquelle les entrées et les erreurs d’un modèle déployé deviennent de nouvelles données d’entraînement ; le travail centré sur les données se répète donc à chaque version.
- Opérations d’apprentissage automatique (MLOps) : pratiques d’ingénierie qui assurent le versionnement, l’entraînement, le déploiement et la surveillance des modèles, rendant les modifications des données reproductibles et comparables.










