
Comment nous avons entraîné un détecteur de texte IA multilingue (sans dévoiler nos secrets)
Des données appariées, des textes humains antérieurs aux chatbots, un découpage sans fuite possible et un calibrage qui protège les auteurs humains : comment le modèle de détection de Probator a été entraîné.
Nous avons conçu notre propre modèle pour détecter les textes écrits par IA dans six langues, et il tourne désormais derrière chaque vérification sur Probator. Voici comment nous l'avons entraîné.
Nous serons transparents sur la méthode, mais garderons quelques éléments pour nous :
- les modèles qui ont rédigé nos textes IA d'entraînement ;
- le volume de données utilisé ;
- l'architecture exacte ;
- les seuils.
Tout ce qui rend un détecteur plus facile à tromper n'a pas sa place dans un article de blog. Tout le reste est ici.
1. Apprendre « qui l'a écrit », pas « de quoi ça parle »
Le moyen le plus sûr de construire un mauvais détecteur d'IA, c'est de collecter les textes humains à un endroit et les textes IA à un autre. Le modèle apprend alors que les articles d'encyclopédie sont humains et que les réponses façon blog viennent de l'IA, obtient d'excellents scores sur son propre jeu de test, et échoue sur de vrais documents.
Chaque donnée d'entraînement va donc par paires : un texte humain, et un texte IA écrit sur le même sujet, dans la même langue et le même genre. La seule différence constante qui subsiste entre les deux côtés, c'est l'auteur, et c'est précisément ce que le modèle doit apprendre.
2. Des textes humains antérieurs aux chatbots
Impossible d'être sûr qu'un texte a été écrit par un humain s'il a été publié après 2022. Le côté humain provient donc d'écrits antérieurs aux chatbots :
- des articles d'encyclopédie ;
- des pages web collectées il y a des années ;
- des articles de presse ;
- des résumés académiques.
Chaque texte passe par des filtres de qualité, et le corpus est réparti sur six langues : anglais, portugais, espagnol, français, allemand et italien.
La variété des genres compte autant que le volume. C'est sur les écrits formels, techniques et traduits que les détecteurs d'IA accusent le plus souvent des humains : ce type de texte est donc volontairement bien représenté.
3. Des textes IA issus de nombreux modèles, écrits de multiples façons
Le côté IA est rédigé par un ensemble varié de modèles actuels, avec des prompts qui demandent des genres, des longueurs et des tons différents. Un détecteur entraîné sur un seul modèle apprend les manies de ce modèle. Un détecteur entraîné sur plusieurs doit apprendre ce qu'ils ont en commun.
Deux types de textes IA plus difficiles s'y ajoutent :
- Textes humains peaufinés par IA : un brouillon humain réécrit par un modèle ;
- Textes « humanisés » : des textes qu'un modèle a écrits avec la consigne de paraître humains.
4. Découper par sujet, jamais par phrase
C'est l'étape que ratent la plupart des évaluations maison. Nous évaluons les textes passage par passage. Si vous répartissez les passages au hasard entre jeu d'entraînement et jeu de test, des passages d'un même document se retrouvent des deux côtés. Le modèle reconnaît alors en partie des documents qu'il a déjà vus, et votre précision paraît meilleure qu'elle ne l'est.
Nous découpons plutôt par paire thématique. Chaque paire reçoit un hachage stable et part, entière, dans l'un des trois jeux :
- entraînement : ce dont le modèle apprend ;
- validation : ce sur quoi nous calibrons ;
- test : ce que nous publions, et rien d'autre n'y touche.
Aucun sujet du jeu de test n'a été vu à l'entraînement, ni dans sa version humaine ni dans sa version IA.
5. Le modèle
Chaque passage devient un embedding de phrase multilingue, complété par quelques caractéristiques stylistiques simples. Un petit réseau de neurones en tire la probabilité que le passage ait été écrit par une machine. Les scores des passages sont ensuite combinés en un score pour l'ensemble du document.
Le réseau est volontairement petit. Il n'ajoute que quelques millisecondes à une vérification, et il coûte assez peu pour être réentraîné à chaque arrivée de nouveaux modèles. Les probabilités sont calibrées : 0,8 signifie « environ 80 % du temps », et pas seulement « plus élevé que 0,6 ».
6. Calibrer pour la personne qui pourrait être accusée à tort
Un détecteur d'IA commet deux types d'erreurs, et elles n'ont pas le même coût. Laisser passer un texte IA est regrettable. Dire à un enseignant que la dissertation qu'un élève a écrite lui-même a été générée par IA peut faire du tort à quelqu'un.
Le seuil de décision est donc fixé par langue, sur le jeu de validation, de sorte qu'au plus 1 document humain sur 100 soit signalé. Trois garde-fous supplémentaires viennent s'ajouter au modèle :
- Textes courts : aucun verdict « généré par IA » en dessous de 80 mots, sauf preuve tangible comme un reste de chatbot ou une marque cachée.
- Accord : notre modèle n'est qu'un signal parmi d'autres, aux côtés d'une lecture experte par un modèle de langage, d'un test de réécriture et de contrôles forensiques. Le verdict le plus fort exige que deux d'entre eux concordent.
- Transparence : quand un garde-fou modifie un résultat, le rapport le signale.
7. Traquer ses propres faux positifs
Les benchmarks ne révèlent pas toutes les faiblesses ; les utilisateurs, si. Au début, quelqu'un nous a envoyé un document entièrement écrit de sa main, et notre modèle lui a attribué une probabilité d'IA de 9 %. C'est en dessous de tout verdict, mais un lecteur attentif ne devrait pas voir 9 % sur un texte entièrement humain.
Nous avons regardé de quel type d'écrit il s'agissait : formel, structuré, avec peu de touches personnelles. Nous avons ajouté davantage d'écrits humains de ce genre aux données d'entraînement, réentraîné le modèle, puis vérifié à nouveau. La leçon, plus largement : les textes les plus susceptibles d'être mal jugés sont les plus précieux à collecter.
8. Entraîner sans cluster de GPU
Tout le pipeline tourne sur une infrastructure serverless : collecte des textes, génération des textes IA, calcul des embeddings et entraînement. Aucune machine ne tourne en continu. Cela a façonné la conception :
- Des étapes courtes et reprenables : chaque étape est brève et sauvegarde son état, si bien que l'entraînement survit aux redémarrages et aux délais d'expiration. Les poids du modèle sont sauvegardés dans un stockage objet après chaque étape.
- Une file d'attente pilote l'exécution : chaque étape terminée planifie la suivante.
- Un chien de garde : il repère une étape bloquée et la relance.
- Des exécutions cumulatives : une nouvelle exécution peut ajouter des textes inédits à tout ce qui a été collecté auparavant, au lieu de repartir de zéro.
La première version s'est bloquée en plein milieu d'une époque plus d'une fois. C'est en rendant chaque étape reprenable que l'entraînement est devenu ennuyeux, et c'est exactement ce qu'on attend d'un entraînement.
9. Résultats
Sur des documents de test tenus à l'écart de l'entraînement, dans les six langues :
- Précision : 98,4 %
- AUROC : 0,998
L'AUROC mesure la capacité du modèle à classer un texte IA au-dessus d'un texte humain, quel que soit le seuil : 1,0 est parfait, 0,5 équivaut à pile ou face. Les résultats par langue figurent sur notre page de précision, que nous mettons à jour chaque fois qu'un nouveau modèle est mis en production.
Un détecteur n'est cependant jamais une preuve. Nos résultats sont accompagnés des raisons qui les sous-tendent, pour qu'une personne puisse prendre la décision.
Ce que nous gardons pour nous, et pourquoi
Nous ne publions pas :
- les modèles qui ont rédigé les textes IA d'entraînement ;
- la taille des données ;
- la forme exacte du réseau ;
- les seuils.
Avec ces informations, il serait plus facile de retoucher un texte jusqu'à ce qu'il passe sous le radar du détecteur. Tout ce qui vous permet de juger si vous pouvez vous fier aux résultats (la méthode, le fonctionnement du découpage et les résultats de test) est public.