veilletech.fr
27 sept. Feed du jour
#06 LLM Article

vLLM : n'importe quel LLM décide en un jeton

Une question, un jeton, une probabilité.

Privatemode montre comment obtenir d'un LLM ordinaire une décision typée avec une probabilité par option, en une seule passe et un seul jeton : options numérotées, réponse préremplie, lecture des logprobs sur vLLM. Sur 28 jeux de données, GLM-5.3-Flash égale Jev, un modèle entraîné pour cela. Code et banc d'essai sont publiés ; les chiffres viennent de l'éditeur.

3 min de lectureavancévidéo 1:21
Partager
Sommaire7 sections
  1. Ce qui se passe
  2. Le mécanisme
  3. Sur vLLM
  4. Les mesures
  5. Les réserves
  6. Comment s'y prendre
  7. À retenir

Ce qui se passe

Privatemode, service d'inférence hébergé en Europe sur de l'informatique confidentielle, publie une méthode pour faire d'un LLM ordinaire un « modèle de décision » : on lui soumet un état et des options nommées, il renvoie l'option choisie et une probabilité pour chacune. C'est ce que font des modèles entraînés pour cela, comme Jev de TypeSafe ou Kev, sa version ouverte présentée ici le 22 septembre. La différence : aucun réentraînement, le modèle est pris tel qu'il est livré.

Le mécanisme

Un LLM n'écrit pas de texte : à chaque pas, il produit une distribution de probabilités sur tout son vocabulaire. Quand la forme de la réponse est connue d'avance, lui faire écrire un objet JSON entier est du temps perdu.

  1. Numéroter les options dans le prompt, en JSON, et demander une réponse de la forme choice_index: suivi d'un numéro.
  2. Préremplir la réponse : le message de l'assistant commence déjà par choice_index:, donc le premier jeton produit est forcément un numéro.
  3. Lire les probabilités de tous les numéros à cette seule position, les renormaliser sur les options, garder la plus probable.
JSON
{"state": "Le colis est arrivé ouvert et vide.",
 "question": "Quelle équipe ?",
 "options": [{"index": 0, "name": "livraison"},
             {"index": 1, "name": "remboursement"},
             {"index": 2, "name": "technique"}]}

Un jeton, température 0, et une distribution complète. Elle sert aussi à décider quand faire intervenir un humain.

Sur vLLM

Les mesures

Sur 29 jeux de données publics étiquetés, de 2 à 151 options, en anglais et en allemand, GLM-5.3-Flash fait jeu égal avec Jev sur les 28 jeux textuels : chacun l'emporte sur 10, les 8 autres sont à moins d'un point, écart médian de 0,7 point en faveur de Jev, non significatif (p = 0,64). Laya, 421 millions de paramètres, reste 13 à 15 points derrière.

Même à température 0, jusqu'à 3,5 % des réponses changent d'une exécution à l'autre : le traitement par lots et l'arithmétique flottante rendent une passe non reproductible au bit près sur un serveur chargé.

Les réserves

Ce sont les mesures de l'éditeur, qui vend l'hébergement ; le banc d'essai est publié pour les refaire. Le nom des options pèse : sur boolq, remplacer true et false par correct et wrong coûte 20 points à GLM-5.3-Flash, contre moins de trois aux deux autres.

Comment s'y prendre

La bibliothèque Python fonctionne avec tout point d'accès servi par vLLM, le vôtre compris :

Source : Turn GLM-5.3-Flash into a Jev-like System One model, Privatemode, 24 septembre 2026.