Le principe
Un modele de langue attribue a chaque mot d'un texte une probabilite, compte tenu des mots precedents. Un texte produit par une machine est en moyenne plus previsible qu'un texte humain. C'est l'idee derriere la plupart des detecteurs, et prise seule elle ne marche plus : un texte humain technique, administratif ou scolaire est previsible lui aussi, et se fait accuser a tort.
Nous utilisons une methode qui corrige ce defaut, publiee en 2024 sous le nom de Binoculars. Elle fait lire le texte par deux modeles de la meme famille, un modele brut et sa version entrainee a suivre des instructions, puis divise la surprise du premier par le desaccord entre les deux. Ce rapport annule la difficulte propre au texte : un passage ardu surprend les deux modeles de la meme facon, et le rapport reste stable. Ce qui subsiste est la regularite propre a la machine.
Un score bas signale un texte suspect. Le seuil qui separe les deux cas n'a rien d'universel : il depend de la langue, des modeles utilises et du materiel. Nous l'avons donc mesure nous-memes, sur du francais.
Ce que nous faisons tourner
Les deux modeles sont CroissantLLM, un modele franco-anglais ouvert de 1,3 milliard de parametres, dans ses versions Base et Chat. Nous les executons en precision 16 bits avec llama.cpp, sur notre propre serveur. Aucun texte n'est envoye a une API exterieure, ni a OpenAI, ni a Mistral, ni a personne.
L'analyse porte sur les 512 premiers jetons, soit environ 380 mots. Les textes plus longs sont tronques. Nous avons verifie qu'aller jusqu'a 1024 jetons n'apportait rien de mesurable.
Le corpus humain
1800 textes francais, tous ecrits avant 2022, donc avant que la redaction assistee ne se repande. Ils sont tires de projets encyclopediques libres, dans leurs versions archivees de cette periode, et repartis en six genres de 300 textes chacun, de 150 a 600 mots.
| Genre | Ce qu'il represente |
|---|---|
| Encyclopedie | prose documentaire soignee et relue |
| Discussion | francais spontane, argumentatif, non relu |
| Pedagogie | cours et manuels, proche de l'ecrit scolaire |
| Vulgarisation | phrases courtes, vocabulaire simple |
| Voyage | prose pratique et descriptive |
| Actualite | ecriture journalistique breve |
Ce dernier point compte : le genre vulgarisation a ete inclus volontairement parce que l'ecriture simple est celle que les detecteurs accusent le plus souvent a tort. C'est le cas des eleves et des personnes dont le francais n'est pas la langue maternelle.
Le corpus IA
554 textes produits en septembre 2026 par quatre modeles : Mistral Small, GPT-4.1-mini, GPT-5.6 et GPT-6. Chaque texte porte sur le meme theme et vise la meme longueur qu'un texte humain du corpus, dans le meme registre documentaire. Sans cet appariement, un detecteur apprend a reconnaitre des sujets plutot que des machines, et le resultat est flatteur mais faux.
Quatre facons de produire ont ete testees, a parts egales : redaction directe, redaction avec consigne d'ecrire comme un humain, reecriture par l'IA d'un texte humain existant, et traduction depuis l'anglais.
Le reglage du seuil
Un detecteur se regle sur un arbitrage : plus il signale, plus il se trompe. Nous avons choisi le reglage le plus prudent mesurable sur notre corpus.
| Fausses alertes tolerees | Textes IA retrouves |
|---|---|
| 10 % | 54,7 % |
| 5 % | 48,6 % |
| 2 % | 43,9 % |
| 1 % | 41,5 % |
| 0,5 % | 39,2 % |
| 0,1 % (retenu) | 34,8 % |
Passer de 10 % a 0,1 % de fausses alertes ne coute que vingt points de detection, et divise par cent le risque d'accuser quelqu'un a tort. L'arbitrage n'etait pas difficile.
Les fausses alertes, genre par genre
Sur les 1800 textes humains, deux ont ete signales a tort, soit 0,111 %. L'intervalle de confiance a 95 % va de 0,03 % a 0,40 %, ce qui nous autorise a annoncer moins de 0,5 %.
| Genre | Textes | Fausses alertes |
|---|---|---|
| Encyclopedie | 300 | 1 (0,33 %) |
| Pedagogie | 300 | 1 (0,33 %) |
| Actualite | 300 | 0 |
| Discussion | 300 | 0 |
| Voyage | 300 | 0 |
| Vulgarisation | 300 | 0 |
Avec 300 textes par genre, un taux nul ne prouve pas l'absence totale de fausses alertes : il garantit seulement qu'elles restent sous environ 1,3 % pour ce genre. Nous preferons l'ecrire plutot que de laisser croire a un zero absolu.
Ce que nous detectons, et ce que nous ne detectons pas
C'est ici que notre outil se distingue de ce que vous lirez ailleurs, parce que nous publions aussi les chiffres qui nous desservent.
| Modele ayant ecrit le texte | Textes | Retrouves |
|---|---|---|
| GPT-4.1-mini | 160 | 65,0 % |
| Mistral Small | 160 | 55,0 % |
| GPT-5.6 | 174 | 0,6 % |
| GPT-6 | 60 | 0,0 % |
Lisez bien la derniere ligne. Sur 60 textes ecrits par le modele le plus recent, nous n'en avons retrouve aucun. Sur 174 textes de la generation precedente, un seul.
Autrement dit, notre outil sait reconnaitre les textes produits par les modeles d'il y a un an ou deux, ceux des offres gratuites et des integrations anciennes. Il est aveugle aux modeles actuels. Tout detecteur qui vous promet le contraire aujourd'hui vous dit quelque chose qu'il n'a pas mesure.
| Maniere de produire le texte | Textes | Retrouves |
|---|---|---|
| Traduit depuis l'anglais | 139 | 51,8 % |
| Redige directement | 138 | 49,3 % |
| Redige avec consigne de style humain | 138 | 38,4 % |
| Texte humain reecrit par l'IA | 139 | 0,0 % |
La derniere ligne est un mur, pas un reglage a ameliorer. Quand une IA reformule un texte ecrit par une personne, le resultat garde la structure, le rythme et les choix de l'auteur d'origine. Il n'y a presque rien a mesurer. Demander une reformulation suffit donc a passer notre outil, et tous les autres.
La longueur du texte compte
| Longueur | Textes IA retrouves |
|---|---|
| Moins de 200 mots | 30,4 % |
| 200 a 350 mots | 33,7 % |
| 350 a 600 mots | 35,8 % |
| Plus de 600 mots | 40,7 % |
C'est pourquoi nous exigeons 150 mots au minimum. En dessous, la mesure n'a pas assez de matiere.
Comment nous avons verifie notre propre code
Un calcul faux peut produire des chiffres credibles. Nous avons donc mesure deux fois, avec deux implementations independantes : une premiere en PyTorch sur carte graphique, une seconde avec llama.cpp sur processeur, celle qui sert reellement vos analyses. Sur les memes textes, la correlation entre les deux series de scores est de 0,9995, et les resultats finaux coincident : aire sous la courbe de 0,792 contre 0,793, detection de 35,0 % contre 34,8 %.
Le seuil publie ici a ete calcule sur la seconde implementation, celle qui tourne en production. Calibrer un chemin de calcul et en deployer un autre reviendrait a annoncer un taux d'erreur qui ne serait pas celui que vous obtenez.
Nos limites, en clair
Notre corpus humain provient de projets encyclopediques libres. Il couvre six genres, mais pas tous les francais possibles : il manque notamment du texte ecrit par des personnes dont le francais n'est pas la langue maternelle, population precisement la plus exposee aux fausses accusations. Nous ne savons pas mesurer ce cas aujourd'hui, et nous ne pretendrons pas le contraire.
Nos chiffres datent de septembre 2026. Chaque nouvelle generation de modeles les degrade. Nous les remesurerons, et nous les republierons ici, y compris s'ils empirent.
Enfin, ces taux valent pour un corpus, pas pour votre texte. Un resultat individuel reste un indice.
Reference
La methode est decrite dans Hans et al., Spotting LLMs With Binoculars: Zero-Shot Detection of Machine-Generated Text, 2024, disponible sur arXiv. Le modele CroissantLLM est publie par son equipe sur Hugging Face.
Une question sur ces mesures, ou un desaccord argumente : ecrivez-nous.
