Résultats

Deux approches, plusieurs modèles, une seule grille de métriques

Tous les chiffres et figures de cette page sont recalculés au rendu à partir des prédictions exportées (voir la commande d’export en bas de page). Chaque approche est croisée avec chaque modèle : les colonnes et les courbes se lisent donc approche · modèle.

Runs comparés :

  • end-to-end · gemma4-26b-moe — modèle gemma4-26b-moe — 3 469 copies × 83 items (dictee_end2end_gemma4-26b-moe)
  • end-to-end · qwen3-6-35b-moe — modèle qwen3-6-35b-moe — 3 469 copies × 83 items (dictee_end2end_qwen3-6-35b-moe)
  • two-stage · gemma4-26b-moe — modèle gemma4-26b-moe — 3 469 copies × 83 items (dictee_two_stage_gemma4-26b-moe)
  • two-stage · qwen3-6-35b-moe — modèle qwen3-6-35b-moe — 3 469 copies × 83 items (dictee_two_stage_qwen3-6-35b-moe)

569 items sur 287 927 (0.20%) portent un code expert hors grille simplifiée : « i » (357), « vide » (202), « v » (10). Ils sont conservés et comptés comme des erreurs (convention « erreur = code ≠ 1 »), ce qui pèse de façon négligeable sur les agrégats.

From image to text : les deux approches en détail

Le projet compare deux architectures pour passer de l’image au code. Toutes deux respectent la même interface et sont donc évaluées par le même code de métriques : la comparaison porte bien sur l’architecture, à modèle égal.

Approche 1 — Deux étapes (transcription puis codage)

On sépare explicitement la lecture et le jugement :

  • Étape 1 (HTR) : un modèle multimodal lit l’image et restitue le texte exactement tel que l’élève l’a écrit, fautes comprises. Il ne connaît ni le texte de référence ni le découpage en items : on mesure la lecture pour elle-même.
  • Étape 2 (codage) : un modèle reçoit cette transcription, le texte de référence, la grille de notation et la liste des consigne sà appliquer, puis code chaque item. Il ne voit pas l’image. Ce peut être un modèle de texte plus léger (champ model_stage2).

Approche 2 — End-to-end (une seule passe)

Un unique modèle multimodal (VLM) reçoit l’image, le texte de référence, la grille de notation de chaque item et la liste des consignes à appliquer, et produit directement le code de chaque item.

C’est l’approche par défaut du projet (image + texte de référence + grille + consignes → codes).

Ce qui les distingue

Une ligne par critère de décision, à lire horizontalement.

Approche two-stage Approche end-to-end
Appels au modèle par copie 2 (lire, puis coder) 1
Coût et latence Plus élevés, mais l’étape 2 peut tourner sur un modèle texte moins cher au token Plus faibles
Ce que voit le modèle qui code La transcription et le texte de référence, pas l’image L’image et le texte de référence
Sources d’erreur Deux, qui se cumulent : une mauvaise lecture se propage au codage sans pouvoir être rattrapée Une seule, mais indissociable du codage
Diagnostic d’un désaccord avec l’expert Possible : la transcription dit si la faute vient de la lecture ou du jugement Limité : on n’observe que le code final
Risque propre La transcription perd l’information graphique (ratures, lettres ambiguës, accents douteux) Sur-correction : le modèle code ce que l’élève aurait dû écrire

Séparer la lecture du jugement produit deux effets opposés, et c’est la même décision de conception qui les cause : on gagne la possibilité de diagnostiquer (la transcription est lisible), on perd la possibilité de rattraper (l’étape 2 ne voit plus l’image, donc elle code une lecture erronée sans le savoir). Ce n’est pas une contradiction mais un arbitrage que les chiffres tranchent : la synthèse montre l’end-to-end devant sur les deux modèles testés.

Synthèse — codage de la dictée

Une colonne par couple approche × modèle. Le nom de chaque métrique renvoie à sa définition et à sa formule sur la page Évaluation & métriques, qui donne aussi le sens de lecture (faut-il viser haut ou bas ?).

