Le décodage spéculatif accélère un serveur IA domestique en permettant à un mécanisme de proposition rapide de suggérer plusieurs jetons que le modèle cible vérifie ensuite ensemble.
La génération autorégressive classique demande au modèle complet de produire un jeton, de l’ajouter, puis de relancer le calcul avant de pouvoir connaître le jeton suivant. Cette dépendance séquentielle limite le travail parallélisable pendant le décodage, même avec un accélérateur performant. Le décodage spéculatif consacre un calcul moins coûteux aux jetons candidats, puis utilise un seul passage du modèle cible pour vérifier plusieurs positions. Le gain dépend de la rapidité de la génération des propositions, du nombre de candidats acceptés et de la capacité du matériel local à gérer la mémoire supplémentaire ou la surcharge de vérification.
Le décodage standard avance d’une étape du modèle cible à la fois
Un modèle autorégressif conditionne chaque nouveau jeton sur l’invite et sur tous les jetons précédents acceptés. L’étape suivante ne peut pas être finalisée tant que le jeton actuel n’a pas été échantillonné.
Les travaux fondateurs sur le décodage spéculatif décrivent les passages séquentiels du modèle cible comme le goulot d’étranglement de latence qu’ils cherchent à réduire.
Le traitement par lots permet à plusieurs requêtes de partager une itération, mais une séquence individuelle ne gagne normalement qu’un seul jeton accepté à chaque passage du modèle cible.
Un mécanisme de proposition plus rapide prédit plusieurs jetons futurs
Le composant de proposition peut être un modèle plus petit, une version réduite du modèle cible, une tête de prédiction auxiliaire ou un autre mécanisme moins coûteux que l’exécution répétée du modèle complet.
Le décodage spéculatif effectue une génération de candidats, afin que plusieurs continuations probables soient disponibles avant leur évaluation par le modèle cible.
Le modèle de proposition ne remplace pas l’autorité du modèle cible. Son objectif est de deviner à moindre coût les jetons futurs faciles à prédire et de créer un bloc que le modèle cible peut examiner en parallèle.
Un modèle de proposition trop volumineux peut produire de bonnes prédictions, mais consommer l’essentiel du temps de calcul et de la mémoire que l’optimisation devait économiser.
Le modèle cible vérifie les candidats en un seul passage parallèle
Le modèle cible évalue la séquence proposée et détermine quels jetons sont compatibles avec sa propre distribution de probabilité. Les jetons acceptés font progresser la séquence ensemble ; la première position rejetée est corrigée au moyen de la procédure d’échantillonnage exacte.
L’algorithme utilise une vérification parallèle et l’échantillonnage par rejet afin que le décodage spéculatif exact préserve la distribution de sortie du modèle cible.
Cette distinction est importante pour les affirmations concernant la qualité. Une vérification correcte est sans perte par rapport à la distribution de décodage choisie du modèle cible, tandis que les méthodes heuristiques d’anticipation peuvent faire d’autres compromis.
La longueur d’acceptation détermine le nombre d’étapes séquentielles supprimées
Si le modèle cible accepte la plupart des jetons proposés, un passage de vérification remplace plusieurs passages de décodage classiques. S’il rejette régulièrement le premier candidat, le serveur effectue le travail de proposition sans progresser beaucoup plus rapidement.
Une vaste étude expérimentale a montré que les performances spéculatives dépendent fortement de l’efficacité de la proposition, et pas seulement du choix du modèle de langage plus petit le plus performant.
L’acceptation varie selon le domaine de l’invite, la température d’échantillonnage, la compatibilité des tokeniseurs, le modèle cible, la longueur de la proposition et la proximité entre les prédictions du modèle de proposition et la distribution du prochain jeton du modèle cible.
Les blocs de proposition plus longs offrent davantage de possibilités de progression, mais font perdre plus de calcul après une divergence précoce. La profondeur optimale dépend donc de la charge de travail.
La surcharge de proposition et la mémoire peuvent annuler le gain de vitesse à domicile
Un serveur IA domestique doit exécuter le mécanisme de proposition, conserver son état et effectuer la vérification, alors que le modèle cible et le cache KV occupent déjà de la mémoire. Un second modèle peut imposer un déport vers le processeur ou réduire le contexte disponible.
Des études matérielles identifient la latence du modèle de proposition comme une limite importante du gain de vitesse. Un processeur peu puissant chargé de générer des propositions pour un modèle cible rapide sur processeur graphique, ou un modèle de proposition partageant la même bande passante mémoire, peut produire un gain très faible.
Les méthodes d’auto-décodage spéculatif évitent un modèle de proposition complet distinct en réutilisant certaines parties du modèle cible, mais introduisent leurs propres contraintes d’exécution et de compatibilité.
La marge mémoire est aussi importante que la puissance de calcul. L’optimisation n’est pas utile si le modèle de proposition provoque l’éviction du modèle, réduit la limite de contexte ou déstabilise d’autres applications du serveur domestique.
Mesurez la latence de bout en bout, pas seulement les jetons acceptés
Comparez le décodage classique et le décodage spéculatif avec le même modèle cible, le même ensemble d’invites, les mêmes paramètres d’échantillonnage, les mêmes longueurs de sortie et les mêmes conditions d’état préchauffé. Mesurez le délai avant le premier jeton, le nombre de jetons générés par seconde, la longueur d’acceptation, le temps de proposition, le temps de vérification et la mémoire maximale utilisée.
L’analyse de ZimaSpace sur la présence des modèles en mémoire est pertinente, car l’ajout d’un modèle de proposition peut modifier l’état de modèle qui reste préchauffé. Il ne faut pas attribuer le mérite d’une optimisation de décodage à un test qui compare des conditions de démarrage à froid différentes.
Le décodage spéculatif est généralement le plus utile lorsque le modèle cible est lent, que la génération des propositions est nettement moins coûteuse, que le taux d’acceptation est élevé et que l’accélérateur peut vérifier efficacement plusieurs candidats.
Il est moins utile lorsque les sorties sont courtes, que le modèle cible décode déjà rapidement, que le modèle de proposition est souvent en désaccord ou que la mémoire et la bande passante locales constituent les véritables goulots d’étranglement.
FAQ
Le décodage spéculatif utilise-t-il un modèle de moindre qualité pour la réponse finale ?
Le modèle de proposition suggère des candidats, mais la vérification exacte laisse au modèle cible la responsabilité de la distribution de sortie acceptée.
Le décodage spéculatif améliore-t-il le traitement de l’invite ?
Il cible principalement la génération autorégressive de la sortie. La latence de préremplissage de l’invite peut rester similaire, sauf si l’implémentation l’associe à des optimisations distinctes du préfixe ou du préremplissage.
Le décodage spéculatif peut-il fonctionner sur un serveur domestique équipé uniquement d’un processeur ?
Il peut fonctionner avec des environnements d’exécution compatibles, mais le gain dépend de la question de savoir si la génération des propositions et la vérification sont moins coûteuses que le décodage classique sur ce processeur et ce système mémoire particuliers.
Centre Tech & IA
Plus à lire

Quelles fonctionnalités permettent de créer une frontière de confiance pour l’IA domestique autour des fichiers sensibles ?
Une frontière de confiance pour l’IA à domicile combine le chiffrement des données au repos, des autorisations selon le principe du moindre privilège, un...

Pourquoi les résultats de recherche privés privilégient-ils les fichiers fréquemment modifiés ?
Les fichiers fréquemment modifiés bénéficient d’un meilleur classement lorsque chaque mise à jour ajoute des signaux de fraîcheur, des segments, des versions ou des...

Qu’est-ce qui pousse les modèles de détection de présence pour maison intelligente à confondre les invités avec les résidents ?
Les invités peuvent être pris pour des résidents lorsque le système observe des habitudes d’activité du foyer, mais ne dispose d’aucun signal d’identité stable...

