Skip to main content
PromptQuorumPromptQuorum

Qu'est-ce que le décodage spéculatif ?

Réponse rapide

Le décodage spéculatif associe un petit modèle de brouillon à un modèle cible plus grand. Le modèle de brouillon propose plusieurs tokens à l'avance, et le modèle cible les vérifie tous en une seule passe parallèle au lieu d'une passe séquentielle par token, ce qui accélère la génération lorsque les propositions sont acceptées.

  • Un petit modèle de brouillon propose plusieurs tokens avant le modèle principal.
  • Le modèle cible plus grand vérifie les tokens proposés en une seule passe parallèle.
  • La qualité de sortie correspond exactement à celle du modèle cible — le décodage spéculatif ne change pas ce qui est généré, seulement la vitesse.

Mis à jour : 14 juillet 2026

Technique & Concept ExplainersIntermédiaire

Points clés

  • Un petit modèle de brouillon propose des tokens à l'avance ; le modèle cible plus grand les vérifie en une seule passe parallèle
  • La qualité de sortie est identique à celle du modèle cible seul — seule la vitesse change
  • Le gain de vitesse est maximal sur du texte prévisible (code, structure répétitive) où le modèle de brouillon devine juste plus souvent
  • Le modèle de brouillon doit partager le même tokenizer et le même vocabulaire que le modèle cible

Comment ça fonctionne

Un modèle de brouillon, bien plus petit et rapide que le modèle cible, génère une courte séquence de tokens candidats. Le modèle cible évalue ensuite l'intégralité de cette séquence en une seule passe, acceptant les tokens qui correspondent à ce qu'il aurait généré seul et rejetant le reste, ainsi que tout ce qui a été généré après la première divergence.

Comme vérifier plusieurs tokens en parallèle coûte à peu près autant que générer un seul token séquentiellement sur le modèle cible, les propositions acceptées se traduisent directement par un gain de vitesse sans changement de la sortie finale. Le modèle cible garde toujours le dernier mot — une proposition erronée du modèle de brouillon ne coûte que le (court) temps de sa génération et n'est jamais retenue dans la sortie.

Quand le décodage spéculatif aide le plus

Utilisez le décodage spéculatif pour générer du code, des données structurées ou tout autre texte prévisible, où les propositions du modèle de brouillon sont acceptées à un taux élevé et le gain de vitesse est maximal. Utilisez-le lorsque vous êtes déjà limité par la vitesse de génération plutôt que par le traitement du prompt, puisque le décodage spéculatif accélère spécifiquement l'étape de génération token par token.

Évitez le décodage spéculatif pour du texte très créatif et imprévisible (fiction ouverte, brainstorming), où les propositions du modèle de brouillon sont acceptées moins souvent et le gain de vitesse diminue — la surcharge du modèle de brouillon peut, dans le pire des cas, annuler le gain. Évitez-le également si vous ne disposez pas d'un modèle plus petit compatible de la même famille à utiliser comme modèle de brouillon.

Configurer un modèle de brouillon

Le modèle de brouillon doit partager le même tokenizer et le même vocabulaire que le modèle cible — associer des modèles de familles différentes (ou même des tailles différentes d'un modèle dont le vocabulaire a changé entre les versions) ne fonctionnera pas. La configuration la plus courante utilise un modèle plus petit de la même famille que le modèle cible (par exemple, un modèle de classe 1B comme brouillon pour un modèle de classe 13B de la même famille).

Plusieurs outils d'inférence locale (dont llama.cpp) prennent en charge nativement le décodage spéculatif — la configuration nécessite généralement de spécifier à la fois le modèle cible et le modèle de brouillon au lancement, sans modifier la façon dont vous formulez vos prompts.

Questions fréquentes

Le décodage spéculatif réduit-il la qualité de sortie ?
Non — le modèle cible détermine toujours chaque token accepté. Le décodage spéculatif ne change que la vitesse de production des tokens, pas les tokens produits.
Le décodage spéculatif nécessite-t-il plus de VRAM ?
Oui — vous devez charger simultanément le modèle de brouillon et le modèle cible, donc l'utilisation totale de VRAM est plus élevée que pour le modèle cible seul. Le modèle de brouillon est délibérément choisi petit pour limiter cette surcharge.
Puis-je utiliser n'importe quel petit modèle comme modèle de brouillon ?
Non — le modèle de brouillon doit partager le tokenizer et le vocabulaire du modèle cible pour que la vérification au niveau des tokens fonctionne. En pratique, cela signifie généralement utiliser un modèle plus petit de la même famille que le modèle cible.
Quel est le gain de vitesse réel du décodage spéculatif en pratique ?
Le gain dépend fortement de la fréquence à laquelle les propositions du modèle de brouillon sont acceptées, ce qui varie selon le type de contenu — le texte prévisible (code, sortie structurée) profite d'un gain plus important que le texte créatif ouvert. Il n'existe pas de multiplicateur fixe unique ; testez avec votre propre charge de travail pour connaître le gain réel.