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). La liste des modèles est déduite des runs présents sur S3 : un nouveau modèle exporté apparaît dans les menus au rendu suivant, sans modifier le site.

La page se lit à deux niveaux :

  1. Un modèle à la fois — le menu Modèle affiché choisit lequel ; chaque tableau et chaque figure y comparent end-to-end et two-stage pour ce modèle.
  2. Deux modèles entre eux — la zone Comparaison de deux modèles a ses propres menus, et compare à corpus commun.

Modèles disponibles : gemma4-26b-moe, qwen3-6-35b-moe, qwen3-8-27b.

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 reçoivent la même image et la même grille ; elles diffèrent par le moment où le texte de l’élève devient explicite.

Approche 1 — Deux étapes (transcription puis codage)

Un premier modèle transcrit l’image en texte brut, fautes comprises. Un second compare cette transcription au texte de référence et attribue un code à chaque item.

  • Avantage : la transcription est lisible et vérifiable. En cas d’erreur, on sait laquelle des deux étapes a fauté.
  • Risque : toute faute de lecture se propage sans recours. L’étape 2 ne voit plus l’image : elle code une lecture erronée sans le savoir.

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

Un seul modèle multimodal reçoit l’image, le texte de référence et la grille, et produit directement le code de chaque item.

  • Avantage : le modèle garde l’image sous les yeux au moment de coder, donc il peut arbitrer un doute de lecture à l’aide du mot attendu.
  • Risque : la boîte est noire. Un désaccord avec l’expert ne dit pas si le modèle a mal lu ou mal jugé.

Ce qui les distingue

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 modèles testés.

Un modèle à la fois

Le menu ci-dessous choisit le modèle décrit par toute cette partie : chaque tableau et chaque figure y confrontent l’end-to-end et le two-stage de ce seul modèle. Le choix est mémorisé et se retrouve dans l’URL (?modele=…), pour qu’un lien pointe directement sur un modèle.

end-to-end vs two-stage, pour ce modèle
NoteRuns du modèle gemma4-26b-moe
  • end-to-end — modèle gemma4-26b-moe — 3 469 copies × 83 items (dictee_end2end_gemma4-26b-moe)
  • two-stage — modèle gemma4-26b-moe — 3 469 copies × 83 items (dictee_two_stage_gemma4-26b-moe)
NoteRuns du modèle qwen3-6-35b-moe
  • end-to-end — modèle qwen3-6-35b-moe — 3 469 copies × 83 items (dictee_end2end_qwen3-6-35b-moe)
  • two-stage — modèle qwen3-6-35b-moe — 3 469 copies × 83 items (dictee_two_stage_qwen3-6-35b-moe)
NoteRuns du modèle qwen3-8-27b
  • end-to-end — modèle qwen3-8-27b — 3 469 copies × 83 items (dictee_end2end_qwen3-8-27b)

Approche(s) non exportée(s) pour ce modèle : two-stage. La comparaison end-to-end vs two-stage est donc incomplète ici.

Synthèse — codage de la dictée

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

Ce que dit ce tableau.

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.

Le kappa cache deux profils d’erreur opposés, et c’est ce qui doit guider le choix : sanctionner un élève à tort (sur-détection) et laisser passer une faute (sur-correction) n’ont pas le même coût pour la DEPP. C’est cet arbitrage, et non le kappa seul, qui tranche — le classement des modèles est dans la zone de comparaison.

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 la zone de comparaison).

Prévalence d’erreur par item

Objectif DEPP :

  • calculer le nombre d’erreurs par copie ;
  • 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 gemma4-26b-moe (axe vertical). Les traits fins sont les intervalles de Wilson à 95 %.
Fidélité de la hiérarchie de difficulté des items — gemma4-26b-moe
Approche Pearson r Spearman ρ Pente Biais moyen
end-to-end +0.866 +0.828 0.782 0.751 -2.02 pts
two-stage +0.642 +0.619 0.572 0.412 +14.74 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 — 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