Les intervalles de confiance à 95 % entre crochets sont corrigés de la structure en grappes des données : les observations ne sont pas 290 000 items isolés mais 83 items × 3 469 copies, et les items d’une même copie se ressemblent puisqu’ils ont été écrits par le même élève. Sans cette correction, ils seraient deux à trois fois trop étroits — voir intervalles de confiance et structure en grappes.

Codage de la dictée : une colonne par approche × modèle, IC 95 % entre crochets
Métrique end-to-end · gemma4-26b-moe end-to-end · qwen3-6-35b-moe two-stage · gemma4-26b-moe two-stage · qwen3-6-35b-moe
Accord brut 83.0 % [82.7 % ; 83.3 %] 87.0 % [86.7 % ; 87.3 %] 70.8 % [70.2 % ; 71.3 %] 79.8 % [79.3 % ; 80.3 %]
Kappa de Cohen 0.521 [0.510 ; 0.532] 0.589 [0.578 ; 0.599] 0.388 [0.379 ; 0.397] 0.477 [0.466 ; 0.487]
Rappel des erreurs (sensibilité) 60.2 % [59.5 % ; 61.0 %] 54.4 % [53.6 % ; 55.2 %] 76.5 % [75.9 % ; 77.1 %] 64.2 % [63.4 % ; 65.0 %]
Précision sur les erreurs 66.1 % [65.4 % ; 66.8 %] 85.9 % [85.3 % ; 86.4 %] 46.5 % [45.8 % ; 47.1 %] 59.8 % [59.1 % ; 60.5 %]
Taux de sur-correction 39.8 % [39.0 % ; 40.5 %] 45.6 % [44.8 % ; 46.4 %] 23.5 % [22.9 % ; 24.1 %] 35.8 % [35.0 % ; 36.6 %]
Taux de sur-détection 9.1 % [8.9 % ; 9.4 %] 2.6 % [2.4 % ; 2.9 %] 26.1 % [25.5 % ; 26.6 %] 12.8 % [12.3 % ; 13.3 %]
ECE (calibration) 0.167 0.124 0.245 0.186
Copies écartées du corpus 0 (0.00 %) 0 (0.00 %) 0 (0.00 %) 0 (0.00 %)

Ce que dit ce tableau.

Sur l’architecture, les deux approches se trompent différemment. L’end-to-end est plus prudent : il valide beaucoup d’items et rate donc une grande part des erreurs de l’élève (sur-correction élevée). Le two-stage détecte davantage d’erreurs mais en invente aussi beaucoup (précision plus faible, sur-détection élevée). À modèle égal, l’end-to-end garde le meilleur kappa.

Sur le modèle, qwen3-6-35b-moe devance gemma4-26b-moe sur les deux architectures. Mais le kappa cache deux profils d’erreur opposés, et c’est ce qui doit guider le choix : qwen déclenche très peu de fausses alertes (précision 85,9 %, sur-détection 2,6 % en end-to-end) au prix d’un rappel plus faible — il laisse passer plus de fautes ; gemma détecte davantage de fautes mais en signale plus à tort. Sanctionner un élève à tort et laisser passer une faute n’ont pas le même coût pour la DEPP : c’est cet arbitrage, et non le kappa seul, qui tranche.

Dans tous les cas, le kappa reste loin de la variabilité inter-codeurs humains (0,879 sur le test pilote) : à ce stade, aucune configuration n’est utilisable sans relecture humaine.

Les modèles renvoient un score de confiance quasi constant à 1,0 : l’ECE se réduit alors au taux d’erreur et ne mesure plus rien d’utile — un score constant ne discrimine rien, et aucune recalibration n’y changerait quoi que ce soit. C’est précisément pourquoi le projet construit un score de confiance par désaccord inter-modèles, bien plus prédictif (voir plus bas).

Comparaison des modèles à corpus commun

