Des chercheurs de Polymathic AI, de l'Université de Princeton, de l'USC ISI, de l'NYU et du Flatiron Institute ont publié FlashMap. Le décodage spéculatif FlashMap remplace le rédacteur à diffusion discrète par une carte de flux continue. Il rédige un bloc complet de 16 tokens en 1 passe avant. Les tokens de ce bloc restent cohérents entre eux. Sur Qwen3-8B, l'équipe de recherche rapporte jusqu'à 6.14x d'accélération sans perte sur GSM8K. Les poids du rédacteur pour Qwen3-8B et Qwen3-4B sont sur Hugging Face, avec des plugins vLLM et SGLang.
TL;DR
- Taille : rédacteur à 0.5B de paramètres (500M pour Qwen3-8B, 475M pour Qwen3-4B) ; rédige des blocs de K = 16 tokens.
- Fonctionne sur : le même GPU que le modèle cible. Les accélérations de l'article utilisent 1 NVIDIA H200 NVL à une concurrence de 1, en bf16.
- Performances : le rédacteur le plus rapide testé sur Qwen3-8B, environ 7% au-dessus d'un DFlash réentraîné en moyenne.
- Meilleur cas : 6.14x d'accélération sur GSM8K à température 0 (longueur d'acceptation de 7.69 tokens).
- Pire cas : 2.28x d'accélération sur Alpaca à température 1. Sur Qwen3-4B (température 0), il est derrière DFlash sur 4 des 9 tâches.
Qu'est-ce que FlashMap ?
FlashMap est un rédacteur de décodage spéculatif qui mappe un bruit gaussien vers un bloc de tokens en 1 étape. Un petit rédacteur propose K tokens. Le modèle cible vérifie ensuite les K en 1 passe parallèle et conserve le plus long préfixe correspondant. La sortie reste exactement ce que le modèle cible produirait.
La vitesse dépend de 2 choses. Le nombre de tokens rédigés qui sont acceptés, et le coût de leur rédaction. EAGLE-3 rédige de manière autorégressive, donc le coût croît avec la longueur du bloc. DFlash rédige le bloc complet en 1 passe avec une diffusion par bloc.
Pourquoi les rédacteurs à diffusion perdent-ils en acceptation ?
DFlash prédit chaque emplacement du bloc de manière indépendante. L'équipe de recherche appelle cela l'approximation factorisée. Imaginez une continuation qui est « new york » ou « san diego » avec des chances égales. Un rédacteur indépendant propose « new diego » ou « san york » une fois sur deux. Le modèle cible rejette celles-ci à l'emplacement 2.
FlashMap s'appuie sur Modèles de langage à carte de flux (Flow Map Language Models). Chaque échantillon de bruit correspond à 1 bloc complet. Le bruit choisit le mode pour chaque slot conjointement.
Comment fonctionne FlashMap ?
Le drafteur est un transformateur de diffusion à 6 blocs (DiT), avec une dimension d'embedding de 2048 et 16 têtes d'attention. Il lit les états cachés des couches cibles 1, 9, 17, 25 et 33. La matrice d'embedding et la tête LM sont copiées depuis la cible et restent figées.
L'entraînement se déroule en 2 étapes :
- Enseignant de flux : un flux continu sur des blocs de tokens one-hot, entraîné avec l'entropie croisée. Une reparamétrisation du temps gère le vocabulaire de 151,936 tokens de Qwen3.
- Étudiant de carte de flux : la distillation en semi-groupe transforme le flux en débruiteur à 2 temps. Il passe du bruit aux données en 1 étape.
Les deux drafteurs sont entraînés sur 500K échantillons de Open-PerfectBlend. Le calcul total sur tous les modèles et ablations a été d'environ 4,600 heures GPU sur des H200.
Comment FlashMap se compare-t-il sur les benchmarks ?
L'équipe de recherche a réentraîné EAGLE-3 et DFlash sur les mêmes données et paramètres. Les tests couvrent 9 benchmarks couvrant les mathématiques, le code et le chat, à des températures de 0 et 1.
- Vitesse : FlashMap à 1 étape est le drafteur le plus rapide sur chaque tâche de Qwen3-8B, aux deux températures.
- Précision : FlashMap à 1 étape bat DFlash sur la longueur d'acceptation dans 15 des 18 configurations. Il a environ la moitié des paramètres.
- Les gains sur le chat sont les plus importants : à température 0, les gains par rapport à DFlash sont de 5.5% en mathématiques, 11.1% en chat.
- Mode à 2 étapes : la longueur d'acceptation bat DFlash dans 18 des 18 configurations, avec 10% en moyenne.
- EAGLE-3 : à température 1, il a une longueur d'acceptation supérieure de 9% mais fonctionne 35% plus lentement.
Un test de mélange vérifie si les brouillons utilisent une véritable structure inter-tokens. À 2 étapes, FlashMap récupère la majeure partie du gain de structure conjointe d'un enseignant à 16 étapes. À 1 étape, il ne conserve qu'une petite fraction. Le brouillage de 4 échantillons de bruit sous forme d'arbre a augmenté l'accélération de 11% en moyenne.
Comparaison : FlashMap vs autres drafteurs de décodage spéculatif
| Caractéristique | FlashMap | DFlash | EAGLE-3 | DSpark |
|---|---|---|---|---|
| Style de drafting | Carte de flux continu, 1 ou 2 passes | Diffusion par blocs, 1 passe | Autorégressif, arbre | Semi-autorégressif |
| Dépendances inter-jetons | Oui, jointe sur le bloc | Non, indépendante par emplacement | Oui, séquentiel | Oui, module séquentiel léger |
| Taille du drafter (Qwen3-8B) | 500M | 1B | 302M (réentraîné, selon l'article FlashMap) | Non divulgué |
| Revendication phare (source propre) | Jusqu'à 6,1x | Jusqu'à 6,17x sur Qwen3-8B | Jusqu'à 6,5x | 60 à 85 % plus rapide par utilisateur vs MTP-1 |
| Accélération moyenne, Qwen3-8B, T=0 (apparié, Article FlashMap) | 4,36x | 4,07x | 2,55x | Non testé |
| Accélération GSM8K, T=0 (apparié) | 6.14x | 5.77x | 3.20x | Non testé |
| Licence des poids | Apache-2.0 | MIT | Apache-2.0 (code) | Non divulgué |
| Service (serving) | Transformers, vLLM, SGLang | Transformers, vLLM, SGLang | SGLang et autres | Service de DeepSeek-V4 |
Les accélérations moyennes sont calculées par Marktechpost à partir de la Figure 1(c) de l’article FlashMap. Les lignes correspondantes utilisent les lignes de base réentraînées par les auteurs.
Comment déployer FlashMap ?
Le flashmap package nécessite uniquement torch et transformers>=4.56. Installez-le avec uv pip install flashmap. Un appel spec_generate exécute le drafter et la cible ensemble sur 1 GPU.
Pour le service, la page du projet propose 2 chemins :
- vLLM 0.31 : passez le drafter dans
--speculative-configavecnum_speculative_tokensréglé à 16. - SGLang 0.5.20 : utilisez
--speculative-algorithm DSPARKavec le chemin de brouillon FlashMap.
Définissez num_steps=2 à échanger un peu de vitesse contre un taux d'acceptation plus élevé. Pour l'échantillonnage au-dessus de la température 0, vLLM a besoin "draft_sample_method": "probabilistic".
Points clés à retenir
- FlashMap rédige 16 tokens conjointement en 1 passe avec une carte de flux continue.
- Jusqu'à 6.14x d'accélération sans perte sur Qwen3-8B, avec un drafter de 0.5B.
- Plus rapide qu'un DFlash réentraîné sur les 9 benchmarks de Qwen3-8B.
- Le mode 2 étapes maintient l'acceptation stable sur tout le bloc.
- Les poids sont en Apache-2.0, le code en MIT, avec des plugins pour vLLM et SGLang.
Découvrez le papier, page du projet, dépôt GitHub et les poids du modèle. Par ailleurs, n'hésitez pas à nous suivre sur Twitter et n'oubliez pas de rejoindre notre 150k+ML SubReddit et de nous abonner à notre Newsletter. Attendez ! êtes-vous sur telegram ? vous pouvez désormais nous rejoindre également sur telegram.
Besoin de vous associer à nous pour promouvoir votre dépôt GitHub OU votre page Hugging Face OU votre lancement de produit OU votre webinaire, etc. ? Contactez-nous
L'article Polymathic AI et des chercheurs de Princeton publient FlashMap, un drafter à carte de flux pour un décodage LLM 6.14x plus rapide est applu en premier sur MarkTechPost.