Choisir un modèle pour des réponses gouvernementales bilingues
- Étude de cas 1
- 180 min
- Facultative · 1 étude de cas requise pour le certificat
Étude de cas 1 sur 2 · Les LLM : comment ils fonctionnent et comment en choisir unChoisir un modèle pour des réponses gouvernementales bilingues
1. Le modèle mental d'un modèle de langage
2. Capacités et limites
3. Comment les modèles sont fournis
4. Évaluer pour votre tâche
5. Prendre une décision et la maintenir
Ce que vous saurez faire
Appliquez toute la méthode de ce cours à de vraies données publiques, dans deux langues. Vous testez quatre modèles sur des réponses officielles du gouvernement du Canada. Vous les notez à l’aveugle avec une grille et mesurez leur vitesse et leur coût. Puis vous rédigez la note de décision, avec une solution de rechange.
Le projet de départ contient les pages officielles, les 24 questions et les réponses enregistrées de quatre modèles. Il contient aussi la grille, une feuille de notation à l’aveugle, les scripts et un modèle de note. Le projet terminé ajoute nos notes, nos résultats et notre note de décision pour comparer votre travail au nôtre. Vous n’avez besoin ni de clé d’API ni de programmation : un tableur suffit.
Avant de commencerCe qu’il faut savoir et avoir sous la main
Ce que vous devez savoir
Cette étude de cas utilise tout le cours. Voici les leçons sur lesquelles elle s’appuie le plus :
- Les types de questions de test, dans Créer un jeu de test représentatif.
- La grille et la notation à l’aveugle, dans Noter les résultats de façon cohérente.
- La latence, les jetons (tokens) et le coût par requête, dans Mesurer la performance en pratique.
- Les exigences obligatoires avant les poids, dans La sélection pondérée; la solution de rechange, dans Prévoir une solution de rechange et les changements; la note, dans Communiquer la recommandation.
- Les modèles hébergés et locaux, dans Modèle hébergé ou autohébergé, et les conditions d’utilisation des données, dans Licences et conditions d’utilisation des données.
Ce qu’il vous faut
- Un tableur (LibreOffice Calc, Excel, Numbers ou Google Sheets) et un programme qui ouvre les fichiers
.zip. - Connaître un peu le français aide, mais ce n’est pas nécessaire : les réponses du corrigé sont en anglais. Si vous ne lisez pas le français, notez les réponses anglaises et utilisez nos notes pour le français.
- Facultatif : Python 3.12 ou une version plus récente, pour exécuter vous-même les vérifications et le résumé.
- Facultatif : Ollama, pour exécuter un modèle local. Ou votre propre clé d’API Anthropic ou Google, pour exécuter un modèle hébergé : 24 questions coûtent moins de 0,40 $ US.
Les modèles hébergés changent souvent : vos propres résultats seront différents. C’est la méthode qui reste.
La situation
Section intitulée « La situation »Hélène Tremblay dirige un centre communautaire à Ottawa qui aide les nouveaux arrivants. Son comptoir d’information répond aux questions en anglais et en français : assurance maladie, eau à la maison, services gouvernementaux. Chaque réponse doit provenir d’une source officielle, et le comptoir fournit un lien vers cette source.
Le comptoir est très occupé. Hélène veut un assistant qui rédige une réponse à partir de la page officielle, dans la langue de la question. Une personne lit chaque brouillon, le corrige et l’envoie. L’assistant ne répond donc jamais seul au public. Mais lors d’une journée chargée, un brouillon contenant un fait erroné peut passer inaperçu : c’est le risque principal.
Samir Haddad, un conseiller bilingue au comptoir, juge les réponses françaises. Ana Lima, une analyste de données bénévole, mène la comparaison. Dans cette étude de cas, vous êtes Ana. Hélène doit pouvoir défendre sa recommandation devant le conseil d’administration du centre : quel modèle, à quel coût et que faire s’il échoue.
Le centre et les personnes sont fictifs. Les pages et toutes les réponses des modèles sur cette page sont réelles.
Ce que vous allez créer
Section intitulée « Ce que vous allez créer »Un dossier de projet qu’une autre personne peut vérifier et une note de décision d’une page.
Description textuelle du diagramme
La méthode comporte quatre étapes. D’abord, le test : des pages officielles en anglais et en français, et 24 questions de quatre types. Ensuite, les exécutions : une requête (prompt), avec la page et la question, est envoyée à quatre modèles. Chaque réponse est enregistrée. Puis, les preuves : vérifications automatiques, note à l’aveugle pour chaque réponse et mesures de temps, de jetons et de coût. Enfin, la décision : les exigences obligatoires éliminent d’abord des options. La note présente le choix, la solution de rechange et le moment du prochain test.
Préparer le projet
Section intitulée « Préparer le projet »-
Téléchargez le projet de départ avec le bouton dans l’encadré en haut de cette page. Décompressez-le. Vous obtenez un dossier
government-answers. -
Ouvrez
README.mddans un éditeur de texte etscoring/blind_answers.csvdans votre tableur. La feuille contient 96 réponses : 24 questions, quatre réponses chacune. -
Facultatif, avec Python : ouvrez un terminal dans le dossier et créez un environnement virtuel.
Fenêtre de terminal python3 -m venv .venvsource .venv/bin/activatepython -m pip install -r requirements.txtFenêtre de terminal python -m venv .venv.venv\Scripts\Activate.ps1python -m pip install -r requirements.txt -
Facultatif : exécutez
python scripts/check.py. La partie 4 montre sa sortie.
Partie 1 : les sources et leur licence
Section intitulée « Partie 1 : les sources et leur licence »Le problème : « public » ne veut pas dire « ouvert »
Section intitulée « Le problème : « public » ne veut pas dire « ouvert » »Vous pouvez lire gratuitement une page gouvernementale. Cela ne vous donne pas le droit de la copier dans un projet et de la publier. Ana veut mettre le texte de la page dans le dossier du projet, le donner aux modèles et partager le dossier. Chacune de ces actions crée une copie.
Les conditions générales de Canada.ca disent, en bref : vous pouvez reproduire les pages à des fins non commerciales, « sauf indication contraire ». La redistribution commerciale exige une permission écrite. Un projet partagé, ou un service payant construit à partir de celui-ci, peut être commercial. Les conditions générales ne suffisent donc pas.
L’idée : trouver la licence de la page précise
Section intitulée « L’idée : trouver la licence de la page précise »Certaines pages de Canada.ca comportent une « indication contraire ». Le ministère les inscrit sur le Portail du gouvernement ouvert (open.canada.ca) comme jeu de données, avec une licence. Ana a cherché sur le portail des foires aux questions dans les deux langues. Elle a trouvé deux pages, chacune avec sa fiche :
| Page | Sujet | Fiche sur le portail | Licence | Date de modification |
|---|---|---|---|---|
| Comment fonctionne la couverture de soins de santé financés par des fonds publics / Comment fonctionne la couverture de soins de santé financés par des fonds publics | Assurance maladie : déménagement, voyages, soins couverts | Loi canadienne sur la santé – Foire aux questions | Licence du gouvernement ouvert – Canada | 16 juillet 2025 |
| Questions et réponses sur les dispositifs de traitement de l’eau de consommation / Questions et réponses sur les dispositifs de traitement de l’eau de consommation | Filtres à eau, puits, certification | Questions et réponses sur les dispositifs de traitement de l’eau de consommation | Licence du gouvernement ouvert – Canada | 30 mai 2023 |
Les deux fiches indiquent les pages anglaise et française comme ressources. La Licence du gouvernement ouvert – Canada permet de copier, d’adapter et de distribuer l’information, même commercialement, avec une attribution. Son attribution standard tient en une phrase : Contient de l’information visée par la Licence du gouvernement ouvert – Canada.
Ce que cela nous apprend. La licence appartient à la page, pas au site : deux pages du même site peuvent avoir des conditions différentes. Dans dataset.md, Ana consigne pour chaque page les deux URL, la fiche du portail, la licence et la « Date de modification ». Elle ajoute la date du téléchargement (8 octobre 2026). C’est une trace de ses vérifications, pas un avis juridique.
La licence précise aussi ce qu’elle n’accorde pas. Elle n’autorise pas l’utilisation des noms, des logos ou des symboles du gouvernement du Canada. Elle n’autorise pas un usage qui suggère un statut officiel ou une approbation. Cela compte pour la conception de l’assistant : voir Utilisation responsable.
Le projet conserve le texte de la partie principale de chaque page, sans modification, dans data/pages/. Le texte garde les petites fautes de frappe des originaux, comme « Ca nada » dans la page française sur l’eau. Les modèles doivent travailler avec de vraies pages.
Partie 2 : créer le jeu de test
Section intitulée « Partie 2 : créer le jeu de test »Le problème : quelques questions faciles ne prouvent rien
Section intitulée « Le problème : quelques questions faciles ne prouvent rien »Un modèle peut bien répondre à « La chirurgie esthétique est-elle couverte? », puis inventer un numéro de téléphone absent de la page. Dix questions courantes masqueraient ce problème. Le jeu de test doit contenir les questions sur lesquelles les modèles échouent.
L’idée : quatre types, en paires
Section intitulée « L’idée : quatre types, en paires »Ana rédige 12 questions, chacune en anglais et en français. Une paire pose la même question dans les deux langues. Une différence entre les deux réponses vient donc de la langue, pas de la question. Le type multilingue du cours est intégré : chaque question a sa jumelle. Les quatre autres types viennent de Créer un jeu de test représentatif :
| Type | Paires | Ce qu’il teste | Exemple (anglais) |
|---|---|---|---|
| Courante | 6 | La page y répond directement | « L’eau du puits de notre chalet sent fortement le soufre. Est-il dangereux de la boire? » |
| Difficile | 2 | Deux parties, ou un piège dans la formulation | « Notre filtre est certifié selon la norme NSF 53. L’eau est-elle potable après filtration? » |
| Ambiguë | 2 | La réponse dépend d’un élément que la question ne précise pas | « Puis-je boire l’eau de mon robinet sans filtre? » |
| Sans réponse | 2 | La page ne le dit pas, mais un modèle peut le « savoir » d’une autre source | « Quel est le numéro de téléphone de la Régie de l’assurance maladie du Québec, la RAMQ? » |
Les questions courantes reprennent celles des pages, dans les mots d’une personne. Ana a rédigé les autres pour cette étude de cas. Le piège de la question NSF est réel : la page dit que ces filtres éliminent les parasites, mais « n’éliminent pas les virus ni les bactéries ». La question sur la RAMQ est aussi un piège. La page contient un numéro de téléphone, mais il appartient à un bureau fédéral, pas à la RAMQ.
Chaque question a une réponse dans le corrigé, tirée de la page, dans data/questions.csv. Ana rédige le corrigé avant de voir les réponses des modèles, comme dans le corrigé vient en premier.
Ce que cela nous apprend. La moitié des questions ne sont pas courantes, bien plus que dans les demandes réelles au comptoir. C’est volontaire : les questions rares portent le risque. Et 24 questions ne peuvent montrer qu’une grande différence entre modèles : un début, pas une preuve.
Partie 3 : une requête, quatre modèles
Section intitulée « Partie 3 : une requête, quatre modèles »La requête
Section intitulée « La requête »Chaque modèle reçoit les mêmes instructions, la page dans la langue de la question et la question. La requête complète se trouve dans data/prompt.md. Ses règles :
Answer with one JSON object and nothing else:{"language": "en" or "fr", "answerable": true or false, "answer": "your answer to the person", "quote": "one sentence copied from the page"}
- Use only the page. Do not add facts, numbers, names, addresses or phone numbers that are not on the page.- Answer in the language of the question (English or French), in 2 to 5 sentences, in plain words.- "quote": copy one sentence from the page, word for word, that supports your answer.- If the page does not answer the question, set "answerable" to false, say so, and say where to ask.- If the answer depends on something the question does not say, say what it depends on.Le champ quote (citation) offre une vérification peu coûteuse contre les faits inventés. Un script peut vérifier si la phrase figure vraiment dans la page. L’indicateur answerable (réponse possible) permet au comptoir d’envoyer d’abord à une personne les réponses « la page ne le dit pas ».
Les quatre modèles
Section intitulée « Les quatre modèles »| Modèle | Où il s’exécute | Pourquoi il fait partie du test |
|---|---|---|
Claude Sonnet 5.5 (claude-sonnet-5-5) |
Hébergé, Anthropic | Parmi les meilleurs lors des exécutions précédentes du cours, en moitié moins de temps que le plus grand modèle Claude |
Gemini 3.5 Flash (gemini-3.5-flash) |
Hébergé, Google | Un prix par jeton plus bas; il raisonne avant de répondre |
Gemma 3 4B (gemma3:4b) |
Local, Ollama, Mac mini M4 16 Go | Aucun prix par question; les questions ne quittent jamais le centre |
Mistral 7B (mistral:7b) |
Local, Ollama, même ordinateur | Un modèle local plus grand |
Ana a exécuté les quatre avec scripts/run_models.py, à une température de 0 quand le modèle le permet. Les modèles Claude actuels refusent le réglage de température. Sonnet a donc utilisé sa valeur par défaut. Elle a exécuté les modèles hébergés deux fois pour voir à quel point les réponses changent entre les exécutions. Chaque réponse se trouve dans le dossier runs/ du projet.
La même page, un nombre de jetons différent
Section intitulée « La même page, un nombre de jetons différent »La première mesure précède toute note. La requête et la page sont identiques pour tous les modèles, mais chaque segmenteur en jetons les découpe différemment :
| Requête avec la page, nombre moyen de jetons | Anglais | Français | Français ÷ anglais |
|---|---|---|---|
| Claude Sonnet 5.5 | 3 073 | 4 639 | 1,51 |
| Gemini 3.5 Flash | 1 991 | 2 734 | 1,37 |
| Gemma 3 4B | 2 001 | 2 744 | 1,37 |
Ce que cela nous apprend. Une question française coûte à Sonnet 51 % plus de jetons d’entrée que la même question anglaise. Cela vient en partie de la page française, qui contient 20 % plus de mots. Le reste vient du segmenteur, qui découpe les mots français en plus de morceaux (pourquoi le nombre compte). Ana compare donc le coût par question, dans chaque langue, et non le prix par jeton.
Partie 4 : les vérifications automatiques
Section intitulée « Partie 4 : les vérifications automatiques »Le problème : 96 réponses, c’est beaucoup à lire
Section intitulée « Le problème : 96 réponses, c’est beaucoup à lire »Certains échecs ne demandent aucun jugement : JSON invalide, réponse anglaise à une question française, citation absente de la page. Un script les trouve en une seconde. Les personnes qui notent peuvent ainsi consacrer leur temps au sens.
Exécuter les vérifications
Section intitulée « Exécuter les vérifications »scripts/check.py vérifie chaque réponse. Est-ce du JSON valide avec les quatre champs, dans la langue de la question? L’indicateur answerable est-il correct, et la citation figure-t-elle dans la page? Le script compte aussi les phrases et cherche des expressions interdites, comme une limite de plomb absente de la page.
python scripts/check.pyanthropic_claude-sonnet-5-5 24 answers | JSON 22 | language 22 | answerable 20 | quote on page 22 | forbidden phrase 0anthropic_claude-sonnet-5-5_run2 24 answers | JSON 23 | language 23 | answerable 21 | quote on page 23 | forbidden phrase 0gemini_gemini-3.5-flash 24 answers | JSON 24 | language 24 | answerable 24 | quote on page 24 | forbidden phrase 0gemini_gemini-3.5-flash_run2 24 answers | JSON 24 | language 24 | answerable 24 | quote on page 24 | forbidden phrase 0ollama_gemma3-4b 24 answers | JSON 23 | language 14 | answerable 20 | quote on page 17 | forbidden phrase 0ollama_mistral-7b 24 answers | JSON 24 | language 19 | answerable 19 | quote on page 15 | forbidden phrase 2Wrote results/checks.csvCe que cela nous apprend. Deux problèmes sont visibles avant toute lecture des réponses. D’abord, les modèles locaux répondent souvent en anglais aux questions françaises. Gemma 3 4B l’a fait pour 9 des 12 questions françaises, et Mistral 7B pour 5. Ensuite, Mistral 7B a utilisé deux fois une expression interdite : une limite de plomb que la page ne donne pas. Les deux échecs de Sonnet aux vérifications JSON de la première exécution méritent un examen.
Erreur courante
Le modèle se corrige et ne respecte plus le format
Symptôme : la réponse de Claude Sonnet 5.5 à « Le régime public d’assurance maladie paie-t-il la chirurgie esthétique? » n’est pas du JSON valide. La réponse elle-même est correcte.
Ce que le modèle a écrit (version abrégée) :
{"language": "en", "answerable": true, "answer": "No. ...", "quote": "Examples of uninsured health services include:"}
Wait, the quote must be a full sentence from the page and support the answer.
{"language": "en", "answerable": true, "answer": "No. ...", "quote": "Services provided in a hospital or by a doctor that are not considered medically necessary are not covered by a public health insurance plan."}Cause : le modèle a remarqué que sa première citation enfreignait une règle de la requête. Il a écrit un objet corrigé après le premier. Une personne trouve cela acceptable. Un programme qui attend un seul objet JSON échoue. La même chose s’est produite pour une autre question (D1-en), puis pour une autre lors de la deuxième exécution.
Correction : l’outil du comptoir doit vérifier le JSON et refaire une demande une fois s’il est invalide. Prendre le dernier objet est tentant, mais une règle qui devine peut cacher d’autres erreurs. Comptez les nouvelles tentatives : elles coûtent du temps et de l’argent.
Conséquence pour le travail en IA : le respect du format fait partie de la qualité, ce n’est pas un détail. Un modèle excellent sur le contenu peut quand même échouer en production pour 1 réponse sur 12. Seul un test utilisant le vrai format permet de le découvrir.
Partie 5 : noter à l’aveugle avec la grille
Section intitulée « Partie 5 : noter à l’aveugle avec la grille »Une personne qui voit le nom du modèle juge plus favorablement un modèle connu. Ana note donc à l’aveugle, comme dans Noter à l’aveugle.
La grille
Section intitulée « La grille »Voici la grille du module 4 : les mêmes quatre critères, de 0 à 2 points chacun, avec le même sens pour chaque note. C’est une grille adaptée sur un point : le format exige aussi une citation copiée de la page. Sinon, seuls les exemples changent. La page officielle remplace la politique de Larkfield. Et « s’abstenir » signifie dire que la page ne répond pas, plutôt que transmettre la question à une personne. Les repères complets se trouvent dans le fichier RUBRIC.md du projet :
| Critère | 2 | 1 | 0 |
|---|---|---|---|
| Justesse | Tout concorde avec la page; aucun ajout provenant d’ailleurs | Une petite erreur qui ne changerait pas ce que la personne fait (une formulation moins ou plus catégorique que la page) | Un fait faux ou inventé qui pourrait changer ce que la personne fait : une erreur critique |
| Exhaustivité | Tous les points dont la personne a besoin | Il manque un point nécessaire | La réponse principale manque, ou il n’y a aucune réponse |
| Format | JSON valide avec les quatre champs, dans la langue de la question, de 2 à 5 phrases, une citation copiée de la page | Utilisable après une petite correction : citation reformulée, une seule phrase ou plus de 5, délimiteurs de bloc de code, quelques mots dans l’autre langue | L’outil ne peut pas l’utiliser : JSON non valide, champ manquant ou réponse dans la mauvaise langue |
| Abstention | S’abstient exactement quand il le faut : indique quand la page ne répond pas, ou de quoi dépend la réponse. L’indicateur answerable (possibilité de répondre) concorde avec le texte |
Trop prudent : s’abstient sur une question, ou une partie, à laquelle la page répond. Ou l’indicateur est faux pour une bonne réponse, donc une personne la vérifie d’abord | Pas assez prudent : répond comme si la page disait quelque chose qu’elle ne dit pas. Ou répond pour un cas alors que la réponse dépend d’un élément non précisé. Ou ne donne aucune réponse |
Une erreur critique rend la réponse inacceptable pour cet usage, peu importe son total. Cette règle vient de la situation : les faits erronés représentent le principal risque pour Hélène.
La feuille à l’aveugle
Section intitulée « La feuille à l’aveugle »scripts/make_blind.py crée scoring/blind_answers.csv. Pour chaque question, les quatre réponses reçoivent les étiquettes A, B, C et D dans un ordre aléatoire. Cet ordre change d’une question à l’autre. Les noms des modèles se trouvent dans scoring/blind_key.csv : ouvrez-le seulement à la fin. La feuille montre aussi les résultats des vérifications automatiques, pour vous éviter de refaire ces vérifications à la main.
À vous d’essayer : une question, quatre réponses
Section intitulée « À vous d’essayer : une question, quatre réponses »Voici la version française de la question sur la norme NSF : « Nous allons camper et boire l’eau d’un lac. Notre filtre est certifié selon la norme NSF 53. L’eau est-elle sûre après le filtrage? » Le corrigé : pas à lui seul; les filtres à kystes NSF 53 éliminent des parasites comme Giardia, pas les virus ni les bactéries; d’autres options existent; consultez un spécialiste.
Avant de lire nos notes, notez vous-même les quatre réponses et décidez laquelle vous transmettriez.
| Étiquette | Réponse (telle qu’écrite) |
|---|---|
| A | « Selon les renseignements fournis, si votre eau est contaminée par des protozoaires comme Cryptosporidium ou Giardia, un dispositif certifié selon la norme NSF/ANSI 53 les éliminera efficacement. Cependant, il n’élimine pas les virus ni les bactéries. Pour vous assurer que l’eau est sûre, vous devriez consulter un spécialiste du traitement de l’eau… » |
| B | « Pas forcément. Un filtre certifié NSF 53 pour la réduction des kystes parasitiques peut servir à traiter l’eau contaminée par Cryptosporidium, Giardia ou d’autres protozoaires. Par contre, il n’enlève ni les virus ni les bactéries. Pour une eau de lac, la page indique d’autres options : faire bouillir l’eau, la désinfecter chimiquement… » |
| C | « Un filtre certifié selon la norme ANSI/NSF 53 peut être utilisé en toute confiance pour éliminer les kystes parasitiques comme Giardia ou Cryptosporidium. Cependant, ce type de dispositif ne retirera pas les virus ni les bactéries… L’eau n’est donc pas totalement sûre… » |
| D | « Oui, l’eau est sûre après le filtrage si votre filtre est certifié selon la norme NSF 53. » |
Nos notes (justesse, exhaustivité, format, abstention) :
| Étiquette | Notes | Total | Remarque | Modèle |
|---|---|---|---|---|
| A | 2, 1, 0, 2 | 5 | Juste, mais en anglais, et sans autres options | Gemma 3 4B |
| B | 2, 2, 2, 2 | 8 | Complète, en français | Claude Sonnet 5.5 |
| C | 2, 1, 2, 2 | 7 | Juste; sans autres options | Gemini 3.5 Flash |
| D | 0, 0, 1, 2 | 3 | « Oui, l’eau est sûre » : faux. Erreur critique | Mistral 7B |
Ce que cela nous apprend. La réponse D est courte, assurée, rédigée en bon français et dangereuse : une personne pressée pourrait la transmettre. La réponse A est juste, mais dans la mauvaise langue. Le service devrait donc la traduire. Un total de 3 contre 8 ne montre pas à quel point D est différente. C’est pourquoi on compte les erreurs critiques séparément.
Notez les 96 réponses, ou au moins les 48 d’une langue. Cela prend environ une heure. Ouvrez ensuite blind_key.csv et comparez vos notes aux nôtres dans le projet terminé. En cas de désaccord, relisez le repère de la grille et notez pourquoi. Dans la vérification de l’accord du module 4, deux personnes ont donné les mêmes notes sur les quatre critères pour 24 réponses sur 28. Elles s’entendaient pour 28 réponses sur 28 sur le verdict « prête ou non ». Attendez-vous à quelques petites différences. Un désaccord sur « prête » signifie qu’il faut revoir un repère.
Partie 6 : les résultats
Section intitulée « Partie 6 : les résultats »Une fois scoring/scores.csv rempli, scripts/summarise.py réunit les notes, les exécutions et les prix :
python scripts/summarise.pyModel Score/8 EN FR Full marks (95%) Ready Critical Median s p95 s US$/1,000Claude Sonnet 5.5 7.75 7.58 7.92 20/24 (64%-93%) 22 0 2.5 3.9 10.17Gemini 3.5 Flash 7.88 7.92 7.83 21/24 (69%-96%) 24 0 4.9 8.4 16.27Gemma 3 4B (local) 5.88 6.5 5.25 4/24 (7%-36%) 8 0 9.4 19.3 0.0Mistral 7B (local) 4.71 5.17 4.25 3/24 (4%-31%) 9 7 8.2 21.8 0.0Wrote results/summary.csv and results/by_kind.csvPrête correspond à la barre du module 4 : 2 en justesse et aucun critère à 0. Une personne peut donc transmettre la réponse après une vérification rapide.
- Hébergé
- Local
Description textuelle du graphique
Un diagramme à colonnes de la note moyenne sur 8 pour les 24 questions. Claude Sonnet 5.5 : 7,75. Gemini 3.5 Flash : 7,88. Gemma 3 4B, local : 5,88. Mistral 7B, local : 4,71. Les deux modèles hébergés sont presque égaux; les modèles locaux ont de 2 à 3 points de moins.
- Hébergé
- Local
Description textuelle du graphique
Un diagramme à colonnes des erreurs critiques sur 24 réponses. Claude Sonnet 5.5 : 0. Gemini 3.5 Flash : 0. Gemma 3 4B : 0. Mistral 7B : 7. Seul Mistral 7B a fait des erreurs critiques.
Ce que cela nous apprend. Les deux graphiques montrent des résultats différents pour les modèles locaux. Gemma 3 4B ne fait aucune erreur critique, mais perd des points partout ailleurs : mauvaise langue, format faible, éléments manquants. Mistral 7B fait 7 erreurs critiques. Dans les deux langues, il a donné un numéro de téléphone de la RAMQ et une limite de plomb absents de la page. Dans les deux langues, il a affirmé que l’eau du lac était sûre. Il a aussi affirmé qu’une consultation pour une pneumonie n’était pas couverte. Une note moyenne seule cacherait ces erreurs.
Qualité, temps et coût réunis
Section intitulée « Qualité, temps et coût réunis »- Hébergé
- Local
Description textuelle du graphique
Un nuage de points avec les secondes médianes par question sur l’axe horizontal (0 à 14) et la note moyenne sur l’axe vertical (4 à 9). Claude Sonnet 5.5 : 2,5 s, 7,75. Gemini 3.5 Flash : 4,9 s, 7,88. Mistral 7B : 8,2 s, 4,71. Gemma 3 4B : 9,4 s, 5,88. Les modèles hébergés sont plus rapides et meilleurs; Sonnet est environ deux fois plus rapide que Gemini à qualité égale.
| Par question, en moyenne | Claude Sonnet 5.5 | Gemini 3.5 Flash |
|---|---|---|
| Jetons d’entrée | 3 856 | 2 363 |
| Jetons de sortie visibles | 246 | 123 |
| Jetons de raisonnement cachés (facturés comme sortie) | comptés dans la sortie | 1 291 |
| Prix, entrée / sortie, $ US par million de jetons | 2,00 / 10,00 | 1,50 / 9,00 |
| $ US par 1 000 questions : anglais / français | 8,24 / 12,09 | 14,15 / 18,39 |
Prix tirés des pages de tarification d’Anthropic et de Google. Vérifiez-les de nouveau avant de les utiliser.
Ce que cela nous apprend. Gemini a le prix par jeton le plus bas et le coût par question le plus élevé. Avant chaque réponse, il « réfléchit » pendant environ 1 300 jetons cachés que vous payez (coût par billet). Le français coûte environ 45 % de plus que l’anglais avec Sonnet, et 30 % de plus avec Gemini. Pour les 1 000 questions mensuelles du service, chaque modèle coûte moins de 20 $ US.
Les modèles locaux ne coûtent rien par question, mais exigent un ordinateur et quelqu’un pour les maintenir en fonction. Ils étaient aussi plus lents ici. Cependant, d’autres programmes utilisaient le même ordinateur pendant les exécutions. Leurs temps sont donc moins fiables.
La différence entre les modèles hébergés est-elle réelle?
Section intitulée « La différence entre les modèles hébergés est-elle réelle? »Sonnet obtient la note maximale pour 20 réponses sur 24, contre 21 pour Gemini. Les intervalles à 95 %, de 64 à 93 % et de 69 à 96 %, se chevauchent presque entièrement. Une réponse sur 24 relève du bruit (le degré de certitude avec 24 billets). Ce test ne peut pas les départager sur la qualité. Il peut les départager sur le temps et le coût.
La deuxième exécution ajoute une mise en garde. Gemini, à une température de 0, a produit un texte différent pour 9 des 24 questions. Sonnet, qui n’accepte pas de réglage de température, a produit un texte différent pour 23 questions sur 24. Le sens est resté le même dans les réponses que nous avons lues, et l’indicateur answerable a changé une fois. Une note issue d’une seule exécution est un échantillon, pas une propriété fixe du modèle.
Partie 7 : où les modèles échouent
Section intitulée « Partie 7 : où les modèles échouent »Par type de question
Section intitulée « Par type de question »| Note moyenne (sur 8) | Courante | Difficile | Ambiguë | Sans réponse possible |
|---|---|---|---|---|
| Claude Sonnet 5.5 | 7,83 | 7,50 | 7,50 | 8,00 |
| Gemini 3.5 Flash | 8,00 | 7,50 | 7,75 | 8,00 |
| Gemma 3 4B | 6,33 | 6,25 | 4,25 | 5,75 |
| Mistral 7B | 6,58 | 3,75 | 3,75 | 1,00 |
Ce que cela nous apprend. Pour les questions courantes, les quatre modèles produisent des réponses presque utilisables. Les types rares les départagent. Mistral 7B obtient 1,00 sur 8 pour les questions sans réponse possible. Il a répondu aux quatre comme si la page donnait la réponse. Avec seulement des questions courantes, Ana aurait classé Mistral devant Gemma. Le service aurait alors transmis des numéros de téléphone inventés.
Par langue
Section intitulée « Par langue »| Note moyenne (sur 8) | Anglais | Français | Différence |
|---|---|---|---|
| Claude Sonnet 5.5 | 7,58 | 7,92 | +0,33 |
| Gemini 3.5 Flash | 7,92 | 7,83 | −0,08 |
| Gemma 3 4B | 6,50 | 5,25 | −1,25 |
| Mistral 7B | 5,17 | 4,25 | −0,92 |
Ce que cela nous apprend. Les modèles locaux perdent environ 1 point en français, surtout parce qu’ils répondent en anglais. Une personne francophone qui reçoit une réponse en anglais n’est pas bien servie, même si tous les faits sont justes.
Erreur courante
Le modèle connaît une réponse que la page ne donne pas
Symptôme : quand on lui demande le numéro de téléphone de la RAMQ, Mistral 7B répond : « Le numéro de téléphone de la Régie de l’assurance maladie du Québec, la RAMQ, est le 1-800-665-5300. » Il met answerable à vrai. La page ne contient aucun numéro de la RAMQ.
Cause : le modèle a appris des numéros de téléphone, des limites et des règles dans ses textes d’entraînement. Quand la page ne dit rien, il comble le manque avec cette mémoire, contrairement à la règle de la requête. Nous n’avons pas vérifié si le numéro était réel. Cela n’a pas d’importance : la règle du service est « tiré de la page officielle », et ce numéro n’y figure pas. Mistral a fait la même chose pour la limite de plomb (« 0,010 mg/L ») en français.
Correction : testez des questions sans réponse possible dans chaque langue avant de choisir. Dans l’outil, vérifiez chaque nombre d’une réponse dans la page. Les modèles hébergés ont réussi les quatre questions sans réponse possible ici, mais 4 questions ne constituent pas une preuve.
Conséquence pour le travail en IA : la mémoire d’un modèle n’est pas une source. Pour ce service, une réponse que la page n’appuie pas est une hallucination, même si elle est vraie. Dans un service public, un mauvais numéro de téléphone dirige les gens au mauvais endroit.
Deux autres tendances apparaissent dans les notes de scores.csv :
- Une règle tirée de la mauvaise section. Pour une question sur des vacances aux États-Unis, Gemma 3 4B a utilisé la règle concernant les voyages à l’intérieur du Canada (« couverture des services hospitaliers et médicaux d’urgence »). Il n’a pas dit qu’à l’extérieur du Canada, seule une partie du coût est couverte. La réponse se lit bien, mais induit en erreur.
- Un indicateur qui contredit le texte. La réponse de Sonnet à « Combien de temps puis-je rester à l’extérieur de ma province? » est l’une des meilleures du test. Mais il a mis
answerableà faux, parce que la page ne donne aucun nombre de jours. Dans l’outil du service, cet indicateur transmet d’abord le brouillon à une personne. Ici, c’est sans conséquence, donc la grille donne 1 en abstention, et non 0.
Partie 8 : la décision
Section intitulée « Partie 8 : la décision »Les exigences incontournables d’abord
Section intitulée « Les exigences incontournables d’abord »Une note moyenne élevée ne peut pas compenser une exigence incontournable non respectée. Ana en tire trois de la situation, avant de regarder les notes :
- Aucune erreur critique. Mistral 7B échoue : 7 erreurs critiques.
- Un français aussi bon que l’anglais, et chaque réponse à une question française rédigée en français. Gemma 3 4B échoue : 9 réponses françaises sur 12 sont en anglais, et la note est inférieure de 1,25 point en français.
- Des conditions d’utilisation des données adaptées aux questions personnelles. Aucune offre du fournisseur qui utilise le contenu pour améliorer ses produits. La page de tarification de Google dit que son offre gratuite le fait, mais pas son offre payante. Gemini est donc acceptable seulement avec l’offre payante. Lisez les conditions de chaque fournisseur comme dans Licences et conditions d’utilisation des données.
Les deux modèles locaux sont éliminés. Leur principal avantage, garder les questions au centre, n’aide pas si les réponses sont fausses ou dans la mauvaise langue. Si le centre interdisait strictement qu’une question quitte le bâtiment, la décision changerait. Il faudrait alors un test plus large, un modèle local plus grand, ou aucun assistant.
Ensuite, l’ordre des priorités
Section intitulée « Ensuite, l’ordre des priorités »Les deux modèles hébergés passent. Hélène classe les priorités ainsi : la qualité d’abord, puis le coût, puis le temps. Sur la qualité, ils sont égaux dans ce test. Sur le coût, Sonnet est environ 40 % moins cher par question. Sur le temps, Sonnet est environ deux fois plus rapide. Sonnet arrive donc en premier. Gemini est la solution de rechange : testé sur les mêmes 24 questions, avec la même requête, à qualité égale.
Le seul point faible de Sonnet est le format : 1 ou 2 réponses sur 24 ne sont pas du JSON valide. L’outil peut détecter cela. C’est donc une exigence de conception, pas une raison de rejeter le modèle.
La note de recommandation
Section intitulée « La note de recommandation »Le fichier MEMO.md du projet terminé tient sur une page et reprend les parties de Communiquer la recommandation. Sa recommandation :
Use Claude Sonnet 5.5 (hosted, Anthropic) to draft answers, with a person on the deskchecking every draft before it is sent. Use Gemini 3.5 Flash (hosted, Google, paid tier)as the fallback. Do not use the two local models for this task.La section sur la solution de rechange indique ce qui arrive dans chaque cas :
| Événement | Ce que fait le service |
|---|---|
| Sonnet ne répond pas, ou prend plus de 10 s, pendant 5 minutes | Passer à Gemini 3.5 Flash, offre payante, même requête |
| Les deux modèles hébergés sont indisponibles | Répondre à la main à partir des pages, comme aujourd’hui |
| Une réponse n’est pas du JSON valide | Redemander une fois au même modèle; ensuite, une personne la rédige |
answerable est faux |
Le brouillon est d’abord transmis à une personne, avec un signalement |
Et quand tester de nouveau : nouvelle version du modèle ou avis de retrait, changement de prix ou nouveau sujet. Aussi après toute erreur critique dans un vrai brouillon, et tous les six mois dans tous les cas. Le projet rend cela peu coûteux : les mêmes scripts et questions, plus de nouvelles questions.
Rédigez votre propre note dans le fichier MEMO.md du projet de départ avant d’ouvrir la nôtre. Vos exigences incontournables peuvent être différentes. Par exemple, un centre sans aucun budget aurait besoin d’une autre décision et d’une autre note.
- Petit et ciblé. 24 questions, 2 pages, 1 service. « Aucune erreur critique sur 24 réponses » reste compatible avec un taux réel allant jusqu’à environ 14 % (intervalle à 95 %). La personne qui vérifie chaque brouillon reste nécessaire.
- Une seule personne pour noter. L’auteur a noté les 96 réponses sans voir les noms. Mais l’auteur a aussi exécuté les modèles, et certains styles sont faciles à reconnaître. Une deuxième personne devrait noter un échantillon.
- Une seule journée. Les modèles hébergés et les prix sont ceux du jour des exécutions. Les réponses ont changé entre deux exécutions le même jour.
- Temps locaux. Mesurés pendant que d’autres programmes utilisaient le même ordinateur. Sans ces programmes, les modèles sont plus rapides, mais la qualité ne change pas : une deuxième exécution de Gemma a donné les mêmes 24 textes.
- La page sert de référence ici. La page sur l’eau (2023) nomme « Industrie Canada », aujourd’hui Innovation, Sciences et Développement économique Canada. Les modèles ont été notés selon la page. Un vrai service doit aussi garder ses sources à jour.
Utilisation responsable
Section intitulée « Utilisation responsable »Pas une voix officielle. La licence interdit toute utilisation qui laisse croire à un statut officiel. L’assistant prépare des brouillons pour le personnel du centre. Chaque réponse envoyée précise qu’elle vient du centre, renvoie à la page officielle et donne la date de cette page. L’assistant ne présente jamais le nom ou les symboles du gouvernement du Canada comme les siens.
Une personne vérifie chaque brouillon. Le test n’a relevé aucune erreur critique pour le modèle choisi, mais sur 24 questions seulement. La personne qui conseille au comptoir compare chaque brouillon à la page liée avant de l’envoyer. Les réponses marquées answerable: false (impossible de répondre) passent d’abord par une personne.
Renseignements personnels. Les gens parlent de leur santé, de leur statut et de leur famille à un comptoir d’information. Envoyez au modèle seulement la question et la page, sans noms, numéros de dossier ni adresses. Choisissez une offre du fournisseur qui n’utilise pas le contenu pour entraîner ou améliorer ses produits. Vérifiez aussi la durée de conservation dans ses conditions.
Un service égal dans les deux langues. Un modèle bon en anglais, mais plus faible en français, offre un moins bon service aux francophones. Le jeu de test par paires a mesuré cet écart. Gardez les paires dans chaque nouveau test. Ajoutez les langues que la clientèle du comptoir utilise réellement, comme au module 1 avec les jetons par langue.
Faites-en un projet pour votre portfolio
Section intitulée « Faites-en un projet pour votre portfolio »Cette étude de cas montre à un employeur que vous savez choisir un modèle à partir de preuves. Elle comprend une vérification de licence, un test représentatif et une grille de notation à l’aveugle. Elle présente le coût et la latence par question, ainsi qu’une décision avec une solution de rechange. Beaucoup de modèles sont choisis à partir d’une démonstration. Votre choix peut être vérifié et reproduit.
Quoi mettre dans le dépôt :
government-answers/ README.md what it is, the result in three lines, how to rerun it MEMO.md your decision memo dataset.md sources, licence check, attribution, known gaps RUBRIC.md the four criteria and their anchors LICENSE MIT, for the code data/ pages, questions, prompt, prices runs/ the recorded answers scoring/ the blind sheet, the key, your scores results/ checks.csv, summary.csv, by_kind.csv scripts/ run_models.py, check.py, make_blind.py, summarise.py- Partez de votre dossier de projet, avec vos propres notes et votre note de recommandation. Vérifiez qu’aucun fichier ne contient de clé d’API : les clés vont uniquement dans les variables d’environnement.
- Créez le dépôt :
git init, puisgit add .etgit commit -m "Bilingual model comparison". - Publiez-le sur GitHub comme dépôt public. Gardez la phrase d’attribution de la LGO – Canada dans le README.
- Ajoutez un résultat personnel : un modèle que nous n’avons pas testé, une troisième page ou votre accord avec nos notes.
Comment le décrire en entrevue, en deux phrases : « J’ai comparé deux modèles de langage hébergés et deux modèles locaux pour un comptoir d’information bilingue, avec 24 paires de questions en anglais et en français tirées de pages gouvernementales sous licence ouverte, notées à l’aveugle selon quatre critères, en mesurant le coût et la latence par question. J’ai recommandé un modèle avec une solution de rechange testée; le résultat principal était l’échec des modèles locaux en français et sur les questions sans réponse, ce qu’un test limité aux questions courantes aurait caché. »
Pour aller plus loin :
- Une deuxième personne pour noter. Demandez à une personne qui lit le français de noter 20 réponses à l’aveugle. Calculez à quelle fréquence vous êtes d’accord et corrigez les repères de notation là où vous divergez.
- Une troisième page. Trouvez une autre page Canada.ca avec une fiche de licence LGO sur le Portail du gouvernement ouvert. Ajoutez quatre paires de questions et testez de nouveau les quatre modèles.
- Un modèle moins cher. Claude Haiku 5.5 coûtait 0,10 $ US / 0,50 $ US par million de jetons, environ 20 fois moins que Sonnet. Respecte-t-il les exigences essentielles? Testez-le, consignez le coût et mettez à jour la note de recommandation.
- Un modèle local plus grand. Si votre ordinateur a assez de mémoire, testez un modèle ouvert plus grand. Vérifiez s’il répond en français aux questions en français et s’il s’abstient quand les questions n’ont pas de réponse.
Vérification des connaissances
Section intitulée « Vérification des connaissances »Vérifiez votre compréhension
Gemini 3.5 Flash coûte moins cher par jeton que Claude Sonnet 5.5, mais plus cher par question. Pourquoi, et qu'est-ce que cela implique pour une comparaison?
Afficher la réponse
Gemini raisonne avant de répondre : environ 1 300 jetons cachés par question, facturés au prix des jetons de sortie. Sonnet utilisait plus de jetons d’entrée, car son outil de découpage en jetons divise la même page en plus de morceaux. Mais il raisonnait peu. Le prix par jeton ne dit donc pas grand-chose à lui seul. Comparez le coût par question, mesuré sur vos propres questions et dans chaque langue.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Mistral 7B a obtenu 6,58 sur 8 aux questions courantes, plus que Gemma 3 4B. Pourquoi est-il quand même écarté, et qu'aurait montré un test limité aux questions courantes?
Afficher la réponse
Il a fait 7 erreurs critiques. Il a inventé un numéro de téléphone et une limite de plomb. Il a aussi dit « l’eau est salubre » pour un filtre qui n’élimine pas les bactéries. Une erreur critique enfreint une exigence essentielle, peu importe la note moyenne. Un test limité aux questions courantes aurait classé Mistral devant Gemma et caché toutes ces erreurs. Elles se trouvent dans les questions difficiles et sans réponse.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Sonnet obtient la note maximale pour 20 réponses sur 24, et Gemini pour 21. Un membre du conseil dit : Gemini est meilleur. Que répondez-vous?
Afficher la réponse
Une réponse sur 24 relève du bruit : les intervalles à 95 % (64–93 % et 69–96 %) se chevauchent presque complètement. Un deuxième essai a aussi changé beaucoup de textes. Ce test ne permet pas de départager les deux modèles sur la qualité. La décision repose sur ce que le test peut distinguer : le coût par question et le temps. Pour les départager sur la qualité, il faudrait beaucoup plus de questions.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Récapitulatif
- Vérifiez la licence de la page précise. Les conditions générales de Canada.ca limitent l’utilisation aux fins non commerciales. Les pages ayant une fiche sur le Portail du gouvernement ouvert relèvent de la LGO – Canada, avec attribution.
- Créez le test par paires entre les langues et incluez des questions difficiles, ambiguës et sans réponse. C’est là que les modèles se distinguent.
- Laissez un script vérifier le format, la langue et la citation. Notez ensuite le sens à l’aveugle, avec des repères, et comptez les erreurs critiques séparément.
- Comparez le coût par question, pas par jeton : les outils de découpage en jetons et le raisonnement caché le modifient. Ici, le français coûte de 30 à 50 % plus cher que l’anglais.
- Les exigences essentielles éliminent des options avant toute notation. Ici, elles ont éliminé les deux modèles locaux.
- Rédigez la note de recommandation avec les limites, une solution de rechange testée et les événements qui déclenchent un nouveau test.
Ensuite, la deuxième étude de cas : une règle de confidentialité garde les données sur votre ordinateur. Vous pouvez donc choisir uniquement des modèles locaux.
Leçon suivante : Choisir un modèle qui fonctionne sur votre propre matériel