Question : à approche fixée, quel modèle code le mieux ? Y répondre exige de comparer les modèles sur les mêmes copies. Sinon l’écart mesuré mélange deux choses : la qualité du modèle, et la composition de l’échantillon que chaque run a traité — et cette composition n’est pas neutre, puisque les copies manquantes sont en général les plus difficiles (échec de transcription) ou simplement les dernières de la file (run inachevé).

Quand les runs ne couvrent pas le même corpus, les métriques sont donc recalculées sur l’intersection des copies traitées ; quand ils le couvrent — le cas dès que tous les runs sont allés au bout —, la synthèse ci-dessus est déjà comparable telle quelle et n’est pas répétée ici.

Les 4 runs portent tous sur les mêmes 3 469 copies : aucune restriction n’est nécessaire, et les colonnes de la synthèse sont directement comparables entre elles. Le classement ci-dessous en découle.

Classement des modèles par kappa, à approche fixée et corpus commun
Approche Kappa par modèle Meilleur modèle Écart
end-to-end qwen3-6-35b-moe 0.589 · gemma4-26b-moe 0.521 qwen3-6-35b-moe +0.067
two-stage qwen3-6-35b-moe 0.477 · gemma4-26b-moe 0.388 qwen3-6-35b-moe +0.089

Un écart de kappa n’est concluant que s’il dépasse la largeur des intervalles de confiance de la synthèse : les lire avant de trancher.

Zoom sur la transcription (HTR)

HTR = Handwritten Text Recognition, la reconnaissance d’écriture manuscrite. C’est la brique qui transforme une image en texte. Elle joue un rôle dans l’approche 1 (étape 1), et peut aussi être évaluée seule pour comparer les modèles sur la seule capacité à lire.

Le point délicat, propre à l’écriture d’enfants : on veut une transcription fidèle, c’est-à-dire qui préserve les fautes. Un modèle qui « corrige » spontanément l’orthographe est un mauvais transcripteur ici, même s’il produit un français correct — c’est le biais de sur-correction de lecture, surveillé de près.

L’évaluation de la transcription se fait sur le corpus Scoledit, qui fournit des transcriptions de référence humaines (fautes préservées), du CP au CM2. On mesure la qualité de lecture par le CER et le WER, agrégés en micro-moyenne sur le corpus.

Transcription (HTR) sur Scoledit — plus bas = mieux
Modèle CER WER CER normalisé WER normalisé Sur-correction
modèle de base
modèle fine-tuné

Le tableau HTR reste vide tant que le benchmark de transcription seule n’a pas été lancé et exporté (RESULTATS_RUN_HTR_BASE, RESULTATS_RUN_HTR_FINETUNE). La colonne sur-correction n’est pas présente dans le JSONL HTR : elle reste à calculer depuis les transcriptions.

Analyse détaillée du benchmark

Les principales questions sur l’évaluation du modèles sont : - est-ce que le modèle est capable de produire des indicateurs agrégés non biaisés, dont le nombre d’erreurs par élèves ? - est-ce que le modèle estime bien les difficultés des élèves, notamment en regroupant les élèves par des varaibles auxiliaires (IPS, sexe, REP…)

Les sections qui suivent reprennent l’analyse du notebook notebooks/03_analyse_resultats.ipynb.

Prévalence d’erreur par item

Objectif DEPP : - 1. calculer le nombre d’erreur par copie. - 2. Calculer le nombre d’erreurs par item.

Chaque point est un item de la dictée ; un point sous la diagonale signifie que le modèle sous-estime la difficulté de cet item.

Les intervalles de confiance sont des intervalles de Wilson sans correction de clustering, et c’est volontaire : pour un item donné, il y a exactement une observation par copie, chacune venant d’un élève différent — voir où la correction ne s’applique pas.

Prévalence d’erreur par item — expert (axe horizontal) vs modèle (axe vertical). Les traits fins sont les intervalles de Wilson à 95 %.
Fidélité de la hiérarchie de difficulté des items
Pearson r Spearman ρ Pente Biais moyen
end-to-end · gemma4-26b-moe +0.866 +0.828 0.782 0.751 -2.02 pts
end-to-end · qwen3-6-35b-moe +0.915 +0.880 0.756 0.837 -8.36 pts
two-stage · gemma4-26b-moe +0.642 +0.619 0.572 0.412 +14.74 pts
two-stage · qwen3-6-35b-moe +0.713 +0.746 0.525 0.509 +1.70 pts

