Aller au contenu

Optimiseurs

DeepSeek-V4.1-Flash n'utilise pas un optimiseur mais trois, chacun affecté à une catégorie de paramètres. Deux d'entre eux sont des choix inhabituels qui méritent une explication.

La répartition

Catégorie de paramètres Optimiseur
Matrices de transformations linéaires du squelette, projections Engram, projecteur vision-langage Muon
Poids de requêtes et de clés Muon par tête
Tables Engram, plongements d'entrée, tête de prédiction Momentum + équilibrage de Sinkhorn
Poids de normalisation, biais, facteurs d'échelle AdamW

Hyperparamètres : AdamW avec \(\beta_1 = 0{,}9\), \(\beta_2 = 0{,}95\), \(\varepsilon = 10^{-20}\), weight_decay \(= 0{,}1\) ; Muon avec momentum 0,95, weight decay 0,1, et un rééchelonnement de la RMS de chaque matrice de mise à jour à 0,18.

Muon par tête

Ce que fait Muon

Muon peut se lire comme une descente de gradient préconditionnée : au lieu d'appliquer directement le gradient, on lui applique une transformation — concrètement, une orthogonalisation approchée par itération de Newton-Schulz — qui égalise les échelles dans les différentes directions.

La modification de DeepSeek

Muon standard utilise un seul préconditionneur pour toutes les têtes d'attention. DeepSeek découpe les poids de requête par tête avant d'appliquer la mise à jour, ce qui donne un préconditionneur par tête.

La justification est directe : les têtes d'attention sont hétérogènes — elles n'apprennent ni les mêmes motifs ni à la même vitesse — et un préconditionneur unique les traite comme si elles étaient interchangeables.

Une convergence indépendante

DeepSeek note que l'avantage empirique du Muon par tête est également validé dans GLM 5 et Kimi-K3. Trois laboratoires arrivant indépendamment au même réglage constitue un signal plus solide qu'une affirmation isolée.

C'est l'une des rares affirmations du rapport qui dispose d'une corroboration externe.

L'équilibrage de Sinkhorn pour les tables Engram

Le problème

Appliquer Adam aux 196 G de paramètres Engram exigerait de stocker deux moments par paramètre — soit 392 G de valeurs d'état d'optimiseur supplémentaires. C'est inacceptable.

La solution

DeepSeek remplace Adam par une mise à jour à momentum suivie d'un équilibrage de Sinkhorn, qui ne demande qu'un seul tampon de momentum.

La procédure suit le même schéma que Muon, l'équilibrage de Sinkhorn prenant la place de l'orthogonalisation de Newton-Schulz.

Étant donné la mise à jour à momentum de Nesterov \(\hat{G}_t\), l'équilibrage cherche des matrices diagonales \(D_r\) et \(D_c\) telles que :

\[ \Delta_t = \sqrt{n}\, D_r \hat{G}_t D_c \]

avec, approximativement, une RMS unitaire à la fois par ligne et par colonne :

\[ \frac{1}{n}\sum_{j=1}^{n} (\Delta_t)_{ij}^2 \approx 1, \qquad \frac{1}{m}\sum_{i=1}^{m} (\Delta_t)_{ij}^2 \approx 1 \]

Pourquoi c'est adapté

L'argument de DeepSeek est structurel :

  • une ligne correspond à un indice de jeton ou à une identité de n-gramme ;
  • une colonne correspond à un trait latent.

Normaliser dans les deux sens exploite exactement cette structure jeton-trait. Une ligne représente une entité discrète dont la fréquence d'apparition varie de plusieurs ordres de grandeur ; une colonne représente une dimension continue partagée par toutes les entités. Les deux méritent une normalisation, mais pas la même.

Les détails pratiques

  • Les lignes dont la norme satisfait \(\rho_i \leqslant \tau \bar{\rho}\) sont masquées, pour la stabilité numérique. Avec \(\tau = 10^{-3}\), cela écarte les lignes dont le gradient est mille fois plus faible que la moyenne — typiquement les n-grammes non vus dans le lot.
  • Le facteur \(\sqrt{n}\) convertit une norme \(\ell_2\) unitaire par ligne en RMS unitaire.
  • Le taux d'apprentissage effectif est corrigé par \(\gamma = 0{,}18\), pour s'aligner sur l'amplitude de mise à jour d'Adam. DeepSeek note que cette valeur est proche du 0,2 utilisé dans Moonlight.
  • \(K = 11\) itérations de normalisation, un nombre impair — la boucle alterne normalisation par lignes (pas impairs) et par colonnes (pas pairs), donc un nombre impair termine sur les lignes.
  • Le taux d'apprentissage d'Engram est multiplié par 5 par rapport au reste.

Le résultat revendiqué

Comme Muon, la méthode ne demande qu'un tampon de momentum tout en dépassant empiriquement Adam. Aucun chiffre n'est donné.

Une piste laissée ouverte

Le rapport situe l'équilibrage de Sinkhorn dans une famille d'optimiseurs exploitant la structure par axes — Adafactor, Adam-mini, SinkGD et d'autres — et conclut : « Ces stratégies de normalisation peuvent différer en performance d'optimisation et en surcoût de communication. Nous laissons une investigation plus détaillée comme direction future. »

Le choix est donc empirique, pas démontré supérieur aux alternatives.

L'encodeur visuel

Une dernière particularité : pendant le pré-entraînement, l'encodeur visuel reste gelé jusqu'à la phase de décroissance du taux d'apprentissage. Seules sa normalisation finale et le projecteur vision-langage sont entraînables. Au début de la décroissance, il est dégelé et optimisé conjointement avec le modèle de langage, à un taux d'apprentissage plus faible.


Chapitre suivant : Post-entraînement