Contexte matériel et goulot de la mémoire
Le GPU NVIDIA GeForce RTX 3050 Ti Mobile (GA107) possède 2 560 cœurs CUDA, 80 Tensor Cores de deuxième génération et délivre 29,8 TFLOPS en demi‑précision (FP16). Malgré cette puissance, le bus mémoire externe reste limité à 128 bits, soit une bande passante de 192,0 GB/s. Lorsqu’un modèle de 7 milliards de paramètres, soit environ 14 GB en FP16, est chargé, la lecture complète du modèle nécessite 73 ms. La génération d’un seul token, qui ne peut réutiliser aucune donnée déjà en VRAM, se retrouve alors à moins de 14 tokens par seconde, laissant plus de 95 % des Tensor Cores inactifs.
Les cartes grand public sont souvent limitées à 4 GB de VRAM (3 770,6 MiB adressables). Un modèle de 14 GB ne tient donc pas en mémoire locale et doit être partiellement stocké dans la RAM système, transféré via PCIe Gen3 x4 à 3,94 GB/s. Cette surcharge réduit la vitesse à 0,28 token/s, inacceptable pour les interfaces vocales ou la robotique en temps réel.
Limites des méthodes de quantification existantes
Les approches post‑entraînement comme GPTQ, AWQ ou SmoothQuant compressent les poids en 4 bits, mais trois problèmes majeurs subsistent :
Domain‑Shift Brittleness : les grilles de quantisation calibrées sur des corpus génériques (WikiText‑2, C4) voient leur perplexité exploser sur des domaines spécialisés (transcriptions téléphoniques, schémas JSON, terminologie médicale).
Latence de pré‑traitement élevée : le calcul des statistiques d’ordre 2 (Hessien) nécessite plusieurs minutes voire heures de passes avant‑et‑après sur le GPU, rendant impossible toute compression dynamique sur l’appareil.
Incompatibilité structurelle : les modèles non‑transformer (Mamba‑2, hybrides ConvNet/SSM, Liquid Neural Networks) ne respectent pas les hypothèses de calibration des transformeurs, entraînant des échecs d’exécution.
Principe de SPECTRA et gains théoriques
SPECTRA propose un cadre agnostique d’architecture basé sur la théorie de l’information de Shannon. Les poids en FP16 se décomposent en un bit de signe (entropie ≈ 1 bit), un vecteur d’exposant (entropie 1,6‑2,7 bits) et une mantisse (entropie 9,5‑9,9 bits). L’entropie totale d’un poids FP16 est donc d’environ 13,5 bits. Un compresseur générique sans perte (zstd, LZ4) ne peut donc dépasser un facteur de 1,52×. Pour atteindre les 2,8‑3,3× observés par SPECTRA, il faut recourir à la théorie du taux‑distorsion (R(D)), qui accepte une perte fonctionnelle contrôlée.
SPECTRA introduit le Group‑32 microscaling, qui regroupe les poids en blocs de 32 bits avant de les encoder, et des kernels Triton fusionnés au niveau des registres, éliminant les allers‑retours VRAM‑CPU. Le résultat est un modèle compressé à moins de 50 Mo de RAM, tout en conservant une précision quasi‑identique sur les jeux de test standards.
Implications pratiques et limites
Sur un RTX 3050 Ti, le chargement d’un modèle compressé de 3 fois occupe ≈ 4,7 GB de VRAM, restant sous la limite physique et évitant le recours au PCIe. La génération passe de 0,28 à ≈ 12 tokens/s, soit un facteur 43 d’amélioration, tout en maintenant le taux d’erreur de perplexité à moins de 2 % par rapport au modèle non compressé.
La méthode repose toutefois sur une hypothèse d’indépendance locale des blocs de poids ; des modèles très corrélés pourraient subir une perte de précision supérieure aux prévisions théoriques. De plus, l’absence de benchmarks publics sur des tâches hors‑distribution limite l’évaluation de la robustesse du domain‑shift résolu par SPECTRA.