Lecture : un Spearman ρ élevé signifie que le modèle retrouve le bon classement des items difficiles, même si le niveau de prévalence est biaisé (colonne « biais moyen »).

Les items sur lesquels le modèle s’écarte le plus de l’expert :

15 items les plus divergents — end-to-end · gemma4-26b-moe
Rang Mot attendu Erreur — expert Erreur — modèle Écart
42 , 11.4 % 50.7 % +39.3 pts
74 ce 41.8 % 13.7 % -28.1 pts
70 aussitôt 42.7 % 16.7 % -26.0 pts
27 certainement 52.3 % 28.3 % -24.0 pts
46 arriver 57.2 % 35.2 % -22.0 pts
16 garçons 23.1 % 45.1 % +21.9 pts
81 à 33.8 % 16.7 % -17.1 pts
39 retrouvé 62.0 % 45.2 % -16.8 pts
63 a 23.7 % 8.8 % -14.9 pts
45 verrons 65.3 % 50.6 % -14.7 pts
28 perdus 63.9 % 50.6 % -13.3 pts
54 Pourquoi 15.7 % 28.3 % +12.6 pts
65 vus 82.2 % 69.8 % -12.4 pts
34 ils 48.9 % 36.9 % -12.0 pts
82 aboyer 40.0 % 28.4 % -11.6 pts
15 items les plus divergents — end-to-end · qwen3-6-35b-moe
Rang Mot attendu Erreur — expert Erreur — modèle Écart
74 ce 41.8 % 7.0 % -34.8 pts
70 aussitôt 42.7 % 14.0 % -28.7 pts
45 verrons 65.3 % 37.5 % -27.8 pts
81 à 33.8 % 6.4 % -27.5 pts
27 certainement 52.3 % 25.0 % -27.4 pts
33 S' 37.8 % 10.5 % -27.3 pts
64 peut-être 49.4 % 25.1 % -24.4 pts
67 Aussitôt 39.7 % 15.4 % -24.3 pts
65 vus 82.2 % 59.5 % -22.7 pts
34 ils 48.9 % 27.4 % -21.5 pts
82 aboyer 40.0 % 20.5 % -19.5 pts
36 ont 28.7 % 11.4 % -17.4 pts
57 téléphoner 46.8 % 30.0 % -16.8 pts
63 a 23.7 % 8.4 % -15.3 pts
58 à 18.0 % 4.5 % -13.5 pts
15 items les plus divergents — two-stage · gemma4-26b-moe
Rang Mot attendu Erreur — expert Erreur — modèle Écart
42 , 11.4 % 82.2 % +70.8 pts
53 - 12.5 % 68.5 % +56.0 pts
22 - 13.4 % 61.4 % +48.0 pts
69 , 17.5 % 62.6 % +45.1 pts
83 . 8.8 % 52.3 % +43.5 pts
35 n' 23.9 % 63.1 % +39.2 pts
66 ! 13.7 % 49.1 % +35.4 pts
43 nous 5.0 % 38.3 % +33.3 pts
76 , 15.9 % 48.5 % +32.6 pts
33 S' 37.8 % 70.3 % +32.4 pts
10 , 7.1 % 38.8 % +31.7 pts
44 les 3.9 % 32.9 % +28.9 pts
73 A 15.8 % 44.5 % +28.7 pts
52 . 5.1 % 33.4 % +28.3 pts
37 pas 3.2 % 31.2 % +27.9 pts
15 items les plus divergents — two-stage · qwen3-6-35b-moe
Rang Mot attendu Erreur — expert Erreur — modèle Écart
73 A 15.8 % 70.3 % +54.5 pts
22 - 13.4 % 47.3 % +34.0 pts
69 , 17.5 % 51.5 % +34.0 pts
53 - 12.5 % 43.0 % +30.4 pts
39 retrouvé 62.0 % 34.2 % -27.8 pts
28 perdus 63.9 % 39.0 % -24.8 pts
27 certainement 52.3 % 28.6 % -23.7 pts
20 rentrés 63.8 % 41.5 % -22.3 pts
09 inquiets 73.7 % 51.5 % -22.1 pts
14 leurs 40.1 % 18.5 % -21.6 pts
45 verrons 65.3 % 44.0 % -21.3 pts
57 téléphoner 46.8 % 26.9 % -19.9 pts
64 peut-être 49.4 % 30.8 % -18.6 pts
42 , 11.4 % 29.0 % +17.6 pts
76 , 15.9 % 33.4 % +17.6 pts

