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.

Deux rétinographies côte à côte : à gauche la photo originale IDRiD_056, un œil droit dont la papille est entourée dans la moitié droite de l’image ; à droite la même photo en miroir, la papille dans la moitié gauche. Sous chacune, l’œil réel et la réponse de Qwen3.8-Flash-Next.
Figure 1. Sur la photo originale, un œil droit, Qwen3.8-Flash-Next répond œil gauche. Sur le miroir, un œil gauche, il répond œil droit. Photo IDRiD_056 (Porwal et al., CC BY 4.0), réduite et annotée par nos soins.

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.

Le parcours d’une image
  1. une rétinographieou son miroir
  2. trois questionspapille, œil, œil avec la convention
  3. énoncés échangésœil droit en A, puis œil gauche en A
  4. moyenne des deux énoncésprobabilité de chaque réponse
  5. 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.

Graphique en barres horizontales. Où est la papille : 100 %. Quel œil, réponses brutes : 48 %. Quel œil, énoncés inversés : 15 %. Quel œil, règle de la papille rappelée : 100 %. Un repère marque le hasard à 50 %.
Figure 2. Le modèle situe toujours la papille (question 1). Sur la question 2, ses réponses brutes suivent surtout la lettre A ; une fois cette préférence retirée, il donne le bon œil bien moins souvent que le hasard. Rappeler la règle corrige toutes les images (question 3).
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

Questions fréquentes

Le modèle voit-il l’image à l’envers ?

Non. Quand on lui demande de quel côté de l’image se trouve la papille, il répond correctement dans 120 décisions sur 120. L’erreur vient de l’étape suivante : il applique la règle « papille à gauche, œil droit », qui est l’inverse de la convention.

Suffit-il de rappeler la convention dans la question ?

Sur nos 60 images, oui : avec la convention écrite dans la question, la latéralité est juste pour les 60 images. C’est la solution que nous avons retenue : la règle accompagne désormais chaque question de latéralité posée au modèle.

Les autres modèles font-ils la même erreur ?

Le banc d’essai FunBench, publié en 2025, trouve des scores proches du hasard pour GPT-4o, Qwen2.5-VL et plusieurs autres modèles sur la même question. De notre côté, nous n’avons comparé que sur une seule image : Qwen 35B et MedGemma donnaient le bon œil, Qwen 9B le mauvais. Une seule image ne permet pas de conclure.

Prêt à automatiser vos processus ?

Discutons de vos besoins et voyons comment transtorm.ai peut vous aider

ou Réserver un appel