Un serveur d’IA dans le centre médical
Nous installons un serveur d’intelligence artificielle local dans un centre médical. Les images et les dossiers des patients restent dans le bâtiment. Le modèle retenu, Qwen3.8-Flash-Next, est un modèle ouvert qui lit le texte et les images, et qui tourne sur deux cartes graphiques du serveur.
| Élément | Configuration |
|---|---|
| Serveur | Machine virtuelle, 16 processeurs virtuels, 128 Go de mémoire vive |
| Cartes graphiques | 2 × AMD Radeon R9700 de 32 Go, pilotées par ROCm 7.2.4 |
| Modèle | Qwen3.8-Flash-Next, modèle « Mixture of Experts » de 176 milliards de paramètres, texte et images |
| Version déployée | Quantifiée en Q4_K_M (94,5 Go), répartie sur les deux cartes |
| Contexte | Environ 65 000 tokens, deux requêtes traitées en parallèle |
| Moteur d’inférence | llama.cpp (llama-server), dans une version modifiée qui ajoute la prédiction multi-token (MTP) |
| Vitesse de génération | 53 à 62 tokens par seconde |
Avant de brancher le modèle sur un usage clinique, nous le testons sur des tâches dont nous connaissons la réponse. L’une d’elles consiste à dire de quel œil il s’agit sur une photo de fond d’œil. Pour un ophtalmologiste, c’est immédiat : la papille, le point clair d’où partent les vaisseaux, se trouve du côté du nez. Sur une rétinographie prise de face, une papille dans la moitié gauche de l’image indique donc un œil gauche.
Nous avons donné au modèle une rétinographie normale d’un œil gauche en lui demandant de la décrire et d’indiquer la latéralité. Il a répondu « œil droit ». Sa description de l’image était juste : excavation papillaire, croissant scléral temporal, arcades vasculaires. Sa justification ne l’était pas : « La papille est située à gauche de l’image et la macula au centre-droit. Le pôle nasal étant donc à gauche, il s’agit d’un œil droit (règle classique : papille à gauche = OD ; papille à droite = OG). »
Le modèle a trouvé la papille au bon endroit et a cité une règle inversée. Augmenter la résolution de l’image n’a rien changé. Un message système qui énonçait la bonne convention l’a fait répondre « œil gauche ».
Le protocole
Une seule image ne prouve rien. Nous avons repris 30 rétinographies du jeu public IDRiD, 15 yeux droits et 15 yeux gauches répartis sur tout le jeu de test, dont 20 présentent une rétinopathie diabétique. Pour chacune, les auteurs du jeu fournissent la position de la papille et de la fovéa relevée par des experts, ce qui donne la latéralité sans ambiguïté. Nous avons ajouté l’image en miroir de chaque photo, qui transforme un œil droit en œil gauche. Cela fait 60 images, et autant d’yeux droits que de gauches. La figure 1 montre une de ces paires.
Chaque image a reçu trois questions, posées en anglais. Chacune propose deux réponses, notées A et B, et le modèle doit répondre par une seule lettre.
| N° | Question posée au modèle | Réponses possibles |
|---|---|---|
| 1 | In which half of the image is the optic disc (optic nerve head)? Dans quelle moitié de l’image se trouve la papille ? |
Left half of the image (moitié gauche) Right half of the image (moitié droite) |
| 2 | Which eye is shown in this fundus photograph? Quel œil est montré sur cette photo de fond d’œil ? |
Right eye (OD) (œil droit) Left eye (OS) (œil gauche) |
| 3 | La question 2, suivie de la convention ci-dessous | Les mêmes qu’à la question 2 |
La convention ajoutée à la question 3 est la règle anatomique donnée plus haut. Voici le texte envoyé au modèle :
Convention: the photograph is oriented as seen by an examiner
facing the patient, and the optic disc lies on the nasal side
of the macula. Hence a disc in the left half of the image means
a LEFT eye, a disc in the right half means a RIGHT eye.
Autrement dit, la photo est vue par un examinateur placé face au patient, la papille est du côté du nez, et une papille dans la moitié gauche indique donc un œil gauche.
Le modèle ne rédige pas de réponse. Nous utilisons SemIf, une réplique ouverte de Jev, le modèle décisionnel de TypeSafe AI. Nous l’avons présenté dans notre article sur les modèles décisionnels. SemIf lit la probabilité que le modèle attribue à la lettre A et à la lettre B.
Un modèle de langage peut préférer la réponse A, quel que soit son contenu. Pour mesurer cette préférence puis la retirer, chaque question a été posée deux fois, avec les énoncés échangés : une fois avec Right eye (OD) en A et Left eye (OS) en B, une fois avec Left eye (OS) en A et Right eye (OD) en B. Pour chaque image, nous faisons ensuite la moyenne des deux probabilités obtenues pour chaque réponse, et nous retenons la réponse dont la moyenne dépasse 0,5. Au total, 360 décisions (60 images, 3 questions, 2 énoncés), sans aucune erreur technique.
- une rétinographieou son miroir
- trois questionspapille, œil, œil avec la convention
- énoncés échangésœil droit en A, puis œil gauche en A
- moyenne des deux énoncésprobabilité de chaque réponse
- réponse retenuecomparée à la vérité IDRiD
Les résultats
La figure 2 donne la part de bonnes réponses. La question 2 y figure deux fois : avec les réponses brutes, puis avec l’inversion des énoncés, qui retire la préférence pour la réponse A.
| Question | Résultat |
|---|---|
| 1. Position de la papille | 120 décisions justes sur 120, probabilité médiane 0,95 |
| 2. Quel œil, réponses brutes | 58 décisions justes sur 120, réponse A choisie 118 fois sur 120 |
| 2. Quel œil, préférence pour la réponse A retirée | œil faux pour 51 images sur 60 |
| 3. Quel œil, règle de la papille rappelée | 60 images justes sur 60 |
La perception est bonne. Le modèle sait où se trouve la papille, avec une probabilité médiane de 0,95.
Le modèle est biaisé : il préfère la réponse A, quel que soit son contenu. Quand on échange l’énoncé des réponses A et B, il répond encore A presque à chaque fois. Lui rappeler la règle de latéralité lui fait donner le bon œil dans 100 % des cas.
À la question 2, le modèle choisit la réponse A dans 118 décisions sur 120, qu’elle désigne l’œil droit ou l’œil gauche. Ce biais de position est connu dans les questionnaires à choix multiples posés à des modèles de langage, et il masque le reste : le score, 58 bonnes réponses sur 120, ressemble à du hasard. Une fois cette préférence retirée par la moyenne des énoncés échangés, la latéralité est fausse pour 51 images sur 60.
L’inversion est systématique, mais la préférence est faible : la probabilité médiane de la bonne réponse est de 0,45. Elle se retrouve sur les photos originales (26 sur 30) comme sur les miroirs (25 sur 30), sur les yeux sains (17 sur 20) comme sur les yeux malades (34 sur 40). Quand on retourne une image, la réponse du modèle bascule dans 21 paires sur 30. Il suit donc bien ce qu’il voit, et il applique ensuite la règle dans le mauvais sens.
À la question 3, la convention est écrite dans la question. Sur 120 décisions, deux seulement sont fausses, et de justesse : 0,52 contre 0,48. Après la moyenne des énoncés échangés, aucune image n’est fausse.
Cette correction tient en une phrase ajoutée à la question : le modèle se configure dans la question, en langage courant. Un classifieur classique apprend sa règle à partir d’exemples. Celui de Liu et al., conçu pour la seule latéralité, a demandé 18 394 rétinographies annotées, et changer ce qu’il fait demande de nouvelles images et un nouvel entraînement. Ici, un ophtalmologiste lit la règle dans la question, la vérifie et la modifie en quelques secondes, et la même méthode sert à d’autres questions sans rien réentraîner.
Ce qui est déjà connu
La difficulté des modèles multimodaux avec la latéralité des fonds d’œil est déjà publiée. FunBench, un banc d’essai présenté à MICCAI 2025, pose la question « œil gauche ou œil droit ? » à GPT-4o, Qwen2.5-VL, InternVL2.5, LLaVA et d’autres modèles, sur des rétinographies de plusieurs jeux publics, dont IDRiD. Tous obtiennent des scores proches du hasard. Les auteurs montrent aussi que la partie du modèle qui encode l’image contient l’information : un simple classifieur entraîné sur ses sorties reconnaît l’œil dans plus de 8 cas sur 10. Ils attribuent l’échec à la rareté du sujet dans les textes d’entraînement, la latéralité étant trop élémentaire pour qu’on l’écrive.
La préférence pour la première option est elle aussi documentée : les modèles de langage favorisent certaines lettres de réponse indépendamment du contenu, et l’on corrige cet effet en permutant les options.
Nous n’avons pas trouvé de travail qui décrive le mécanisme que nous observons : une papille localisée juste sur chaque image, puis un œil faux dans 85 % des cas une fois retirée la préférence pour la réponse A, bien en dessous du hasard, et une règle inversée que le modèle énonce lui-même. Les réponses brutes donnaient 58 bonnes sur 120, un score qui ressemble au hasard. Un score proche du hasard peut donc cacher une règle inversée, masquée par le biais de position.
Ce que nous avons changé
Chaque question de latéralité posée au modèle contient désormais la règle anatomique, telle qu’elle est écrite dans la question 3. Le modèle situe déjà la papille au bon endroit, et ce rappel lui suffit pour en déduire le bon œil.
Nous posons aussi chaque question deux fois, avec les énoncés échangés, et nous faisons la moyenne. Sans cela, le biais de position aurait suffi à cacher l’inversion de la règle, et nous aurions conclu que le modèle répondait au hasard.
Les limites de ce test
Les 30 yeux viennent d’un seul jeu de données public, et toutes les photos sont centrées sur la macula. Nous avons testé une seule version du modèle, compressée pour tenir sur nos cartes graphiques, et nous ne savons pas si la version complète fait la même erreur. La comparaison avec d’autres modèles ne porte que sur une image. Enfin, la latéralité n’est qu’un premier contrôle : nous préparons un test sur le glaucome à partir d’images d’OCT.
Si vous envisagez un serveur d’IA local pour votre centre ou votre cabinet, un échange de trente minutes suffit généralement pour savoir ce qu’il peut prendre en charge. Écrivez-nous en bas de page, ou réservez directement un créneau dans notre agenda.
Sources
-
Porwal et al., Indian Diabetic Retinopathy Image Dataset (IDRiD)
Jeu public de rétinographies avec la position de la papille et de la fovéa relevée par des experts, sous licence CC BY 4.0. Nous en avons utilisé 30 images du sous-ensemble de localisation. -
Wei et al., FunBench: Benchmarking Fundus Reading Skills of MLLMs (MICCAI 2025)
Banc d’essai de lecture des fonds d’œil par les modèles multimodaux ; la tâche de latéralité y reste proche du hasard pour tous les modèles testés. -
Liu et al., A self-adaptive deep learning method for automated eye laterality detection based on color fundus photography (PLoS One, 2019)
Réseau de neurones entraîné sur 18 394 rétinographies pour reconnaître l’œil droit ou gauche ; 99,13 % de réponses justes sur 2 000 images de validation externe. -
Zheng et al., Large Language Models Are Not Robust Multiple Choice Selectors (ICLR 2024)
Mesure du biais des modèles de langage envers certaines lettres de réponse dans les questions à choix multiples. -
Theodore Lee, SemIf, dépôt GitHub
Méthode qui lit la probabilité de chaque option dans un modèle ouvert, sans lui faire écrire de réponse.