Quantification et modèle brouillon¶
Deux optimisations « conscientes du déploiement » (deployment-aware), intégrées dans le post-entraînement plutôt qu'appliquées après coup.
1. La quantification MXFP4 par QAT¶
Ce qui est quantifié¶
Les poids des experts MoE — qui dominent la mémoire du modèle — sont quantifiés en MXFP4, avec des activations calculées en MXFP8.
Restent en précision supérieure :
- les projections d'attention ;
- les projections latentes du MoE (\(\mathbf{W}^{\downarrow}\), \(\mathbf{W}^{\uparrow}\)) ;
- les experts partagés ;
- les routeurs MoE ;
- (d'après la configuration publiée) la tête de sortie, l'encodeur visuel et le projecteur multimodal.
Le raisonnement
Les experts routés représentent 2,72 T des 2,78 T de paramètres, soit 98 %. Les quantifier suffit à capturer l'essentiel du gain mémoire. Tout ce qui est sensible à la précision — l'attention, le routage, la sortie — est laissé intact.
Le rapport bénéfice/risque est écrasant dans un sens comme dans l'autre. C'est une quantification chirurgicale, pas globale.
Le format MXFP4¶
Microscaling FP4 : 4 bits par valeur, plus un facteur d'échelle partagé par bloc de 32 valeurs.
| Paramètre | Valeur (config publiée) |
|---|---|
| Bits | 4 |
| Taille de groupe | 32 |
| Symétrique | Oui |
| Observateur | min-max |
| Type d'échelle | torch.uint8 |
| Format | mxfp4-pack-quantized |
Pourquoi l'échelle par bloc est indispensable
Un format 4 bits offre 16 valeurs distinctes. Sans facteur d'échelle adaptatif, la même grille devrait couvrir toute la plage d'une matrice — où les amplitudes peuvent varier de plusieurs ordres de grandeur. Avec un facteur par bloc de 32, chaque petit voisinage a sa propre grille adaptée.
QAT : entraîner avec la quantification¶
Le choix central
La quantification n'est pas appliquée après l'entraînement. Elle est simulée pendant tout le post-entraînement, du SFT au RL inclus, pour que le modèle s'adapte à la perte de précision qu'elle induit.
| Approche | Principe | Coût qualité |
|---|---|---|
| PTQ | Quantifier un modèle déjà entraîné | Dégradation, parfois sévère |
| QAT | Entraîner en simulant la quantification | Minimale — le modèle compense |
Le bénéfice caché : la cohérence RL¶
Le point le plus subtil de cette section
During RL, rollout and training share the same quantization scheme — eliminating the train–inference mismatch.
En RL, les trajectoires sont produites par un moteur d'inférence et les gradients calculés par un moteur d'entraînement. Si les deux n'ont pas exactement la même arithmétique, la politique qui a généré la trajectoire diffère légèrement de celle qu'on met à jour.
Cet écart est une source classique et sournoise d'instabilité en RL. Le QAT l'annule : les deux côtés utilisent la même quantification.
2. Le modèle brouillon EAGLE-3¶
Le contexte¶
Le décodage spéculatif accélère la génération : un petit modèle propose plusieurs jetons, le grand les vérifie tous en une passe. C'est sans perte de qualité.
D'où vient le brouillon¶
Kimi K3 est pré-entraîné avec une couche MTP (Multi-Token Prediction) dont la structure reflète celle d'un bloc du backbone.
Or le modèle brouillon d'EAGLE-3 est constitué d'une seule couche de décodeur dont la structure coïncide avec cette couche MTP.
La conséquence
Il suffit d'affiner la couche MTP pré-entraînée en brouillon EAGLE-3 : le modèle cible est gelé, seules la couche brouillon et sa projection de fusion de caractéristiques sont mises à jour.
Pas besoin d'entraîner un modèle brouillon depuis zéro.
L'entraînement du brouillon¶
Suivant le protocole training-time test d'EAGLE-3, le brouillon est déroulé sur sept pas pendant l'entraînement. Au-delà du premier pas — où les caractéristiques côté cible de la position la plus récente ne sont pas disponibles — le brouillon consomme ses propres sorties des pas précédents, reproduisant la procédure de brouillon récurrent de l'inférence.
Pourquoi ce détail compte
C'est le même principe que la distillation on-policy : entraîner le modèle dans les conditions où il sera utilisé. Un brouillon entraîné uniquement sur des entrées parfaites se dégraderait dès le deuxième pas en production.
La fusion des caractéristiques¶
L'entrée du brouillon fusionne des caractéristiques de bas, moyen et haut niveau du modèle cible, prises respectivement aux sorties des 1er, 4e et dernier blocs AttnRes.
Ces caractéristiques sont concaténées et projetées vers la dimension cachée par une matrice sans biais \(\mathbf{W}_{\mathrm{E3}}\), initialisée à
Une initialisation qui mérite d'être comprise
Avec cette initialisation, la représentation fusionnée coïncide à l'initialisation avec la caractéristique de haut niveau \(\mathbf{h}_{h}\) — exactement l'entrée sur laquelle la couche MTP a été pré-entraînée.
Le brouillon démarre donc exactement au comportement du MTP pré-entraîné, puis apprend progressivement à incorporer les caractéristiques de bas et moyen niveau.
C'est une initialisation qui garantit qu'on ne perd rien au départ et qu'on ne peut que gagner. Ce genre de détail distingue une implémentation soignée d'une implémentation naïve.
La perte LK : optimiser la bonne quantité¶
L'accélération du décodage spéculatif est gouvernée par le taux d'acceptation par jeton sous échantillonnage spéculatif sans perte :
où \(p\) et \(q\) sont les distributions du jeton suivant des modèles cible et brouillon.
Le problème avec la pratique standard
La pratique usuelle minimise une divergence KL entre \(p\) et \(q\). Or, pour un modèle brouillon à capacité limitée, minimiser la KL ne garantit pas de maximiser le taux d'acceptation.
Ce sont deux objectifs différents, et l'un n'est un substitut de l'autre que dans le régime où le brouillon peut représenter \(p\) exactement — ce qui n'est justement pas le cas.
Kimi K3 optimise donc directement le logarithme négatif du taux d'acceptation, la perte LK :
avec \(p\) et \(q\) évaluées à température 1 et sans terme auxiliaire d'entropie croisée sur la vérité terrain.
La configuration du brouillon¶
L'affinage du brouillon suit la configuration QAT du post-entraînement : poids d'experts MoE en MXFP4, activations d'entrée en MXFP8, modules non-experts en précision supérieure.
Un point de vigilance sur le dépôt public¶
La couche MTP semble absente des poids publiés
Le rapport indique 1 couche MTP (identique à Kimi K2). Mais le
config.json publié porte :
"num_nextn_predict_layers": 0
Cela suggère que la couche MTP — et donc le modèle brouillon EAGLE-3 — n'est pas incluse dans le dépôt de poids public.
Conséquence pratique : le décodage spéculatif tel que décrit dans le rapport n'est pas directement reproductible à partir des seuls poids publiés. Les utilisateurs auto-hébergeant K3 n'ont pas accès à cette accélération sans entraîner leur propre brouillon.
À vérifier dans les recettes vLLM/SGLang officielles, qui pourraient distribuer le brouillon séparément.
Vérification de compréhension¶
Pourquoi 7 pas de déroulement pour l'entraînement du brouillon ?
Le rapport ne le justifie pas ; c'est le protocole d'EAGLE-3. L'ordre de grandeur correspond à ce qu'on peut espérer accepter dans une fenêtre de brouillon en pratique — au-delà, le taux d'acceptation cumulé devient si faible que l'entraînement sur ces positions n'apporte plus rien.
Le décodage spéculatif change-t-il les réponses du modèle ?
Non. L'échantillonnage spéculatif est mathématiquement sans perte : la distribution des jetons produits est exactement celle du modèle cible seul. Seule la vitesse change.
Quelle est l'économie mémoire réelle du MXFP4 ?
En BF16, 2,78 T de paramètres pèseraient ~5,6 To. Le dépôt publié pèse 1,56 To. Le facteur est donc d'environ 3,6×, et non 4× — parce que les 2 % de paramètres non quantifiés et les facteurs d'échelle par bloc coûtent leur place.
Chapitre précédent : Environnements RL
Fin de la partie Entraînement. Suite : Infrastructure.