Qwen3.8-27B avec DSpine : comment les modèles brouillons accélèrent l’inférence

Eva Wong est la rédactrice technique et bricoleuse résidente chez ZimaSpace. Geek depuis toujours, passionnée par les laboratoires informatiques personnels et les logiciels open source, elle se spécialise dans la vulgarisation de concepts techniques complexes au moyen de guides pratiques et concrets. Eva pense que l’hébergement personnel doit être amusant, et non intimidant. À travers ses tutoriels, elle aide la communauté à démystifier les configurations matérielles, de la construction de leur premier NAS à la maîtrise des conteneurs Docker.

La version de DSpine de Tencent ajoute un checkpoint de brouillon à cinq couches pour Qwen3.8-27B. Il propose plusieurs jetons à la fois, que le modèle complet vérifie. Le gain potentiel est un décodage plus rapide, lorsque le nombre de jetons proposés qui sont acceptés suffit à compenser le travail du modèle de brouillon. Il vous faut toujours le modèle cible Qwen3.8-27B et un moteur d’exécution capable de faire fonctionner les deux ensemble.

Le checkpoint publié le 7 novembre est accompagné d’une configuration orientée SGLang. Sa fiche de modèle compare l’acceptation des brouillons à celle de DFlash2 pour plusieurs tâches et conditions d’échantillonnage. Ces mesures constituent un point de départ pour un test local. Elles ne démontrent pas une amélioration uniforme de la vitesse de bout en bout sur tous les matériels.

Comment le décodage spéculatif modifie-t-il le travail effectué par jeton ?

Une boucle de génération normale produit un jeton suivant à la fois, chaque jeton dépendant de la séquence précédente. Dans une boucle spéculative, un modèle de brouillon moins coûteux propose un bloc, puis le modèle cible vérifie les propositions. Le processus peut avancer de plusieurs positions acceptées en une seule étape de vérification. Lorsque des propositions sont rejetées, le vérificateur valide ce qu’il peut et poursuit selon les règles de correction de l’algorithme.

Le compromis avantageux consiste à réduire le nombre de passes coûteuses du modèle cible en échange d’un travail supplémentaire pour le brouillon et la gestion des vérifications. Si le brouillon se trompe souvent, vous payez le surcoût sans avancer beaucoup plus à chaque étape. Le moteur d’exécution doit également gérer les états mis en cache, le traitement par lots et la synchronisation. Consultez le projet de recherche DSpine pour découvrir comment le modèle transmet les caractéristiques des couches précédentes entre les couches tout en générant des candidats en parallèle.

Schéma des auteurs de DSpine montrant la génération parallèle des brouillons et les dépendances entre les couches
Schéma des auteurs de DSpine montrant la génération parallèle des brouillons et les dépendances entre les couches. Source originale

Qu’est-ce que Tencent a exactement publié ?

La carte du checkpoint indique cinq couches de brouillon, une taille de bloc de 16 et une fenêtre glissante de 8 192 jetons dans le brouillon. Cette fenêtre glissante ne redéfinit pas le contexte pris en charge par le modèle cible. Elle décrit un composant de la configuration du brouillon. Vérifiez le modèle cible et l’architecture exacts dans la fiche du modèle Qwen3.8-27B.

La configuration rapportée par Tencent utilise SGLang 0.5.22, BF16, FlashAttention 3 et un niveau de concurrence de 8. La fiche du modèle décrit également la vérification dynamique et ReplaySSM dans son évaluation. Conservez ces précisions lorsque vous citez les résultats. La prise en charge d’un modèle cible par un paquet ne garantit pas la compatibilité avec ce modèle brouillon, la gestion de son état ou son chemin d’exécution des noyaux. Consultez les instructions du dépôt et évaluez séparément les plateformes non prises en charge.

Que vous indique une longueur d’acceptation plus élevée ?

La longueur d’acceptation mesure jusqu’où une étape de vérification peut faire avancer la génération avec une politique de brouillon et une charge de travail données. Une valeur plus élevée favorise généralement un gain potentiel, mais le coût de vérification, la taille des blocs brouillon et le matériel déterminent la latence réelle. Les configurations publiées de DSpine et DFlash2 utilisent des tailles de bloc brouillon différentes. Comparer uniquement les longueurs d’acceptation ne permet donc pas de normaliser le calcul dépensé par tentative.

Métrique À quelle question elle répond Pourquoi la conserver
Longueur d’acceptation du brouillon La part d’un bloc brouillon qui fait avancer la génération. Utile pour comprendre à quel point le modèle brouillon correspond au modèle cible.
Délai avant le premier jeton La durée du traitement de l’entrée et du démarrage. Les longues invites de programmation peuvent représenter l’essentiel du temps d’attente.
Jetons de sortie par seconde La rapidité d’affichage de la sortie après le préremplissage. Reflète le coût de l’exécution réelle du modèle cible et du modèle brouillon.
Temps réel par tâche réussie La rapidité avec laquelle le travail utile est terminé. Inclut les appels d’outils, les invites répétées et les échecs.
VRAM maximale La compatibilité entre le modèle brouillon et le modèle cible. Un état supplémentaire peut réduire la taille de contexte ou le niveau de concurrence pris en charge.