Prévalence d’erreur par item — expert (axe horizontal) vs qwen3-6-35b-moe (axe vertical). Les traits fins sont les intervalles de Wilson à 95 %.
Fidélité de la hiérarchie de difficulté des items — qwen3-6-35b-moe
Approche Pearson r Spearman ρ Pente Biais moyen
end-to-end +0.915 +0.880 0.756 0.837 -8.36 pts
two-stage +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 · 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 · 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

Prévalence d’erreur par item — expert (axe horizontal) vs qwen3-8-27b (axe vertical). Les traits fins sont les intervalles de Wilson à 95 %.
Fidélité de la hiérarchie de difficulté des items — qwen3-8-27b
Approche Pearson r Spearman ρ Pente Biais moyen
end-to-end +0.821 +0.837 0.558 0.674 -10.44 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 · qwen3-8-27b
Rang Mot attendu Erreur — expert Erreur — modèle Écart
45 verrons 65.3 % 15.4 % -49.8 pts
65 vus 82.2 % 32.9 % -49.3 pts
27 certainement 52.3 % 13.6 % -38.7 pts
74 ce 41.8 % 5.0 % -36.8 pts
64 peut-être 49.4 % 14.1 % -35.3 pts
46 arriver 57.2 % 22.8 % -34.4 pts
34 ils 48.9 % 19.0 % -29.9 pts
70 aussitôt 42.7 % 13.0 % -29.7 pts
33 S' 37.8 % 9.8 % -28.0 pts
15 quatre 32.4 % 7.3 % -25.2 pts
82 aboyer 40.0 % 15.2 % -24.7 pts
67 Aussitôt 39.7 % 15.6 % -24.1 pts
81 à 33.8 % 9.9 % -23.9 pts
36 ont 28.7 % 7.2 % -21.5 pts
48 fatigués 61.1 % 42.3 % -18.8 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 gemma4-26b-moe, pour chaque approche.
Distribution du nombre total d’erreurs par copie — gemma4-26b-moe
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 17.26 16.0 11.98 10.0 22.0 83
↳ test de Kolmogorov–Smirnov (end-to-end) D = 0.083 p = 6.8e-11
Modèle — two-stage 31.18 29.0 15.36 20.0 39.0 83
↳ test de Kolmogorov–Smirnov (two-stage) D = 0.387 p = 1.7e-231

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 gemma4-26b-moe.

Distribution du nombre d’erreurs par copie — expert vs qwen3-6-35b-moe, pour chaque approche.
Distribution du nombre total d’erreurs par copie — qwen3-6-35b-moe
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 12.00 10.0 11.56 6.0 15.0 83
↳ test de Kolmogorov–Smirnov (end-to-end) D = 0.347 p = 1e-185
Modèle — two-stage 20.35 16.0 15.56 10.0 26.0 83
↳ test de Kolmogorov–Smirnov (two-stage) 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 qwen3-6-35b-moe.

Distribution du nombre d’erreurs par copie — expert vs qwen3-8-27b, pour chaque approche.
Distribution du nombre total d’erreurs par copie — qwen3-8-27b
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 10.27 7.0 12.00 3.0 13.0 83
↳ test de Kolmogorov–Smirnov (end-to-end) D = 0.416 p = 1.5e-269

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 qwen3-8-27b.

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 : gemma4-26b-moe vs expert. Chaque point est une copie.
Fidélité du classement des copies (proxy du niveau des élèves) — gemma4-26b-moe
Approche Pearson r Spearman ρ Kendall τ Pente
end-to-end +0.761 +0.629 +0.477 0.734 0.579
two-stage +0.639 +0.600 +0.458 0.791 0.409

Nombre d’erreurs par copie : qwen3-6-35b-moe vs expert. Chaque point est une copie.
Fidélité du classement des copies (proxy du niveau des élèves) — qwen3-6-35b-moe
Approche Pearson r Spearman ρ Kendall τ Pente
end-to-end +0.770 +0.679 +0.524 0.716 0.592
two-stage +0.739 +0.731 +0.567 0.926 0.546

