Génération de données synthétiques

From Systems analysis Wiki
Jump to navigation Jump to search

La génération de données synthétiques à l'aide de LLM est une technologie de création artificielle de données qui imitent les caractéristiques statistiques et structurelles des données réelles, mais sans contenir d'informations personnelles réelles. Cette approche, qui exploite les capacités des grands modèles de langage (LLM), est devenue un outil essentiel dans l'apprentissage automatique moderne pour résoudre les problèmes de pénurie de données, de confidentialité et du coût élevé de l'annotation manuelle[1].

Définition et prérequis

Qu'est-ce que les données synthétiques ?

Les données synthétiques sont des informations générées artificiellement qui reproduisent les propriétés statistiques et les schémas d'un ensemble de données réel et original. L'Institut national des normes et de la technologie des États-Unis (NIST) les définit comme des données qui conservent les propriétés statistiques de l'original sans révéler de détails individuels[2]. Contrairement à la simple anonymisation, la synthèse de données crée des enregistrements entièrement nouveaux, ce qui garantit un niveau de protection de la vie privée plus élevé.

Pourquoi ce besoin est-il apparu ?

L'intérêt croissant pour la génération synthétique est dû à plusieurs facteurs :

  • Pénurie de données : Dans de nombreux domaines, en particulier ceux qui sont très spécialisés, il n'y a pas assez de données annotées de qualité pour entraîner des modèles robustes.
  • Coût élevé de l'annotation : L'annotation manuelle des données est un processus laborieux et coûteux.
  • Exigences de confidentialité : Les réglementations juridiques et éthiques (par exemple, le RGPD) limitent l'utilisation de données réelles contenant des informations personnelles, médicales ou financières.
  • Déséquilibre des classes : Dans les données réelles, certains événements importants mais rares (edge cases) peuvent être sous-représentés, ce qui empêche le modèle de les apprendre correctement.

Les LLM, entraînés sur d'immenses corpus de texte et de code, sont devenus un outil puissant pour résoudre ces problèmes, car ils sont capables de générer un contenu cohérent et varié qui imite les styles et les distributions des données réelles.

Principales méthodes de génération avec les LLM

Il existe plusieurs approches clés pour créer des données synthétiques à l'aide de LLM.

1. Génération basée sur des prompts (Prompt-based)

C'est une méthode directe où le LLM génère des données à partir d'une requête textuelle (prompt).

  • Zero-shot (à partir de zéro) : Le modèle génère des exemples en se basant uniquement sur la description de la tâche, sans aucun exemple fourni. Cette approche favorise la diversité, mais peut conduire à des résultats moins pertinents.
  • Few-shot (avec quelques exemples) : Le prompt inclut quelques exemples (échantillons) du résultat souhaité. Cela guide le modèle et augmente la pertinence des données générées, mais comporte un risque de duplication et de perte de diversité, car le modèle a tendance à copier les modèles fournis[1].

2. Génération augmentée par récupération (Retrieval-Augmented)

Cette méthode vise à améliorer l'exactitude factuelle des données synthétiques et à réduire le risque d'hallucinations. Le modèle ne s'appuie pas uniquement sur ses connaissances internes, mais utilise un contexte fourni par une source externe fiable. Par exemple, pour générer une paire « question-réponse », un paragraphe pertinent de Wikipédia est d'abord extrait, puis le LLM est invité à formuler une question et une réponse basées strictement sur ce texte.

3. Affinement itératif et auto-apprentissage (Self-Refinement)

