Anthony Hall - stock.adobe.com
Projets IA : pourquoi les contrats de données devraient être incontournables
Les modèles d’IA échouent en silence lorsque les données en amont changent. Les contrats de données permettent d’éviter cela en faisant du schéma, de la sémantique et de la qualité un accord contraignant entre les producteurs et les consommateurs.
La valeur des modèles d’IA dépend en très grande partie de la qualité des données qui les alimentent. Pourtant, la plupart des équipes s’en rendent compte à leurs dépens. Cela se produit lorsqu’une modification du schéma en amont corrompt discrètement les caractéristiques, ou qu’un changement subtil dans la sémantique des événements fait dévier la précision d’un modèle.
Les contrats de données s’imposent comme la résultante d’une discipline permettant d’éviter ces défaillances. Elle implique de traiter les données de la même manière que les ingénieurs logiciels gèrent les API. Il s’agit de fournir aux producteurs et aux consommateurs de données une interface bien définie et versionnée.
Qu’est-ce qu’un contrat de données (ou data contract) ?
Un contrat de données est un accord formel et exécutoire entre un producteur de données et ses consommateurs. Il précise la structure des données et leur comportement. Contrairement à une documentation informelle ou à un savoir tacite, les contrats sont lisibles par une machine et validés automatiquement.
Un contrat type définit le schéma, y compris les noms de champs, les types et la possibilité de valeur nulle ; la sémantique, qui précise ce que chaque champ représente et comment il est mesuré ; les attentes en matière de qualité telles que l’actualité, l’exhaustivité et les plages valides ; ainsi que les garanties opérationnelles couvrant les SLA, la politique de gestion des versions et les procédures en cas de changement majeur.
Les deux parties impliquées dans un échange de données savent exactement à quoi s’attendre, et chacune d’entre elles peut normalement détecter une violation dès qu’elle se produit.
Pourquoi les projets d’IA en ont davantage besoin que l’analytique traditionnelle
Les tableaux de bord tolèrent des données imparfaites, car une ligne manquante ou un chiffre légèrement erroné ne constitue généralement qu’un simple incident visuel. Les systèmes d’apprentissage automatique n’ont pas la même tolérance.
Les pipelines de caractéristiques, les jeux de données d’entraînement et l’inférence en ligne supposent tous des distributions stables et une sémantique cohérente. Ainsi, lorsqu’une équipe en amont ajoute une nouvelle valeur d’énumération ou commence à remplir un champ qui était auparavant nul, les modèles peuvent se dégrader de manière silencieuse. Les décalages entre l’entraînement et la mise en service proviennent souvent d’un comportement non documenté du producteur que personne n’a pensé à communiquer. Les contrats de données détectent ces problèmes à la source, avant qu’un seul déploiement en amont ne réduise à néant des mois de réglages minutieux.
Les éléments essentiels d’un contrat de données
Un contrat efficace va au-delà d’une simple documentation informelle et doit inclure les éléments suivants :
- Schéma et types. Une définition structurelle des données dans des formats tels que JSON Schema, Protobuf ou Avro.
- Définitions sémantiques. La signification de chaque champ, y compris ses unités, ses fuseaux horaires et sa signification métier.
- Règles de qualité. Des attentes mesurables concernant les données, telles que le nombre de lignes, les seuils de valeurs nulles et les plages valides.
- Responsabilité. Une responsabilité claire concernant l’ensemble de données, avec mention de l’équipe productrice et d’un interlocuteur de garde.
- Politique de gestion des versions. Un processus défini pour déployer des mises à jour à la fois rétrocompatibles et non rétrocompatibles sans perturber les consommateurs en aval.
- SLA. Des engagements opérationnels couvrant l’actualité, la disponibilité et la réponse aux incidents.
IA agentique et contrat de données : Une adaptation nécessaire
Dans un billet de blog publié sur Hackernoon, Anusha Kovi, ingénieure BI chez Amazon, avance que cette approche est pour l’instant valable sur les algorithmes de machine learning et les accès aux données effectuées par des humains. Les tests menés par elle et ses équipes tendent à démontrer que les agents IA n’interprètent pas les instructions dans les contrats de données au format YAML. Ils ne suffisent pas à protéger des erreurs au sein des pipelines, auxquels les agents IA n’ont pas accès. Les instructions doivent être réécrites pour les agents IA, tandis que les contrats de données devraient probablement prendre la forme de métadonnées dans les systèmes producteurs. Il manquerait pour le moment un protocole afin de simplifier la bonne interprétation des contrats par ces systèmes autonomes. L’éditeur français Sifflet fait le même pari. Il envisage d’infuser les informations des produits de données dans une couche de métadonnées accessible par API. Les acteurs comme ServiceNow, Snowflake, Databricks, ou encore Salesforce partagent cette réflexion.
Comment adopter les contrats de données
Les entreprises devraient commencer par s’attaquer aux points les plus critiques, en identifiant les deux ou trois ensembles de données dont dépendent le plus les modèles d’apprentissage automatique. Elles devraient codifier en priorité les contrats relatifs à ceux-ci. La validation doit s’inscrire dans le cadre de l’intégration continue pour le producteur et lors de l’ingestion pour le consommateur, afin que les violations soient clairement signalées. Utilisez un registre de schémas pour suivre les versions et automatiser les contrôles de compatibilité. Les changements majeurs justifient la même rigueur qu’un changement d’API : annoncez-les à l’avance, versionnez le contrat, dépréciez l’ancienne version selon un calendrier clair, puis retirez-la.
Le changement culturel est tout aussi important que les outils. Les producteurs doivent assumer la responsabilité des données qu’ils émettent, et les consommateurs doivent exprimer clairement ce dont ils ont réellement besoin. Cette conversation, rendue explicite et durable par un contrat écrit, constitue la véritable valeur de cette pratique. Les outils garantissent le respect de l’accord, mais c’est l’accord lui-même qui permet d’aligner les équipes.
Les avantages
Les équipes qui adoptent des contrats de données consacrent moins de temps à la gestion des urgences et davantage à l’amélioration des modèles. Les défaillances ne se manifestent plus sous la forme de dérives tardives et difficiles à diagnostiquer, mais sous celle d’alertes précoces et exploitables qui apparaissent au niveau du producteur plutôt qu’au niveau du modèle. Pour les projets d’IA, où la qualité des données est déterminante, ces contrats deviennent rapidement une infrastructure incontournable.
Stephen Catanzano est analyste senior chez Omdia, où il couvre la gestion et l’analyse des données. Omdia est une division d’Informa TechTarget. Ses analystes entretiennent des relations commerciales avec des fournisseurs de technologies....
