Brief IA : JSON valide, données fausses : cinq pièges et quoi faire

JSON valide, données fausses : cinq pièges et quoi faire

Brief IA
Tom Levy·5 min·2 vues

La validation de schéma ne garantit pas la justesse des données produites par les LLM, exposant les pipelines à des erreurs sémantiques majeures. Des benchmarks comme ceux de BAML montrent une baisse de précision et identifient cinq défaillances que la validation de schéma ne détecte pas. Une approche en trois couches, incluant la validation structurelle, des validateurs sémantiques et un champ de confiance, est proposée pour renforcer la fiabilité des sorties structurées.

En bref
1Le décodage contraint garantit des JSON valides mais laisse passer cinq erreurs sémantiques majeures
2Des benchmarks (BAML, Lee et al., Tam et al.) montrent une baisse de précision et des cas où la génération libre est plus fiable
3Une défense en trois couches (schéma, sémantique, incertitude) et le resampling sont proposés pour renforcer la fiabilité
💡Pourquoi c'est importantLa validation de schéma seule ne suffit pas à garantir la justesse des données produites par les LLM, exposant les pipelines à des erreurs difficiles à détecter.
Le brief IA que lisent les pros

La recherche en IA te passionne ?

Les papers et avancées qui comptent, expliqués simplement, chaque soir. Gratuit.

Inclus dès l'inscription : notre sélection des meilleurs guides & comparatifs IA.

Choisis ton rythme

Gratuit · Pas de spam · Désabonnement en 1 clic

📄
L'analyse en français

Des résultats structurés impeccables peuvent masquer des erreurs substantielles. Des évaluations attribuées à BAML et à des travaux académiques rapportent une baisse de précision sous contrainte de format et décrivent cinq défaillances que la validation de schéma ne voit pas. Une défense en trois couches et, dans certains cas, le resampling sont proposés pour réhausser la fiabilité.

Trois lignes de défense et des signaux chiffrés pour les activer

Une approche en trois couches est proposée pour renforcer la fiabilité des sorties structurées. La première couche repose sur la validation de schéma et structurelle avec des outils comme Pydantic, JSON Schema ou Zod, qui détectent les erreurs de type, les champs manquants et les énumérations invalides. La deuxième couche ajoute des validateurs sémantiques inter-champs, un suivi de l'entropie des valeurs et des audits périodiques pour couvrir les cinq modes de défaillance qui concernent le sens plutôt que la forme. La troisième couche consiste à ajouter un champ de confiance optionnel à chaque valeur extraite, permettant au modèle d'indiquer son incertitude. Selon le benchmark CONSTRUCT de Cleanlab, le scoring de fiabilité par champ détecte mieux les erreurs dans les sorties structurées de GPT-5 et Gemini que les estimations de confiance au niveau de l'invite. Côté génération, BAML rapporte que le parse-and-retry surpasse le décodage contraint de plus de 2 points de précision sur un même modèle, au prix d'un succès non garanti à la première passe ; la pertinence de cet échange à grand volume, où la latence augmente avec les répétitions, reste à évaluer. Ces mesures répondent à un constat : sous contrainte de schéma, l'incertitude est masquée. Quand une valeur est exigée, le modèle la renseigne, qu'elle soit fondée ou non, et des champs comme risk_score ou summary reçoivent systématiquement un contenu. Il n'existe pas de mécanisme standard pour signaler « je ne sais pas » ou « non applicable », ce qui laisse émerger de mauvaises réponses avec la même confiance apparente que les bonnes.

Le formatage contraint coûte de la précision, selon plusieurs travaux

Des mesures attribuées à Lee et al. montrent que, sur des modèles à poids ouverts, imposer un format structuré fait baisser la précision de 3 à 9 points, avec un écart dépassant 15 points sur des tâches de raisonnement mathématique. Tam et al. constatent une dégradation accrue du raisonnement à mesure que les règles de formatage se durcissent. BAML observe, sur des tâches d'appel de fonction, 93,63 % de précision en génération libre avec analyse post-hoc contre 91,37 % en décodage contraint, montrant qu'un JSON toujours valide peut être moins juste qu'un JSON parfois invalide. Ces résultats s'inscrivent dans un contexte où XGrammar est devenu le backend par défaut de vLLM et TensorRT-LLM, avec un surcoût par token proche de zéro et un problème de syntaxe largement résolu. Reste un coût moins visible : une partie de l'attention du modèle est dédiée au respect du format plutôt qu'au contenu, ce que les équipes ne prennent pas toujours en compte.

Cinq types d’erreurs persistent malgré des formats corrects

Cinq modes d'erreurs persistent malgré des sorties conformes au schéma. L'hallucination d'énumération consiste à choisir une valeur valide mais inadaptée au contexte. La fabrication confiante remplit des champs de texte avec des données plausibles mais inventées. Les contradictions entre champs passent les contrôles unitaires tout en rendant l'enregistrement impossible. L'effondrement distributionnel pousse le modèle vers des valeurs par défaut jugées sûres. L'hallucination de tableau remplace un tableau vide par des éléments fabriqués.

Exemples concrets : priorités, dépenses fantômes, dates impossibles

Avec une énumération de priorité comme [« faible », « normal », « élevé », « urgent »], la grammaire garantit une valeur mais pas sa pertinence, et le modèle peut classer « urgent » une demande routinière. BAML rapporte qu'en soumettant la photo d'un éléphant comme reçu, le décodage contraint a produit un rapport de dépenses complet et valide selon le schéma, sans possibilité pour le modèle de refuser ou d'exprimer un doute. Les vérifications champ par champ ne détectent pas les incohérences globales : un extrait de sentiment {sentiment: « positif », score: 0.1} ou un intervalle de dates avec une fin antérieure au début passent la validation unitaire. Le biais vers des tokens probables favorise des valeurs génériques comme 0.95, « moyen » ou « général ». Enfin, les tableaux vides étant de faible probabilité sous grammaire, des items fictifs apparaissent et créent des « correspondances » fantômes alors que la bonne réponse est zéro.

Surveillance opérationnelle : distributions, entropie, et règles inter-champs

Plusieurs signaux facilitent la détection des défaillances. Pour l'hallucination d'énumération, il s'agit de suivre la distribution des valeurs par champ dans le temps. Pour la fabrication confiante, il faut contrôler l'absence de refus ou de valeurs nulles et auditer les sorties issues d'entrées ambiguës. Contre les contradictions, des validateurs Pydantic avec logique inter-champs sont recommandés. Sur l'effondrement distributionnel, surveiller l'entropie et alerter lorsqu'elle se rétracte. Pour les tableaux, comparer le taux de tableaux vides observé au taux de base attendu. Écrire toujours plus de règles peut aider sur des modèles connus, via des contrôles comme start_date > end_date ou des cohérences score-label, mais se heurte à la diversité ouverte des erreurs sémantiques. Une alternative est le resampling : générer librement, valider, et régénérer en cas d'échec. BAML rapporte qu'un parse-and-retry dépasse le contraint de plus de 2 points sur un même modèle. Dans tous les cas, la conformité au schéma reste un plancher à compléter par des contrôles sémantiques, mis en place après des incidents répétés.

Suivez Brief IA

L'actu IA du jour, aussi dans votre fil.

Commentaires