Chiosa
FR
Machine Learning

Des seuils d’arrondi partagés accélèrent l’entraînement si l’erreur est corrigée

Efficient Quantization Training with Stochastic Rounding via Structured Subspace Randomness · arXiv:2610.36587

3 min
Mis à jour
Overview of INT8 (S8) quantization training with S3R and its structured error correction S3R-EC. On the VPU, S3R broadcasts a compact seed 𝐮t∈[0,1]B×S×1, one threshold per token, to 𝐑t=Φ⁡(𝐮t) inside…
Overview of INT8 (S8) quantization training with S3R and its structured error correction S3R-EC. On the VPU, S3R broadcasts a compact seed 𝐮t∈[0,1]B×S×1, one threshold per token, to 𝐑t=Φ⁡(𝐮t) inside the vector registers, so 𝐑t is never materialized. In the backward pass, the…Fig. 1 · Efficient Quantization Training with Stochastic Rounding via Structured Subspace Randomness · Zeyu Wang et al. · CC BY 4.0

En termes simples

Pendant un entraînement en 8 bits, arrondir les valeurs des gradients au hasard peut préserver les petites mises à jour, mais produire un nombre aléatoire pour chaque valeur risque de ralentir l’accélérateur. Structured Subspace Stochastic Rounding (S3R) réutilise un seuil aléatoire pour les valeurs de chaque jeton.

Sa méthode de correction retire la partie partagée de l’erreur d’arrondi. Lors d’un entraînement de modèle de langage à 12 couches, le S3R corrigé a terminé avec une perte de validation proche de celle de l’arrondi indépendant, mais trois exécutions ne suffisent pas à trancher ce petit écart.

La recherche

L’entraînement à faible précision peut réduire les calculs, mais générer un seuil aléatoire indépendant pour chaque valeur de gradient peut coûter cher sur les accélérateurs.

On ne sait pas encore clairement si le partage des seuils peut réduire ce coût tout en préservant la qualité d’entraînement offerte par l’arrondi indépendant.

Structured Subspace Stochastic Rounding (S3R) partage des seuils aléatoires pour réduire le travail d’arrondi ; S3R-EC corrige l’erreur partagée.

S3R réduit le nombre de tirages aléatoires en partageant des seuils entre valeurs de gradient, mais ce partage corrèle leurs erreurs d’arrondi. Les auteurs l’associent à S3R-EC, qui soustrait des gradients l’erreur structurée connue avant l’optimisation.

Dans un entraînement C4 avec un modèle à 12 couches, la perte de validation finale moyenne du S3R-EC à deux voies était de 4,919, proche de 4,929 pour l’arrondi indépendant ; trois graines n’ont pas permis de distinguer cet écart.

Les mesures d’étapes complètes ont également montré que S3R-EC était plus rapide que BF16 et que l’arrondi indépendant pour trois modèles denses testés sur TPU v5p.

La comparaison de qualité porte sur un seul entraînement C4 avec un modèle de 12 couches et trois graines aléatoires par configuration.

Selon les auteurs, cette comparaison permet de distinguer des écarts d’environ 0,05 unité de perte de validation ou plus ; elle ne permet donc pas de déterminer si S3R corrigé et l’arrondi indépendant diffèrent de moins.

Ce que montrent les preuves

  • Le coût de l’arrondi aléatoire

    Structured Subspace Stochastic Rounding (S3R) réduit le coût en nombres aléatoires de l’arrondi des gradients pendant l’entraînement de transformers à faible précision. L’arrondi stochastique indépendant utilise un seuil aléatoire distinct pour chaque valeur de gradient.

    Sur les accélérateurs où la génération de nombres aléatoires s’effectue sur des unités vectorielles, cette opération peut ralentir l’entraînement, même si les opérations matricielles peuvent utiliser un matériel spécialisé plus rapide.

  • Comment les seuils sont partagés

    S3R quantifie une fois le gradient venant de la couche suivante pour les deux produits matriciels de la passe arrière et partage un seuil aléatoire entre les valeurs de la dimension cachée associées à chaque jeton.

    Chaque valeur reste non biaisée, mais les valeurs qui partagent un seuil peuvent avoir des erreurs d’arrondi corrélées. La méthode réduit le nombre de tirages aléatoires en remplaçant des erreurs indépendantes par cette structure partagée.

  • Où le partage ajoute de l’erreur

    L’analyse des auteurs situe l’erreur supplémentaire dans le gradient d’activation, transmis aux couches précédentes. Pour le partage par jeton, elle indique que l’erreur sur le gradient des poids conserve la variance de l’arrondi indépendant, tandis que les corrélations entre les erreurs des canaux augmentent la variance du gradient d’activation.

    Cela explique pourquoi corriger uniquement le gradient des poids laisserait subsister l’erreur transmise aux couches précédentes.

  • La correction rapproche les résultats

    Dans un modèle de type Llama à 12 couches, entraîné sur le corpus anglais C4 pendant 2 000 étapes, le S3R par jeton sans correction a obtenu une perte de validation finale moyenne de 5,055 sur trois graines, contre 4,929 pour l’arrondi indépendant.

    Le S3R-EC à deux voies a obtenu une moyenne de 4,919. Les chercheurs ont utilisé, pour chaque configuration, le meilleur taux d’apprentissage choisi à partir de la graine 0, ainsi que le même modèle, les mêmes données, le même nombre d’étapes et le même optimiseur AdamW.

  • Vitesse mesurée sur des étapes complètes

    Lors de la mesure d’étapes complètes sur TPU v5p, le S3R-EC à deux voies était 1,24 à 1,32 fois plus rapide que BF16 et environ 1,11 fois plus rapide que l’arrondi indépendant pour les trois modèles denses testés. Ces chiffres correspondent aux temps médians de 20 étapes après 12 étapes de chauffe.

    Ensemble, les résultats de qualité et de vitesse étayent la méthode pour les charges de travail évaluées, sachant que la comparaison de qualité est limitée par la résolution de trois graines.

Détails

Article suivantFlashSO(2) accélère les couches à symétrie préservée par émulation entière