On suppose souvent que le décodage spéculatif est rapide parce qu'il effectue moins de travail par token. C'est faux. Le nombre total d'opérations en virgule flottante (FLOPs) pour une même séquence augmente en réalité. L'accélération provient du changement du type de travail effectué par le GPU.
Le décodage token par token est généralement limité par la mémoire. Pour chaque token, le GPU doit diffuser tous les paramètres actifs du modèle, comme les 27 milliards de paramètres de Qwen3.5-27B, depuis la mémoire globale. Pendant ce temps, une grande partie des capacités de calcul reste inactive. Le décodage par gros lots de milliers de tokens est l'inverse : il est limité par le calcul, le GPU étant occupé par des opérations tensorielles.
Le décodage spéculatif utilise un petit modèle de brouillon pour proposer une séquence de tokens probables, que le grand modèle vérifie ensuite en une seule passe avant. Avec de petites tailles de lot, cela transforme des calculs autrement gaspillés en progrès. Au lieu de faire avancer cinq séquences d'un token chacune, une seule séquence peut avancer de cinq tokens d'un coup, avec le même travail total.
La technique a des limites. Si le taux d'acceptation est inférieur à 100 %, chaque token rejeté constitue un travail perdu. À haut débit, lorsque le GPU est déjà limité par le calcul, la spéculation ajoute un coût sans bénéfice, c'est pourquoi vLLM propose le paramètre --speculative-disable-by-batch-size pour la désactiver.
Source: Hacker News · Résumé par HeadlinesBriefing