Skip to main content
IA & Machine Learning

Compression de Modèle

Techniques pour réduire la taille des modèles IA et les besoins computationnels tout en préservant les performances, pour un déploiement efficace.

Également appelé: Optimisation de modèle, Efficacité de modèle, Compression de réseau neuronal

Définition

La compression de modèle est une famille de techniques conçues pour réduire la taille, l’empreinte mémoire et les besoins computationnels des modèles de machine learning tout en maintenant des niveaux de performance acceptables. Cela inclut la quantification (réduire la précision numérique), l’élagage (supprimer les paramètres inutiles), la distillation de connaissances (entraîner de plus petits modèles à imiter les plus grands), et les optimisations architecturales. L’objectif est de rendre le déploiement AI pratique sur des appareils à ressources limitées ou à grande échelle en production.

Pourquoi c’est important

La compression de modèle est essentielle pour l’IA réelle :

  • Réduction des coûts — servir l’IA à 10-100x moins de coûts d’infrastructure
  • Amélioration de la latence — réponses plus rapides pour meilleure expérience utilisateur
  • Déploiement edge — exécuter des modèles sur téléphones, navigateurs, appareils IoT
  • Impact environnemental — réduire consommation d’énergie et empreinte carbone
  • Démocratisation — rendre l’IA avancée accessible sans budgets massifs

Sans compression, les modèles de pointe resteraient enfermés dans des data centers coûteux.

Comment ça fonctionne

┌────────────────────────────────────────────────────────────┐
│           TECHNIQUES DE COMPRESSION DE MODÈLE              │
├────────────────────────────────────────────────────────────┤
│                                                            │
│  LE PAYSAGE DE LA COMPRESSION:                             │
│  ─────────────────────────────                             │
│                                                            │
│  ┌─────────────────┐  ┌─────────────────┐                 │
│  │ QUANTIFICATION  │  │    ÉLAGAGE      │                 │
│  │                 │  │                 │                 │
│  │ FP32 → FP16     │  │ Supprimer poids │                 │
│  │ FP32 → INT8     │  │ et neurones     │                 │
│  │ FP32 → INT4     │  │ inutilisés      │                 │
│  │                 │  │                 │                 │
│  │ 2-8x plus petit │  │ Structuré vs    │                 │
│  │ 2-4x plus rapide│  │ Non-structuré   │                 │
│  └─────────────────┘  └─────────────────┘                 │
│                                                            │
│  ┌─────────────────┐  ┌─────────────────┐                 │
│  │  DISTILLATION   │  │ OPTIMISATION    │                 │
│  │                 │  │ ARCHITECTURE    │                 │
│  │ Grand → Petit   │  │                 │                 │
│  │ Prof. → Élève   │  │ MobileNets      │                 │
│  │                 │  │ EfficientNets   │                 │
│  │ Transfert de    │  │ Conv depthwise  │                 │
│  │ connaissances   │  │ Optim attention │                 │
│  └─────────────────┘  └─────────────────┘                 │
│                                                            │
│                                                            │
│  PIPELINE DE COMPRESSION:                                  │
│  ────────────────────────                                  │
│                                                            │
│  ┌────────────────────────────────────────────────────┐   │
│  │                                                     │   │
│  │  Modèle Original (GPT-3 175B, FP32)                │   │
│  │  Taille: 700GB    Inférence: €€€€€                │   │
│  │                                                     │   │
│  │         │                                           │   │
│  │         ▼                                           │   │
│  │  ┌──────────────┐                                  │   │
│  │  │ DISTILLATION │  → Entraînement Prof.-Élève      │   │
│  │  └──────────────┘                                  │   │
│  │         │                                           │   │
│  │         ▼                                           │   │
│  │  Modèle Plus Petit (7B paramètres)                 │   │
│  │  Taille: 28GB     Inférence: €€                   │   │
│  │                                                     │   │
│  │         │                                           │   │
│  │         ▼                                           │   │
│  │  ┌──────────────┐                                  │   │
│  │  │   ÉLAGAGE    │  → Supprimer 30-50% des poids    │   │
│  │  └──────────────┘                                  │   │
│  │         │                                           │   │
│  │         ▼                                           │   │
│  │  Modèle Élagué                                      │   │
│  │  Taille: 14GB     Inférence: €                    │   │
│  │                                                     │   │
│  │         │                                           │   │
│  │         ▼                                           │   │
│  │  ┌──────────────┐                                  │   │
│  │  │QUANTIFICATION│  → FP32 → INT4                   │   │
│  │  └──────────────┘                                  │   │
│  │         │                                           │   │
│  │         ▼                                           │   │
│  │  Modèle Final Compressé                            │   │
│  │  Taille: 3.5GB    Inférence: ¢                    │   │
│  │                                                     │   │
│  │  COMPRESSION TOTALE: 200x taille, 50x coût!       │   │
│  │                                                     │   │
│  └────────────────────────────────────────────────────┘   │
│                                                            │
│                                                            │
│  COMPROMIS DE COMPRESSION:                                 │
│  ─────────────────────────                                 │
│                                                            │
│  Performance                                               │
│       ▲                                                    │
│  100% │████████████░░░░░░░░░ Original                     │
│   97% │██████████░░░░░░░░░░░ Distillé                     │
│   95% │████████░░░░░░░░░░░░░ + Élagué                     │
│   92% │██████░░░░░░░░░░░░░░░ + Quantifié (INT8)           │
│   85% │████░░░░░░░░░░░░░░░░░ + Quantifié (INT4)           │
│       └────────────────────────────────▶                  │
│                                     Ratio de Compression   │
│             1x    5x   10x   25x   100x  200x              │
│                                                            │
│  Sweet spot: 90-95% perf. à 10-50x compression            │
│                                                            │
└────────────────────────────────────────────────────────────┘