Distribution du nombre d’erreurs par copie

Trois vues par approche : erreurs totales, fautes d’orthographe seules (code 9), et mots absents (code 0). Un décalage des moyennes révèle un biais systématique ; un décalage des formes révèle un biais qui dépend du niveau de l’élève.

Distribution du nombre d’erreurs par copie — expert vs modèle, pour chaque approche.
Distribution du nombre total d’erreurs par copie
Nombre d’erreurs par copie Moyenne Médiane Écart-type Q1 Q3 Max
Expert 18.94 17.0 12.42 11.0 24.0 83
Modèle — end-to-end · gemma4-26b-moe 17.26 16.0 11.98 10.0 22.0 83
↳ test de Kolmogorov–Smirnov (end-to-end · gemma4-26b-moe) D = 0.083 p = 6.8e-11
Modèle — end-to-end · qwen3-6-35b-moe 12.00 10.0 11.56 6.0 15.0 83
↳ test de Kolmogorov–Smirnov (end-to-end · qwen3-6-35b-moe) D = 0.347 p = 1e-185
Modèle — two-stage · gemma4-26b-moe 31.18 29.0 15.36 20.0 39.0 83
↳ test de Kolmogorov–Smirnov (two-stage · gemma4-26b-moe) D = 0.387 p = 1.7e-231
Modèle — two-stage · qwen3-6-35b-moe 20.35 16.0 15.56 10.0 26.0 83
↳ test de Kolmogorov–Smirnov (two-stage · qwen3-6-35b-moe) D = 0.058 p = 1.6e-05

Le test de Kolmogorov–Smirnov compare la distribution du modèle à celle de l’expert : une p-valeur très faible signifie que les deux distributions diffèrent, au-delà de leurs seules moyennes.

La courbe de survie chiffre directement ce qui sert au pilotage : la part de copies au-dessus de chaque seuil d’erreurs.

Part de copies dépassant chaque seuil d’erreurs — expert vs modèles.

Nombre d’erreurs modèle vs expert, copie par copie

Objectif DEPP : le modèle reproduit-il le classement des élèves ? Une corrélation forte et une pente proche de 1 signent un classement fidèle, même si le niveau absolu est biaisé.

Nombre d’erreurs par copie : modèle vs expert. Chaque point est une copie.
Fidélité du classement des copies (proxy du niveau des élèves)
Pearson r Spearman ρ Kendall τ Pente
end-to-end · gemma4-26b-moe +0.761 +0.629 +0.477 0.734 0.579
end-to-end · qwen3-6-35b-moe +0.770 +0.679 +0.524 0.716 0.592
two-stage · gemma4-26b-moe +0.639 +0.600 +0.458 0.791 0.409
two-stage · qwen3-6-35b-moe +0.739 +0.731 +0.567 0.926 0.546

Métriques d’accord selon la difficulté de la copie

L’accord se dégrade-t-il sur les copies difficiles ? On découpe les copies en huit groupes de difficulté croissante, une fois selon le nombre d’erreurs vues par l’expert (difficulté réelle), une fois selon celui vu par le modèle (difficulté perçue).

Accord, kappa, rappel et précision selon la difficulté de la copie. Zone ombrée = IC Wilson 95 %.