Nombre d’erreurs par copie : qwen3-8-27b vs expert. Chaque point est une copie.
Fidélité du classement des copies (proxy du niveau des élèves) — qwen3-8-27b
Approche Pearson r Spearman ρ Kendall τ Pente
end-to-end +0.719 +0.560 +0.427 0.695 0.517

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 (difficulté réelle (erreurs vues par l’expert)) — gemma4-26b-moe. Zone ombrée = IC Wilson 95 %.

Accord, kappa, rappel et précision selon la difficulté de la copie (difficulté perçue (erreurs vues par le modèle)) — gemma4-26b-moe. Zone ombrée = IC Wilson 95 %.

Accord, kappa, rappel et précision selon la difficulté de la copie (difficulté réelle (erreurs vues par l’expert)) — qwen3-6-35b-moe. Zone ombrée = IC Wilson 95 %.

Accord, kappa, rappel et précision selon la difficulté de la copie (difficulté perçue (erreurs vues par le modèle)) — qwen3-6-35b-moe. Zone ombrée = IC Wilson 95 %.

Accord, kappa, rappel et précision selon la difficulté de la copie (difficulté réelle (erreurs vues par l’expert)) — qwen3-8-27b. Zone ombrée = IC Wilson 95 %.

Accord, kappa, rappel et précision selon la difficulté de la copie (difficulté perçue (erreurs vues par le modèle)) — qwen3-8-27b. Zone ombrée = IC Wilson 95 %.

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 de gemma4-26b-moe : effectif et part parmi les désaccords
Transition expert → modèle end-to-end two-stage
expert:9 → modèle:1 22 696 (46.3 %) 14 619 (17.4 %)
expert:1 → modèle:9 15 739 (32.1 %) 19 244 (22.9 %)
expert:1 → modèle:0 4 386 (9.0 %) 38 574 (45.8 %)
expert:0 → modèle:1 3 097 (6.3 %) 716 (0.9 %)
expert:9 → modèle:0 1 839 (3.8 %) 9 824 (11.7 %)
expert:0 → modèle:9 424 (0.9 %) 494 (0.6 %)
expert:i → modèle:1 208 (0.4 %) 37 (0.0 %)
expert:1 → modèle:? 168 (0.3 %) 75 (0.1 %)
expert: → modèle:1 121 (0.2 %) 69 (0.1 %)
expert:i → modèle:0 110 (0.2 %) 280 (0.3 %)
expert: → modèle:0 63 (0.1 %) 118 (0.1 %)
expert:9 → modèle:? 62 (0.1 %) 17 (0.0 %)
expert:i → modèle:9 39 (0.1 %) 39 (0.0 %)
expert: → modèle:9 18 (0.0 %) 15 (0.0 %)
expert:v → modèle:0 10 (0.0 %) 10 (0.0 %)
expert:0 → modèle:? 1 (0.0 %) 1 (0.0 %)
expert:i → modèle:? 1 (0.0 %)
Décomposition des désaccords de qwen3-6-35b-moe : effectif et part parmi les désaccords
Transition expert → modèle end-to-end two-stage
expert:9 → modèle:1 25 732 (68.7 %) 22 257 (38.2 %)
expert:1 → modèle:9 4 456 (11.9 %) 12 039 (20.7 %)
expert:0 → modèle:1 3 856 (10.3 %) 1 128 (1.9 %)
expert:1 → modèle:0 1 389 (3.7 %) 16 320 (28.0 %)
expert:9 → modèle:0 1 142 (3.0 %) 5 300 (9.1 %)
expert:0 → modèle:9 246 (0.7 %) 591 (1.0 %)
expert:i → modèle:1 235 (0.6 %) 70 (0.1 %)
expert: → modèle:1 138 (0.4 %) 39 (0.1 %)
expert:i → modèle:0 95 (0.3 %) 243 (0.4 %)
expert: → modèle:0 55 (0.1 %) 152 (0.3 %)
expert:1 → modèle:? 44 (0.1 %) 21 (0.0 %)
expert:i → modèle:9 27 (0.1 %) 44 (0.1 %)
expert:9 → modèle:? 14 (0.0 %) 4 (0.0 %)
expert:v → modèle:0 10 (0.0 %) 10 (0.0 %)
expert: → modèle:9 9 (0.0 %) 11 (0.0 %)
expert:0 → modèle:? 6 (0.0 %) 1 (0.0 %)
Décomposition des désaccords de qwen3-8-27b : effectif et part parmi les désaccords
Transition expert → modèle end-to-end
expert:9 → modèle:1 31 733 (75.6 %)
expert:1 → modèle:9 5 169 (12.3 %)
expert:0 → modèle:1 3 491 (8.3 %)
expert:1 → modèle:0 362 (0.9 %)
expert:9 → modèle:0 335 (0.8 %)
expert:0 → modèle:9 259 (0.6 %)
expert:i → modèle:1 249 (0.6 %)
expert: → modèle:1 143 (0.3 %)
expert:i → modèle:0 93 (0.2 %)
expert: → modèle:0 54 (0.1 %)
expert:1 → modèle:? 30 (0.1 %)
expert:i → modèle:9 15 (0.0 %)
expert:v → modèle:0 10 (0.0 %)
expert:9 → modèle:? 8 (0.0 %)
expert: → modèle:9 5 (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 pour gemma4-26b-moe, trié par accord croissant. Barres = IC Wilson 95 %.

Accord modèle-expert par item pour qwen3-6-35b-moe, trié par accord croissant. Barres = IC Wilson 95 %.

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

Accord par copie

Distribution de l’accord par copie pour gemma4-26b-moe, et lien entre difficulté de la copie et accord.

Distribution de l’accord par copie pour qwen3-6-35b-moe, et lien entre difficulté de la copie et accord.

Distribution de l’accord par copie pour qwen3-8-27b, 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.

Comparaison de deux modèles

Question : 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é).

