Chiosa
FR
Machine Learning

À stockage égal, les corrections binaires égalent ou améliorent la qualité

BiLoCo: Binary Low-Rank Corrections for Post-Training Quantization · arXiv:2610.32243

4 min
Mis à jour
BiLoCo inference for performing y=x​R+x​V​U⊤. A native-FP4 residual GEMM on tensor cores runs alongside a signed add/subtract correction on CUDA cores.
BiLoCo inference for performing y=x​R+x​V​U⊤. A native-FP4 residual GEMM on tensor cores runs alongside a signed add/subtract correction on CUDA cores.Figure 1 · BiLoCo: Binary Low-Rank Corrections for Post-Training Quantization · David Jin et al. · CC BY 4.0

En termes simples

Quand on compresse les poids d’un modèle de langage en NVFP4, leur qualité peut baisser. Une correction peut aider, mais une correction classique, qui utilise des nombres plus précis, sollicite le même matériel GPU que le calcul principal.

BiLoCo stocke sa correction sous forme de nombreuses paires de valeurs simples, positives ou négatives, puis effectue ces additions en parallèle du calcul NVFP4. À stockage de correction égal, sa perplexité était inférieure ou égale à celle de SVDQuant pour les cinq modèles testés sur WikiText-2 et C4.

La recherche

La quantification directe en NVFP4 peut rendre un modèle de langage moins précis, mais une correction plus précise risque de solliciter les Tensor Cores qui effectuent le calcul principal. Une correction compacte peut-elle améliorer la qualité en mobilisant d’autres unités de calcul du GPU ?

BiLoCo représente chaque matrice de poids par un résidu quantifié en NVFP4 (4 bits) et une correction compacte faite de paires de vecteurs de signes binaires, calculée sur les cœurs CUDA pendant le calcul FP4.

La question est de savoir si une correction peut récupérer la qualité perdue lors de la quantification NVFP4 sans solliciter les Tensor Cores qui effectuent le calcul principal. Une correction plus précise peut réduire l’erreur de quantification, mais utilise ces mêmes unités.

Les auteurs comparent BiLoCo à SVDQuant à budget de stockage de correction égal sur cinq modèles, avec WikiText-2 et C4. Dans les comparaisons entre modèles et jeux de données, la perplexité de BiLoCo — une mesure de la difficulté à prédire le mot suivant — est inférieure ou égale à celle de SVDQuant.

Séparément, sa correction représente davantage de la norme de Frobenius des matrices de poids, un indicateur structurel qui aide à éclairer le résultat sur la qualité.

La comparaison de qualité porte sur cinq modèles évalués sur WikiText-2 et C4 ; elle ne permet pas d’établir que le même résultat vaut pour d’autres modèles ou jeux de données. Les temps de calcul du noyau ont été mesurés séparément sur un GPU B300 et pour des dimensions de projection précises.

Ce que montrent les preuves

  • Une correction qui mobilise d’autres unités du GPU

    BiLoCo (Binary Low-Rank Corrections) est une méthode de quantification après entraînement des poids d’un modèle de langage. La quantification directe en NVFP4 peut laisser un écart de qualité, car ses valeurs grossières représentent mal certains poids et certaines activations atypiques.

    Une correction plus précise peut réduire une partie de cette erreur, mais ses calculs matriciels utilisent les mêmes Tensor Cores que le calcul FP4 principal. BiLoCo examine si une autre forme de correction peut utiliser d’autres unités de calcul du GPU.

  • Des signes pour former la correction

    BiLoCo représente chaque matrice de poids par un résidu NVFP4 et une correction de faible rang, c’est-à-dire une somme de paires de vecteurs de signes binaires multipliées par des coefficients scalaires. Pour la construire, la méthode ajuste progressivement ces paires à la matrice, réajuste ensuite leurs coefficients ensemble, puis quantifie le résidu restant.

    À l’inférence, les additions et soustractions de la correction sont calculées sur les cœurs CUDA tandis que les Tensor Cores calculent le résidu FP4. Un noyau fusionné combine les deux contributions.

  • Davantage de structure représentée à stockage égal

    Pour vérifier si ces facteurs compacts représentent une structure utile des poids, les auteurs comparent les corrections à budget de stockage des vecteurs égal sur 189 matrices de projection issues de trois familles de modèles.

    La correction BiLoCo de rang 512 représente une médiane de 47,3 à 52,9 % de la norme de Frobenius de chaque matrice selon les familles, contre 26,3 à 29,3 % pour la correction SVDQuant de rang 32. Cette mesure porte sur les matrices ; à elle seule, elle ne donne pas la qualité du modèle.

  • La vérification de la qualité

    Les auteurs comparent ensuite la qualité de cinq modèles avec un budget de stockage de correction identique. Sur WikiText-2 et C4, la perplexité de BiLoCo — une mesure de la difficulté à prédire le mot suivant — est inférieure ou égale à celle de SVDQuant dans les comparaisons entre modèles et jeux de données ; certains résultats sont à égalité.

    Les auteurs calculent les valeurs de BiLoCo en faisant la moyenne de six initialisations des signes. Ces résultats étayent un gain de qualité dans ces évaluations, sans montrer que tous les modèles ou jeux de données s’améliorent.

  • Le coût du noyau et son explication

    Les auteurs évaluent séparément le noyau fusionné sur un GPU NVIDIA B300. Avec une taille de lot de un, l’ajout de la correction augmente la latence de 6 à 11 % par rapport au noyau FP4 seul avec remplissage, mesuré au cours de la même exécution, pour les rangs de 16 à 512.

    Dans un contrôle à rang égal, les corrections binaires et denses BF16 prennent le même temps ; les auteurs situent donc l’avantage du format binaire dans le rang plus élevé qu’il permet à stockage fixe. Le résultat de latence se limite au GPU et aux dimensions testés.

Détails

Article suivantQuand un compilateur peut déplacer les échelles MXFP4 sans risque