Consensus inter-modèles

Motivation : quand plusieurs runs indépendants convergent, la prédiction est fiable ; quand ils divergent, c’est un signal d’incertitude qui appelle un humain. Le désaccord inter-modèles est un bien meilleur prédicteur de confiance que le score annoncé par un modèle unique, qui ne varie presque pas — voir score de consensus inter-modèles pour sa définition.

Le consensus est calculé sur tous les runs chargés — approches et modèles confondus, c’est-à-dire sur les items communs à tous. Croiser deux modèles ET deux approches donne un signal plus riche qu’un seul de ces axes : deux architectures différentes servies par deux modèles différents se trompent moins souvent de la même façon.

Sur les 287 927 items communs aux 4 runs comparés, 56.3 % font l’objet d’un accord entre les runs. Le score de confiance moyen par copie (part d’items sur lesquels les modèles s’accordent) vaut 56.3 %.

Le consensus inter-modèles prédit l’accord avec l’expert.
Accord avec l’expert selon le niveau de consensus inter-modèles
Modèles d’accord Items Part des items Accord avec l’expert
1 24 0.0 % 25.0 %
2 42 504 14.8 % 54.7 %
3 83 343 28.9 % 84.8 %
4 162 056 56.3 % 96.5 %

Lecture : quand tous les runs s’accordent (dernière ligne), l’accord avec l’expert est nettement plus élevé. Le désaccord inter-modèles est donc un signal exploitable pour orienter la relecture humaine — c’est ce qu’exploite la section suivante.

Stratégie de renvoi vers un correcteur humain

Question opérationnelle : combien de copies faut-il renvoyer en correction humaine pour atteindre un accord cible sur les copies conservées ? On trie les copies par score de confiance et on renvoie celles sous le seuil — la construction de la courbe est détaillée dans courbe de renvoi humain.

Arbitrage charge humaine / qualité automatisée.
Seuils de renvoi — end-to-end · gemma4-26b-moe
Seuil de confiance τ Copies renvoyées Accord sur les copies conservées Copies conservées
50 % 34.8 % 85.9 % [85.7 % ; 86.0 %] 2 261
60 % 53.1 % 87.6 % [87.4 % ; 87.7 %] 1 628
70 % 76.5 % 90.0 % [89.8 % ; 90.3 %] 815
80 % 91.6 % 92.7 % [92.4 % ; 93.0 %] 293
90 % 98.0 % 96.0 % [95.4 % ; 96.5 %] 68
95 % 98.7 % 95.9 % [95.2 % ; 96.5 %] 46
100 % 98.7 % 95.8 % [95.1 % ; 96.4 %] 44
Seuils de renvoi — end-to-end · qwen3-6-35b-moe
Seuil de confiance τ Copies renvoyées Accord sur les copies conservées Copies conservées
50 % 34.8 % 90.4 % [90.2 % ; 90.5 %] 2 261
60 % 53.1 % 91.9 % [91.7 % ; 92.0 %] 1 628
70 % 76.5 % 93.8 % [93.6 % ; 94.0 %] 815
80 % 91.6 % 95.5 % [95.2 % ; 95.8 %] 293
90 % 98.0 % 96.5 % [95.9 % ; 96.9 %] 68
95 % 98.7 % 96.0 % [95.3 % ; 96.5 %] 46
100 % 98.7 % 95.8 % [95.1 % ; 96.4 %] 44
Seuils de renvoi — two-stage · gemma4-26b-moe
Seuil de confiance τ Copies renvoyées Accord sur les copies conservées Copies conservées
50 % 34.8 % 78.6 % [78.4 % ; 78.8 %] 2 261
60 % 53.1 % 82.1 % [81.8 % ; 82.3 %] 1 628
70 % 76.5 % 86.9 % [86.7 % ; 87.2 %] 815
80 % 91.6 % 91.3 % [91.0 % ; 91.7 %] 293
90 % 98.0 % 95.7 % [95.1 % ; 96.2 %] 68
95 % 98.7 % 95.8 % [95.2 % ; 96.4 %] 46
100 % 98.7 % 95.8 % [95.1 % ; 96.4 %] 44
Seuils de renvoi — two-stage · qwen3-6-35b-moe
Seuil de confiance τ Copies renvoyées Accord sur les copies conservées Copies conservées
50 % 34.8 % 85.9 % [85.8 % ; 86.1 %] 2 261
60 % 53.1 % 88.1 % [87.9 % ; 88.2 %] 1 628
70 % 76.5 % 91.2 % [91.0 % ; 91.4 %] 815
80 % 91.6 % 94.0 % [93.7 % ; 94.3 %] 293
90 % 98.0 % 95.9 % [95.3 % ; 96.3 %] 68
95 % 98.7 % 95.9 % [95.2 % ; 96.4 %] 46
100 % 98.7 % 95.8 % [95.1 % ; 96.4 %] 44

