YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
synthetic-data-benchmark
Quelle méthode de génération de données synthétiques produit le meilleur modèle ? Une comparaison contrôlée sur une tâche de stratégie marketing.
Le problème
Les datasets d'instruction de qualité sont rares et petits. La génération synthétique par LLM est la réponse courante — mais quelle méthode employer ? La littérature propose plusieurs approches sans les comparer à volume égal.
Le protocole
Dataset de départ : RafaM97/marketing_social_media
— 689 exemples instruction / input / response de stratégie marketing.
Trois méthodes de génération, exactement 900 exemples chacune :
| Méthode | Principe |
|---|---|
| A — Combinatoire | Échantillonnage contraint sur un espace secteur × étape × budget × audience, puis génération |
| B — Reformulation | Variation des entrées sur des réponses humaines existantes |
| C — Self-instruct | Génération few-shot à partir d'exemples réels, puis filtrage |
Quatre modèles entraînés, tous sur le même volume :
| Run | Entraînement |
|---|---|
| Contrôle | 689 réels |
| A | 689 réels + 900 synthétiques (combinatoire) |
| B | 689 réels + 900 synthétiques (reformulation) |
| C | 689 réels + 900 synthétiques (self-instruct) |
Le jeu de test est identique pour tous : exemples réels, gelés avant toute génération, jamais synthétisés.
⚠️ Contrôle de la variable. Chaque méthode produit le même nombre d'exemples. Sans cela, le benchmark mesurerait le volume, pas la méthode.
Les métriques
Niveau 1 — qualité des datasets (sans GPU)
- diversité lexicale (distinct-1, distinct-2)
- taux de quasi-doublons
- couverture des secteurs et étapes de workflow
- statistiques de longueur
Niveau 2 — performance des modèles
- présence d'un budget chiffré dans la réponse
- canaux marketing concrets cités
- mécanisme de mesure/suivi proposé
- reprise des contraintes de l'entrée
- ROUGE-L (avec ses limites)
La question centrale : la diversité mesurée d'un dataset prédit-elle la performance du modèle qu'il produit ?
Pourquoi cette tâche
Contrairement à la synthèse juridique (où existe une vérité terrain), une stratégie marketing n'a pas de bonne réponse unique. L'évaluation porte donc sur des critères structurels vérifiables, pas sur une comparaison à une référence. C'est une contrainte réaliste : beaucoup de tâches métier n'ont pas de vérité terrain.
Résultats
Qualité des datasets générés (sans GPU)
| Humain | A Combinatoire | B Reformulation | C Self-instruct | |
|---|---|---|---|---|
| Exemples | 512 | 314 | 269 | 437 |
| Quasi-doublons instructions | 41,0 % | 4,5 % | 56,9 % | 5,5 % |
| Quasi-doublons réponses | 0,25 % | 0,0 % | 0,0 % | 0,0 % |
| Distinct-2 instructions | 0,121 | 0,049 | 0,119 | 0,234 |
| Distinct-2 réponses | 0,328 | 0,477 | 0,507 | 0,449 |
| Secteurs distincts | 459 | 30 | 150 | 435 |
| Longueur réponse | — | 728 | 730 | 331 |
Performance des modèles entraînés
Même modèle de base, mêmes hyperparamètres, même jeu de test gelé. Seule variable : la composition du dataset.
| Contrôle | A | B | C | |
|---|---|---|---|---|
| Exemples d'entraînement | 512 | 781 | 781 | 781 |
| Score structurel | 0,442 | 0,450 | 0,509 | 0,446 |
| Gain vs contrôle | — | +0,8 pt | +6,7 pts | +0,4 pt |
| Budget chiffré | 36 % | 35 % | 42 % | 33 % |
| Mécanisme de suivi | 10 % | 15 % | 27 % | 15 % |
| Reprise contraintes | 72,8 % | 73,1 % | 76,5 % | 73,4 % |
| Longueur moyenne | 331 | 341 | 404 | 347 |
Le résultat principal : une inversion du classement
| Par diversité du dataset | Par qualité du modèle | |
|---|---|---|
| 🥇 | C — 435 secteurs, 5,5 % de doublons | B |
| 🥈 | A — 30 secteurs, 4,5 % de doublons | A |
| 🥉 | B — 150 secteurs, 56,9 % de doublons | C |
Le dataset le mieux noté produit le modèle le plus faible. Le plus mal noté produit le meilleur.
Pourquoi
Le seul indicateur de dataset corrélé au résultat final est la richesse des réponses, pas la diversité des instructions :
- B avait la meilleure diversité de réponses (0,507) et les réponses les plus longues (730 caractères) → son modèle produit les sorties les plus complètes
- C avait 435 contextes variés mais des réponses courtes (331 car.) → son modèle a appris à être bref (346 car. en sortie)
Le modèle apprend à produire des réponses, pas à poser des questions. Des instructions répétitives associées à des réponses riches enseignent mieux qu'un catalogue de contextes variés associés à des réponses standardisées.
Le gain des données synthétiques est faible
A et C n'apportent que +0,8 et +0,4 point malgré +53 % de volume
d'entraînement. C'est dans le bruit. Seule B dépasse ce seuil avec +6,7 points,
principalement sur le critère mecanisme_suivi (10 % → 27 %).
Ajouter des données synthétiques n'est pas automatiquement bénéfique.
Limites
- Un seul run par variante. Sans plusieurs graines, on ne peut pas distinguer +0,8 point du bruit d'entraînement. Seul l'écart de B est vraisemblablement significatif. C'est la limite principale de ce travail.
- Les métriques structurelles sont des proxys : elles mesurent la complétude d'une réponse, pas sa qualité stratégique.
- Ratio synthétique/réel modeste (269 pour 512).
- Un seul modèle générateur, un seul modèle de base.
- Le score plafonne à ~0,5 pour tous : 2 époques sur 781 exemples restent insuffisantes pour une tâche aussi ouverte.
Détail complet : eval/benchmark_final.json
Artefacts
| Lien | |
|---|---|
| Datasets synthétiques | ZiedBz/marketing-synth-data |
| Jeux d'entraînement | ZiedBz/marketing-synth-training |
| Modèle contrôle | ZiedBz/marketing-lora-controle |
| Modèle A | ZiedBz/marketing-lora-a |
| Modèle B | ZiedBz/marketing-lora-b |
| Modèle C | ZiedBz/marketing-lora-c |
Structure
src/ code réutilisable (schéma, métriques, génération)
scripts/ scripts exécutables
tests/ tests unitaires
data/ datasets générés (non versionnés)
eval/ résultats
Licence
MIT (code). Le dataset source est sous sa propre licence.