Les deux menus ci-dessous choisissent les deux modèles confrontés. Toute cette partie porte sur eux, chacun avec ses deux approches : les métriques sont recalculées sur l’intersection des copies traitées par les runs comparés.

Les deux menus désignent le même modèle : choisir deux modèles différents pour afficher la comparaison. La comparaison des deux approches d’un seul modèle est dans la partie Un modèle à la fois.

Métriques à corpus commun

Quand les runs ne couvrent pas le même corpus, les métriques sont 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 par modèle est déjà comparable telle quelle et n’est pas répétée ici.

Les 4 runs comparés portent tous sur les mêmes 3 469 copies : aucune restriction n’est nécessaire, et les tableaux de la partie Un modèle à la fois sont directement comparables entre modèles. Le classement ci-dessous en découle.

Les 3 runs comparés portent tous sur les mêmes 3 469 copies : aucune restriction n’est nécessaire, et les tableaux de la partie Un modèle à la fois sont directement comparables entre modèles. Le classement ci-dessous en découle.

Les 3 runs comparés portent tous sur les mêmes 3 469 copies : aucune restriction n’est nécessaire, et les tableaux de la partie Un modèle à la fois sont directement comparables entre modèles. Le classement ci-dessous en découle.

Classement des modèles, à approche fixée

Le kappa est retenu comme critère parce qu’il corrige l’accord du hasard, contrairement à l’accord brut que la prévalence gonfle.

gemma4-26b-moe vs qwen3-6-35b-moe : 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 du tableau ci-dessus : les lire avant de trancher.

gemma4-26b-moe vs qwen3-8-27b : kappa à approche fixée et corpus commun
Approche Kappa par modèle Meilleur modèle Écart
end-to-end gemma4-26b-moe 0.521 · qwen3-8-27b 0.520 gemma4-26b-moe +0.002

Un écart de kappa n’est concluant que s’il dépasse la largeur des intervalles de confiance du tableau ci-dessus : les lire avant de trancher.

qwen3-6-35b-moe vs qwen3-8-27b : 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 · qwen3-8-27b 0.520 qwen3-6-35b-moe +0.069