Décomposition des désaccords

Chaque désaccord n’a pas les mêmes conséquences : sur-correction (expert : erreur → modèle : correct) veut dire qu’une faute de l’élève est passée inaperçue ; sur-détection (expert : correct → modèle : erreur) veut dire qu’on sanctionne un élève à tort. Le tableau détaille chaque transition code expert → code modèle, soit la matrice de confusion mise à plat.

Décomposition des désaccords : effectif et part parmi les désaccords
Transition expert → modèle end-to-end · gemma4-26b-moe end-to-end · qwen3-6-35b-moe two-stage · gemma4-26b-moe two-stage · qwen3-6-35b-moe
expert:9 → modèle:1 22 696 (46.3 %) 25 732 (68.7 %) 14 619 (17.4 %) 22 257 (38.2 %)
expert:1 → modèle:9 15 739 (32.1 %) 4 456 (11.9 %) 19 244 (22.9 %) 12 039 (20.7 %)
expert:1 → modèle:0 4 386 (9.0 %) 1 389 (3.7 %) 38 574 (45.8 %) 16 320 (28.0 %)
expert:0 → modèle:1 3 097 (6.3 %) 3 856 (10.3 %) 716 (0.9 %) 1 128 (1.9 %)
expert:9 → modèle:0 1 839 (3.8 %) 1 142 (3.0 %) 9 824 (11.7 %) 5 300 (9.1 %)
expert:0 → modèle:9 424 (0.9 %) 246 (0.7 %) 494 (0.6 %) 591 (1.0 %)
expert:i → modèle:1 208 (0.4 %) 235 (0.6 %) 37 (0.0 %) 70 (0.1 %)
expert:1 → modèle:? 168 (0.3 %) 44 (0.1 %) 75 (0.1 %) 21 (0.0 %)
expert: → modèle:1 121 (0.2 %) 138 (0.4 %) 69 (0.1 %) 39 (0.1 %)
expert:i → modèle:0 110 (0.2 %) 95 (0.3 %) 280 (0.3 %) 243 (0.4 %)
expert: → modèle:0 63 (0.1 %) 55 (0.1 %) 118 (0.1 %) 152 (0.3 %)
expert:9 → modèle:? 62 (0.1 %) 14 (0.0 %) 17 (0.0 %) 4 (0.0 %)
expert:i → modèle:9 39 (0.1 %) 27 (0.1 %) 39 (0.0 %) 44 (0.1 %)
expert: → modèle:9 18 (0.0 %) 9 (0.0 %) 15 (0.0 %) 11 (0.0 %)
expert:v → modèle:0 10 (0.0 %) 10 (0.0 %) 10 (0.0 %) 10 (0.0 %)
expert:0 → modèle:? 1 (0.0 %) 6 (0.0 %) 1 (0.0 %) 1 (0.0 %)
expert:i → modèle:? 1 (0.0 %)

Accord par item

Accord entre modèle et expert pour chacun des 83 items, avec intervalle de Wilson à 95 %. Les items sont triés par accord croissant selon l’approche de référence : ceux du haut du graphique sont les plus problématiques.

