Posez deux fois la même question à un modèle, dans deux conversations neuves, et vous obtiendrez souvent deux réponses différentes. Demandez un titre pour un article sur l'IA dans l'immobilier : la première fois "L'IA transforme l'immobilier", la seconde "Quand l'IA rencontre l'immobilier". Pour qui vient du développement classique, c'est déroutant. Une fonction, ça rend toujours la même sortie pour la même entrée.
Sauf qu'un LLM n'est pas une fonction de ce genre. À chaque étape, il produit une distribution de probabilités sur les tokens possibles, puis quelque chose choisit dans cette distribution. Ce choix, c'est le sampling, et c'est lui qui introduit la variabilité. Dès que plusieurs suites sont plausibles, et pour un titre elles le sont toutes, le tirage peut tomber différemment.
Plusieurs réglages pilotent ce tirage. La température, vue au post précédent, ouvre ou resserre l'éventail. Le top-p, souvent appelé nucleus sampling, ne garde que les candidats les plus probables jusqu'à atteindre une masse de probabilité donnée, 0,9 par exemple, et ignore la longue traîne. Certaines API acceptent une seed, une graine qui rend le tirage reproductible.
Et là, une mauvaise nouvelle pour les amateurs de reproductibilité parfaite : même à température 0, deux appels identiques peuvent diverger. Les calculs se font en virgule flottante sur des GPU, l'ordre des opérations dépend de la façon dont les requêtes sont regroupées sur le serveur, et de minuscules écarts d'arrondi suffisent à faire basculer un choix entre deux candidats presque à égalité. Ajoutez à cela les mises à jour de modèle côté fournisseur, et vous comprenez pourquoi "même prompt, même réponse" n'est jamais une garantie contractuelle.
Ce n'est pas forcément un défaut. Pour du brainstorming, des titres ou de la reformulation, c'est même l'intérêt. Pour de l'extraction, de la classification ou une sortie structurée qui part dans un autre système, c'est un problème, et on le traite par une température basse, un format imposé et surtout des vérifications sur la sortie.
Tout ça se joue dans une même limite : le modèle ne peut pas ingérer une quantité infinie de texte. Qu'est-ce qu'une fenêtre de contexte, au juste ? Réponse dans le prochain post.
Cette leçon a d'abord été publiée sur LinkedIn. Rejoindre la discussion
Envie de mettre l'IA au travail dans votre entreprise ?
Chatbot sur vos documents, agents, automatisation — parlons-en.
Discuter de mon projet