Un écart de kappa n’est concluant que s’il dépasse la largeur des intervalles de confiance du tableau ci-dessus : les lire avant de trancher.

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 les runs des deux modèles choisis, approches confondues, c’est-à-dire sur les items qui leur sont communs. 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 de gemma4-26b-moe et qwen3-6-35b-moe, 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 entre gemma4-26b-moe et qwen3-6-35b-moe prédit l’accord avec l’expert.
Accord avec l’expert selon le niveau de consensus inter-modèles
Runs 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.

Sur les 287 927 items communs aux 3 runs de gemma4-26b-moe et qwen3-8-27b, 62.2 % 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 62.2 %.

Le consensus entre gemma4-26b-moe et qwen3-8-27b prédit l’accord avec l’expert.
Accord avec l’expert selon le niveau de consensus inter-modèles
Runs d’accord Items Part des items Accord avec l’expert
1 8 028 2.8 % 39.0 %
2 100 686 35.0 % 73.6 %
3 179 213 62.2 % 95.1 %

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.

Sur les 287 927 items communs aux 3 runs de qwen3-6-35b-moe et qwen3-8-27b, 75.9 % 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 75.9 %.

Le consensus entre qwen3-6-35b-moe et qwen3-8-27b prédit l’accord avec l’expert.
Accord avec l’expert selon le niveau de consensus inter-modèles
Runs d’accord Items Part des items Accord avec l’expert
1 2 991 1.0 % 45.9 %
2 66 433 23.1 % 68.9 %
3 218 503 75.9 % 93.8 %

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, pour les runs de gemma4-26b-moe et qwen3-6-35b-moe.
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

Arbitrage charge humaine / qualité automatisée, pour les runs de gemma4-26b-moe et qwen3-8-27b.
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 % 21.1 % 84.7 % [84.6 % ; 84.9 %] 2 736
60 % 38.9 % 86.3 % [86.2 % ; 86.5 %] 2 120
70 % 66.7 % 89.0 % [88.8 % ; 89.2 %] 1 154
80 % 87.0 % 91.8 % [91.5 % ; 92.0 %] 451
90 % 97.5 % 95.7 % [95.2 % ; 96.1 %] 87
95 % 98.6 % 96.0 % [95.4 % ; 96.6 %] 50
100 % 98.7 % 95.8 % [95.1 % ; 96.4 %] 44
Seuils de renvoi — end-to-end · qwen3-8-27b
Seuil de confiance τ Copies renvoyées Accord sur les copies conservées Copies conservées
50 % 21.1 % 87.4 % [87.3 % ; 87.6 %] 2 736
60 % 38.9 % 89.1 % [88.9 % ; 89.2 %] 2 120
70 % 66.7 % 91.5 % [91.4 % ; 91.7 %] 1 154
80 % 87.0 % 93.9 % [93.6 % ; 94.1 %] 451
90 % 97.5 % 95.9 % [95.5 % ; 96.4 %] 87
95 % 98.6 % 96.0 % [95.3 % ; 96.5 %] 50
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 % 21.1 % 76.8 % [76.6 % ; 77.0 %] 2 736
60 % 38.9 % 79.9 % [79.8 % ; 80.1 %] 2 120
70 % 66.7 % 85.1 % [84.8 % ; 85.3 %] 1 154
80 % 87.0 % 89.8 % [89.5 % ; 90.1 %] 451
90 % 97.5 % 95.1 % [94.6 % ; 95.6 %] 87
95 % 98.6 % 96.0 % [95.3 % ; 96.5 %] 50
100 % 98.7 % 95.8 % [95.1 % ; 96.4 %] 44