Accord modèle-expert par item, trié par accord croissant. Barres = IC Wilson 95 %.

Accord par copie

Distribution de l’accord par copie, et lien entre difficulté de la copie et accord.

Les copies sur lesquelles le modèle s’écarte le plus de l’expert sont détaillées une par une — statistiques, transcription et codages comparés — dans la page « Écarts IA – humain ». Elle porte sur des productions écrites de mineurs et n’est donc pas publiée : la rendre depuis le SSP Cloud, en retirant l’exclusion de ecarts.qmd dans website/_quarto.yml.

Comment produire ces chiffres

1. Lancer les runs, puis 2. exporter les prédictions sur S3 — c’est cette exportation que la présente page relit (aucun pipeline n’est réexécuté au rendu) :

# Codage de la dictée, une commande par approche
uv run scripts/run_benchmark.py     --config configs/scoring/dictee_end2end.yaml
uv run scripts/export_predictions.py --config configs/scoring/dictee_end2end.yaml
uv run scripts/run_benchmark.py     --config configs/scoring/dictee_two_stage.yaml
uv run scripts/export_predictions.py --config configs/scoring/dictee_two_stage.yaml

# Transcription seule (CER/WER) sur Scoledit
uv run scripts/run_htr_benchmark.py --config configs/htr/htr_REFERENCE.yaml
uv run scripts/export_predictions.py --config configs/htr/htr_REFERENCE.yaml --htr

3. Rendre le site. Le rendu exige matplotlib et le noyau Jupyter, réunis dans l’extra website :

uv sync --extra website
uv run quarto render website        # ou : uv run quarto preview website

4. Choisir les modèles comparés via des variables d’environnement. Le nom du modèle fait partie du nom de fichier exporté (<run>_<modèle>_predictions.jsonl) : le site croise donc chaque approche avec chaque modèle listé dans RESULTATS_MODELES.

# Modèles comparés, séparés par des virgules, dans l'ordre d'affichage :
export RESULTATS_MODELES="gemma4-26b-moe,qwen3-6-35b-moe"
# Modèle des pages sans axe « modèle » (page Écarts) :
export RESULTATS_MODELE_REFERENCE=gemma4-26b-moe
export RESULTATS_APPROCHE_REFERENCE="end-to-end"   # approche de référence
export RESULTATS_RUN_HTR_BASE=htr_gemma4_base
export RESULTATS_RUN_HTR_FINETUNE=htr_gemma4_finetune
# Rendu hors ligne, depuis un dossier local de prédictions :
export S3_PREDICTIONS_PREFIX=data/processed

Un modèle demandé mais non exporté est omis, jamais remplacé par un autre : substituer un modèle à un autre fausserait précisément la comparaison que cette page produit. Les runs manquants sont listés dans l’encadré de fin de page, avec l’inventaire de ce qui est réellement exporté.

Le rendu est mis en cache (execute: freeze: auto) : une page n’est réexécutée que si son .qmd change. Après un nouvel export de prédictions, forcer le recalcul avec rm -rf website/_freeze, sinon le site réaffiche les chiffres du rendu précédent.

L’exploration interactive (au-delà de ce que le site affiche) se fait dans les notebooks :

  • notebooks/03_analyse_resultats.ipynb — la source de cette page ;
  • notebooks/04_diagnostic.ipynb — inspection copie par copie, avec image ;
  • notebooks/05_analyse_transcription_htr.ipynb — analyse HTR.

Ce qu’on cherche à conclure

Au-delà des chiffres bruts, le projet vise trois décisions :

  1. Quelle approche (end-to-end ou deux étapes) offre le meilleur compromis fiabilité / coût ?
  2. Quel modèle lit le mieux l’écriture d’enfants (et le fine-tuning améliore-t-il assez la lecture pour justifier son coût) ?
  3. Où placer le seuil de renvoi vers un correcteur humain, pour garantir un taux d’erreur résiduel acceptable tout en automatisant le maximum de copies (voir la courbe de renvoi ci-dessus et sa définition).