Techniques de compression comparées:

TechniqueRéduction TailleGain VitessePerte QualitéEffort
Quantif. FP162x2x~0%Trivial
Quantif. INT84x3x1-3%Faible
Quantif. INT48x4x5-15%Moyen
Élagage (30%)1.4x1.3x1-2%Moyen
Distillation10-25x10x5-15%Élevé
Combiné50-200x20-50x5-20%Élevé

Questions fréquentes

Q : Quelle technique de compression utiliser en premier ?

R : Commencez par la quantification—c’est le plus facile et offre souvent les meilleurs gains d’efficacité avec une perte de qualité minimale. FP16 est essentiellement gratuit. INT8 fonctionne pour la plupart des applications. N’allez à INT4 que si vous avez besoin d’une compression agressive.

Q : Puis-je compresser n’importe quel modèle ?

R : Oui, mais les résultats varient. Les plus grands modèles se compressent souvent mieux car ils ont plus de redondance. Certaines architectures sont plus favorables à la compression. Les Transformers se compressent bien. Mesurez toujours la qualité sur votre cas d’usage spécifique avant et après compression.

Q : Les modèles compressés donneront-ils les mêmes sorties ?

R : Non. La compression introduit de petites différences. Pour la plupart des applications, ces différences sont imperceptibles. Cependant, pour les applications nécessitant une reproductibilité exacte, utilisez une compression minimale. Testez toujours sur vos tâches spécifiques.

Q : Quelle perte de qualité est acceptable ?

R : Cela dépend entièrement de votre cas d’usage. Pour les chatbots, 5-10% de perte peut être imperceptible. Pour le diagnostic médical, même 1% pourrait être trop. Faites toujours des benchmarks sur vos tâches réelles.

Termes associés

  • Quantization — réduire la précision numérique
  • Pruning — supprimer les paramètres inutiles
  • Distillation — entraîner plus petits modèles depuis plus grands
  • LLM — modèles couramment compressés

Références

Han et al. (2015), “Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding”, ICLR. [Article fondateur sur la compression]

Dettmers et al. (2022), “LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale”, NeurIPS. [Quantification LLM à grande échelle]

Frantar & Alistarh (2023), “GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers”, ICLR. [Quantification LLM pratique]

Zhu et al. (2023), “A Survey on Model Compression for Large Language Models”, arXiv. [Enquête complète sur la compression]

References

Han et al. (2015), “Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding”, ICLR. [Foundational compression paper]

Dettmers et al. (2022), “LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale”, NeurIPS. [Large-scale LLM quantization]

Frantar & Alistarh (2023), “GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers”, ICLR. [Practical LLM quantization]

Zhu et al. (2023), “A Survey on Model Compression for Large Language Models”, arXiv. [Comprehensive compression survey]