Une passe peut accepter plusieurs jetons tout en apportant peu de gain si le brouillon et la vérification lancent de nombreux petits noyaux. Testez une réponse courte et une réponse longue. La première mesure la surcharge interactive, tandis que la seconde comporte davantage d’étapes de décodage, pendant lesquelles le calcul spéculatif peut être avantageux.

Comment comparer équitablement DSpine sur votre machine ?

Utilisez le même point de contrôle cible, la même précision, la même invite d’entrée, la même limite de contexte, les mêmes paramètres de décodage et la même version du moteur d’exécution pour toutes les configurations. Exécutez un test de référence sans modèle brouillon. Ajoutez un mode brouillon pris en charge et consignez les paramètres exacts. Si vous comparez DSpine et DFlash2, indiquez les tailles de bloc et vérifiez que chacun utilise les noyaux et les chemins d’accélération prévus.

  1. Faites chauffer chaque mode avec la même courte invite avant de relever les résultats en régime stable.
  2. Comparez un utilisateur à la fois, puis répétez le test avec le niveau de concurrence habituellement géré par votre hôte.
  3. Consignez la longueur de sortie, le délai avant le premier jeton, la vitesse de génération et la mémoire maximale.
  4. Incluez la complétion de code, le raisonnement sur plusieurs fichiers et les sorties d’outils contraintes. Consignez les appels mal formés et les délais d’expiration.
  5. Comparez les temps d’exécution de bout en bout pour les tâches que les modèles accomplissent correctement.

Consultez le guide de déploiement de Qwen3.8-27B pour les questions sur le matériel de référence. L’article sur la coordination du codage donne des exemples où les coûts liés au dépôt et à l’exécution des outils peuvent dominer un test de vitesse portant uniquement sur la génération.

Quand le modèle brouillon vaut-il la mémoire supplémentaire ?

Cela vaut la peine de faire un essai lorsque le décodage représente une part importante du temps total, que le modèle cible tient déjà confortablement en mémoire et que l’environnement d’exécution prend explicitement en charge cette configuration. Les charges de travail aux suites prévisibles, comme certaines modifications de code ou réponses structurées, peuvent produire des blocs acceptés plus longs. Vérifiez-le sur vos propres tâches au lieu d’appliquer les résultats d’un benchmark à tous les travaux.

Si les longs préfixes ou les appels d’outils dominent, une voie de décodage plus rapide peut réduire peu le temps total. Si votre GPU est presque à pleine capacité, les poids et l’état supplémentaires du modèle brouillon peuvent réduire la marge disponible pour la concurrence. Lorsque vous avez besoin de plusieurs sessions simultanées, comparez le débit global et la latence de queue, pas seulement la vitesse maximale d’un flux. Le guide sur la mémoire de Flash Next aborde des compromis similaires entre le placement du modèle et le budget de cache pour un autre point de contrôle.

FAQ

Le point de contrôle DSpine peut-il répondre aux questions à lui seul ?

C’est un composant brouillon conçu pour Qwen3.8-27B. Le modèle cible vérifie la suite proposée.

Une taille de bloc de 16 signifie-t-elle que 16 jetons sont acceptés à chaque fois ?

Non. Elle décrit le bloc de propositions. Le taux d’acceptation varie selon l’invite, l’échantillonnage et le comportement du modèle brouillon.

Cette mise à jour fonctionne-t-elle automatiquement dans Ollama ?

La fiche DSpine présente une évaluation avec SGLang. Vérifiez l’environnement d’exécution exact avant de supposer que la paire cible-modèle brouillon est prise en charge.

Un modèle qui accepte davantage de jetons peut-il quand même être plus lent ?

Oui. Le calcul supplémentaire, la synchronisation, la gestion de l’état et la pression sur la mémoire peuvent compenser le gain.

Cela réduira-t-il la mémoire occupée par les poids du modèle cible ?

Le modèle cible reste chargé. Le modèle brouillon et l’état associé peuvent augmenter la consommation de mémoire.

Conclusion

Utilisez DSpine pour vérifier si votre charge de travail Qwen3.8-27B tire parti de l’acceptation de plusieurs jetons spéculatifs par passe cible. Mesurez simultanément le taux d’acceptation, la mémoire maximale et la latence totale de la tâche. Si le modèle brouillon améliore la métrique interactive ou par lots qui vous importe sans saturer la mémoire, la complexité d’exécution supplémentaire peut se justifier.

Centre technologique et IA

À lire aussi

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.