Arbitrage charge humaine / qualité automatisée, pour les runs de qwen3-6-35b-moe et qwen3-8-27b.
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 % 8.4 % 88.2 % [88.1 % ; 88.3 %] 3 179
60 % 14.2 % 89.0 % [88.8 % ; 89.1 %] 2 976
70 % 27.7 % 90.4 % [90.2 % ; 90.5 %] 2 509
80 % 50.3 % 92.3 % [92.2 % ; 92.5 %] 1 725
90 % 81.6 % 94.7 % [94.5 % ; 94.9 %] 639
95 % 95.1 % 96.3 % [96.0 % ; 96.6 %] 169
100 % 98.7 % 95.8 % [95.2 % ; 96.4 %] 46
Seuils de renvoi — end-to-end · qwen3-8-27b
Seuil de confiance τ Copies renvoyées Accord sur les copies conservées Copies conservées
50 % 8.4 % 86.5 % [86.4 % ; 86.6 %] 3 179
60 % 14.2 % 87.2 % [87.1 % ; 87.3 %] 2 976
70 % 27.7 % 88.7 % [88.5 % ; 88.8 %] 2 509
80 % 50.3 % 90.8 % [90.7 % ; 91.0 %] 1 725
90 % 81.6 % 93.9 % [93.7 % ; 94.1 %] 639
95 % 95.1 % 95.9 % [95.6 % ; 96.3 %] 169
100 % 98.7 % 95.8 % [95.2 % ; 96.4 %] 46
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 % 8.4 % 82.9 % [82.7 % ; 83.0 %] 3 179
60 % 14.2 % 84.1 % [83.9 % ; 84.2 %] 2 976
70 % 27.7 % 86.2 % [86.0 % ; 86.3 %] 2 509
80 % 50.3 % 89.0 % [88.9 % ; 89.2 %] 1 725
90 % 81.6 % 92.7 % [92.5 % ; 92.9 %] 639
95 % 95.1 % 95.3 % [94.9 % ; 95.6 %] 169
100 % 98.7 % 95.8 % [95.2 % ; 96.4 %] 46

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.

  • Non exporté(s), donc absent(s) des comparaisons : dictee_two_stage_qwen3-8-27b. Lancer le run puis uv run scripts/export_predictions.py --config … --model-name <modèle>. Runs disponibles sous s3://projet-production-ecrits-depp/predictions : dictee_end2end_gemma4-26b-moe, dictee_end2end_qwen3-6-35b-moe, dictee_end2end_qwen3-8-27b, dictee_two_stage_gemma4-26b-moe, dictee_two_stage_qwen3-6-35b-moe.

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 et par modèle
uv run scripts/run_benchmark.py      --config configs/scoring/dictee_end2end.yaml \
                                     --model-name <modèle>
uv run scripts/export_predictions.py --config configs/scoring/dictee_end2end.yaml \
                                     --model-name <modèle>
uv run scripts/run_benchmark.py      --config configs/scoring/dictee_two_stage.yaml \
                                     --model-name <modèle>
uv run scripts/export_predictions.py --config configs/scoring/dictee_two_stage.yaml \
                                     --model-name <modèle>

# 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

Ajouter un modèle au menu déroulant

Rien à coder : le nom du modèle fait partie du nom de fichier exporté (<run>_<modèle>_predictions.jsonl). La page liste les runs présents sous S3_PREDICTIONS_PREFIX et en déduit les modèles à proposer. Exporter un nouveau modèle, réexécuter le rendu, il apparaît dans les deux menus.

Un modèle exporté sur une seule approche est proposé quand même, signalé « (1 approche) » dans le menu : sa vue affiche l’approche disponible et dit laquelle manque. Il ne peut pas entrer dans le classement à approche fixée.

Les variables d’environnement ne servent plus qu’à forcer un affichage :

# Restreindre ou ordonner la liste des modèles (sinon : tous ceux exportés) :
export RESULTATS_MODELES="gemma4-26b-moe,qwen3-6-35b-moe"
# Modèle sélectionné à l'ouverture, et modèle des pages sans axe « modèle »
# (page Écarts) — par défaut le premier modèle évalué sur toutes les approches :
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 — et un modèle tout juste exporté n’apparaîtra pas dans les menus.

Les figures des vues vivent dans website/figures/ (une par modèle et par section), et le cache ne les régénère pas : supprimer ce dossier sans supprimer website/_freeze/ laisserait des images cassées. Les deux se suppriment ensemble.

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).