Cette classe de méthodes utilise une boucle de rétroaction pour améliorer la qualité des données. L'exemple le plus connu est la méthode Self-Instruct[1].

  1. Le modèle génère un ensemble de données initial.
  2. Ces données sont utilisées pour le fine-tuning du modèle lui-même (ou d'une copie de celui-ci).
  3. Les erreurs et les faiblesses du modèle sur les données générées sont analysées.
  4. Le modèle est invité à générer de nouveaux exemples plus complexes, similaires à ceux sur lesquels il a commis des erreurs.

C'est selon ce schéma qu'a été créé le célèbre jeu de données Stanford Alpaca — 52 000 paires « instruction-réponse » générées par le modèle GPT-3, qui ont permis de fine-tuner le modèle open-source LLaMA pour qu'il agisse comme un assistant suivant des instructions.

4. Post-traitement et filtrage

Après la génération des données, un filtrage est toujours appliqué pour écarter les exemples de mauvaise qualité. Les méthodes varient des plus simples (suppression des doublons, vérification du format) aux plus complexes, telles que :

  • Utilisation d'un modèle-critique : Un classificateur distinct est entraîné pour distinguer les données réelles des données synthétiques et éliminer les échantillons les moins réalistes.
  • Filtrage par confiance : Seuls les exemples pour lesquels le LLM prédit la bonne réponse/étiquette avec une confiance élevée sont conservés.
  • Pondération des données : Un poids plus faible est attribué aux exemples suspects d'erreurs ou d'hallucinations dans la fonction de perte lors de l'entraînement, afin de réduire leur impact négatif (méthode SunGen).

5. Apprentissage par retour d'exécution (Execution Feedback)

Cette méthode est particulièrement efficace pour la génération de code logiciel. Contrairement au texte en langage naturel, le code a un critère formel de correction : il peut être exécuté. Le cycle se déroule comme suit :

  1. Le LLM génère du code pour résoudre une tâche.
  2. Le code est automatiquement exécuté et testé pour vérifier sa conformité.
  3. Les solutions correctes sont incluses dans l'ensemble d'entraînement. Les solutions incorrectes sont rejetées, ou le modèle reçoit un signal (reward) pour corriger l'erreur.

Applications des données synthétiques

  • Amélioration des tâches en cas de pénurie de données : Les données synthétiques sont plus efficaces lorsque les données annotées réelles sont rares. Des études montrent que l'ajout de 100 exemples synthétiques à 100 exemples réels peut augmenter la précision d'un classificateur de 3 à 26 %[3].
  • Création d'ensembles de données d'instructions (Instruction Tuning) : Des projets comme Alpaca et Code Alpaca ont démontré qu'il est possible, avec les LLM, de créer de grands ensembles de données de haute qualité pour entraîner des modèles assistants presque à partir de rien.
  • Recherche d'information et réponse aux questions (QA) : La méthode InPars utilise les LLM pour générer des requêtes de recherche pour des documents existants. Cela permet de créer automatiquement des paires « question – document pertinent » pour entraîner les moteurs de recherche.
  • Protection de la confidentialité : En médecine et en finance, les données synthétiques sont utilisées pour entraîner des modèles sans avoir accès à des données personnelles réelles. Par exemple, le département des Anciens Combattants des États-Unis a généré des données médicales synthétiques pendant la pandémie de COVID-19 pour le partage d'informations[2].

Avantages et risques

Avantages

  • Réduction des coûts et accélération du développement : La génération de données par un modèle est nettement moins chère et plus rapide que l'annotation manuelle.
  • Scalabilité : Les données synthétiques peuvent être générées en quantités quasi illimitées.
  • Contrôlabilité : Le développeur peut ajuster de manière flexible la composition, le style et la complexité des données générées.
  • Respect de la confidentialité : Elles offrent une alternative anonymisée pour travailler avec des données sensibles.
  • Robustesse des modèles (Robustness) : L'entraînement sur des exemples synthétiques variés et même "piégeux" rend les modèles moins sujets au surapprentissage et plus robustes face à des données d'entrée inhabituelles.

Limites et risques

  • Inexactitudes factuelles (hallucinations) : Les LLM peuvent générer des faits incorrects qui, une fois inclus dans l'ensemble d'entraînement, se retrouvent ancrés dans les nouveaux modèles.
  • Manque de réalisme : Les textes synthétiques peuvent être trop stéréotypés, formels ou ne pas refléter toute la diversité du langage vivant, ce qui réduit la capacité de généralisation du modèle.
  • Amplification des biais systémiques (Bias) : Les LLM héritent et peuvent amplifier les stéréotypes sociaux et les préjugés présents dans leurs données d'entraînement.
  • Risque d'« effondrement du modèle » (model collapse) : Phénomène où le ré-entraînement de modèles sur des données générées par des versions antérieures de modèles conduit à une dégradation progressive de la qualité et à l'« oubli » de phénomènes rares.
  • Fuites de confidentialité potentielles : Sans mesures spécifiques (comme la confidentialité différentielle), les LLM peuvent accidentellement reproduire des fragments de données réelles de leur ensemble d'entraînement, ce qui présente un risque de désanonymisation[4].

Perspectives et axes de recherche

  • Automatisation de la sélection des prompts : Développement de méthodes qui trouvent automatiquement les prompts optimaux pour générer des données de haute qualité.
  • Génération synthétique multimodale : Extension des méthodologies à la génération de données combinées (texte + image, audio, vidéo).
  • Développement de métriques de qualité : Création de benchmarks standardisés pour évaluer l'utilité, la diversité et le réalisme des données synthétiques.
  • Gestion des biais : Élaboration de méthodes pour contrôler et réduire les biais dans les données générées, par exemple, par la génération d'exemples contrefactuels.
  • Déploiement sécurisé dans l'industrie : Élaboration de normes juridiques et éthiques pour l'utilisation de données synthétiques dans des domaines critiques.

Liens externes

Bibliographie

  • Ye, J. et al. (2025). Synthetic Data Generation Using Large Language Models: Advances in Text and Code. arXiv:2503.14023.
  • Wang, Y. et al. (2022). Self-Instruct: Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
  • Gao, J. et al. (2022). Self-Guided Noise-Free Data Generation for Efficient Zero-Shot Learning. arXiv:2205.12679.
  • Jeronymo, V. et al. (2023). InPars-v2: Large Language Models as Efficient Dataset Generators for Information Retrieval. arXiv:2301.01820.
  • Li, Z. et al. (2023). Synthetic Data Generation with Large Language Models for Text Classification: Potential and Limitations. ACL 2023.
  • Shumailov, I. et al. (2023). Nepotistically Trained Generative-AI Models Collapse. arXiv:2311.12202.
  • Long, L. et al. (2024). On LLMs-Driven Synthetic Data Generation, Curation, and Evaluation: A Survey. ACL Findings 2024.
  • Gao, J. C. et al. (2024). Not All LLM-Generated Data Are Equal: Rethinking Data Weighting in Synthetic Datasets. OpenReview.
  • Gehring, J. et al. (2025). RLEF: Grounding Code LLMs in Execution Feedback with Reinforcement Learning. arXiv:2410.02089.
  • Barr, A. A. et al. (2025). Large Language Models Generating Synthetic Clinical Datasets: A Feasibility and Comparative Analysis with Real-World Perioperative Data. Frontiers in AI.
  • Rao, H. et al. (2025). A Scoping Review of Synthetic Data Generation for Biomedical Research and Applications. arXiv:2506.16594.

Références

  1. 1.0 1.1 1.2 Ye, J., et al. «Synthetic Data Generation Using Large Language Models: Advances in Text and Code». arXiv:2503.14023 [cs.CL], 20 mars 2025. [1]
  2. 2.0 2.1 «Federal chief data officers seek information on synthetic data generation». FedScoop. [2]
  3. Li, Zhuoyan, et al. «Synthetic Data Generation with Large Language Models for Text Classification: Potential and Limitations». ACL Anthology, 2023. [3]
  4. Schoen, F. P., et al. «Large language models generating synthetic clinical datasets: a feasibility and comparative analysis with real-world perioperative data». Frontiers in Artificial Intelligence, 2025. [4]