0% ont trouvé ce document utile (0 vote)
0 vues30 pages

Compression de Réseaux

Le document traite de la compression des réseaux de neurones pour les systèmes embarqués, en abordant des méthodes telles que l'effeuillage, la quantification et la factorisation bas-rang. Il compare également les approches BNN (réseaux neuronaux binaires) et SNN (réseaux neuronaux impulsionnels) en termes d'efficacité matérielle et d'énergie. Enfin, il souligne l'importance de la gestion du temps et des compromis entre latence et surface lors du déploiement de ces réseaux.

Transféré par

Pierre DIAMANE SENGHOR
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues30 pages

Compression de Réseaux

Le document traite de la compression des réseaux de neurones pour les systèmes embarqués, en abordant des méthodes telles que l'effeuillage, la quantification et la factorisation bas-rang. Il compare également les approches BNN (réseaux neuronaux binaires) et SNN (réseaux neuronaux impulsionnels) en termes d'efficacité matérielle et d'énergie. Enfin, il souligne l'importance de la gestion du temps et des compromis entre latence et surface lors du déploiement de ces réseaux.

Transféré par

Pierre DIAMANE SENGHOR
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Compression de

Réseaux
Bao Jialiang
Jules Suchet
Lin Haokai
Marc Sanchez
1
14/01/2026 INSA Toulouse
Introduction

Classification vs régression

Plan Effeuillage

Choix des algorithmes (BNN, SNN)

Déroulement des récurrences

Conclusion

2
14/01/2026 INSA Toulouse
Introduction

3
14/01/2026 INSA Toulouse
Compression de réseaux : pourquoi ?

Objectif : déployer des réseaux profonds sur des systèmes embarqués


Contraintes : mémoire limitée, latence temps réel, énergie
Point clé : le coût vient souvent des accès mémoire (lire/écrire poids + activations)
Donc compresser =
réduire la taille des poids (modèle)
réduire la taille des activations
réduire le trafic mémoire (data movement)
=>pour gagner en latence et en énergie
Nguyen et al., “MCAIMem: A Mixed SRAM and eDRAM Cell for Area and Energy-Efficient On-Chip AI Memory,” IEEE TVLSI, 2024,
Table II.

4
14/01/2026 INSA Toulouse
Compresser un réseau
Compression = réduire le coût matériel tout en gardant la qualité :
taille mémoire
calcul
bande passante mémoire
latence et énergie

Familles de méthodes :
pruning
Han, Mao & Dally, “Deep Compression: Compressing Deep Neural Networks with Pruning,

quantization
Trained Quantization and Huffman Coding,” ICLR [Link] 1

factorisation bas-rang
distillation

5
14/01/2026 INSA Toulouse
Classification vs Régression

6
14/01/2026 INSA Toulouse
Classification : variable cible discrète
∈ ∈
y {1,…,K} (y {0,1} en binaire)
Le réseau calcule un score :
binaire :
multi-classes :
On transforme les scores en probabilités
binaire :
multi-classes :
Perte standard :
C. M. Bishop, Pattern Recognition and Machine Learning, Springer, [Link] 1.27 .

Décision :
Indicateurs : accuracy, top-k, F1, etc.

7
14/01/2026 INSA Toulouse
Régression : variable cible continue

, sortie typique :
Hypothèse classique : bruit gaussien C. M. Bishop, Pattern Recognition and Machine Learning, Springer, [Link] 1.27 .Figure A.6

Perte associée : MSE (proportionnelle à la NLL gaussienne)

Indicateurs : MAE, RMSE, erreur max, taux dans une tolérance

8
14/01/2026 INSA Toulouse
Effeuillage (pruning)

9
14/01/2026 INSA Toulouse
Effeuillage (pruning)

Définition:
L’effeuillage (pruning) consiste à supprimer des poids, connexions ou neurones peu
importants dans un réseau de neurones, afin de réduire sa taille et son coût de calcul.

Avantages principaux de l’effeuillage :


Réduction de la taille du modèle
Inférence plus rapide
Consommation d’énergie plus faible
Déploiement plus efficace

10
14/01/2026 INSA Toulouse
Effeuillage (pruning)
100 neurones

Pourquoi l’effeuillage fonctionne ?


60 connexions à w =10
Les réseaux sont souvent sur- poids élevés
paramétrés pour faciliter
l’apprentissage w =30
de nombreux poids sont proches de Input Output
zéro
certaines connexions ont un impact w =0.0001
négligeable sur la fonction de coût 40 connexions
Le réseau peut être vu comme une à poids faibles
approximation redondante w =0.0005

11
14/01/2026 INSA Toulouse
Effeuillage (pruning)

Effeuillage non structuré Effeuillage structuré


Suppression de poids Suppression de neurones, filtres ou
Génère un réseau sparse couches entières
Forte réduction des paramètres Réduction directe du coût de calcul
Compatible avec CPU, GPU et
systèmes embarqués

Effeuillage dynamique
L’effeuillage est effectué pendant
l’entraînement du réseau
Le modèle apprend progressivement :
quelles connexions sont importantes
lesquelles peuvent être supprimées
12
14/01/2026 INSA Toulouse
Effeuillage (pruning)
Applications principales de l’effeuillage

Appareils mobiles et systèmes embarqués


Ressources de calcul et mémoire limitées
Réduction de la taille du modèle et de la consommation d’énergie

Systèmes autonomes
Véhicules autonomes, drones
Besoin de décisions en temps réel avec une faible latence

Cloud et edge computing


Réduction des coûts de calcul et de stockage dans le cloud
Exécution efficace sur des dispositifs edge à ressources limitées

13
14/01/2026 INSA Toulouse
Effeuillage (pruning)

Défis de l’effeuillage des réseaux de neurones :


Baisse de précision
Un effeuillage trop agressif peut dégrader les performances
Il faut trouver un bon compromis taille / précision

Complexité des méthodes


Certaines techniques sont coûteuses
Elles nécessitent un réglage précis

Compatibilité matérielle :
Les modèles sparsifiés ne sont pas toujours bien exploités
Le gain en vitesse dépend du matériel

14
14/01/2026 INSA Toulouse
Choix des algorithmes
BNN,SNN

15
14/01/2026 INSA Toulouse
Contexte

Problème : Les réseaux de neurones classiques (CNN/DNN) sont trop gourmands


(mémoire, calculs FP32) pour l'embarqué contraint (Edge AI).

Solution : Adapter l'algorithme à la physique du matériel.

Deux approches :
1. BNN (Binarized Neural Networks) : Simplification extrême de la valeur.
2. SNN (Spiking Neural Networks) : Introduction de la dimension temporelle.

16
14/01/2026 INSA Toulouse
BNN - Le concept mathématique
Principe: Contraindre les Poids (W) et les Activations (A) à deux valeurs uniques :
+1 et −1.
Encodage Hardware :

+1 bit 1

−1 bit 0
Révolution Arithmétique :
1. La multiplication (W×A) disparaît.
2. Elle est remplacée par une opération logique XNOR.
3. L'accumulation (somme) devient un Popcount (comptage de bits à 1).

y=∑(wi​×xi​) (operation classique)


y=popcount(XNOR(w,x)) (operation BNN)

17
14/01/2026 INSA Toulouse
BNN - exemple

18
14/01/2026 INSA Toulouse
BNN - Gains en Intégration Matérielle
→ Pourquoi le Hardware aime les BNN ?
Compression Mémoire :
Réduction de 32x par rapport au standard (Float32).
Le réseau entier tient souvent dans la mémoire cache (SRAM)

Pas d'accès RAM externe (très coûteux en énergie).

Simplification Logique :
Un multiplicateur 32-bits = ~3000+ transistors.
Une porte XNOR = ~6 transistors.

Cible privilégiée : FPGA

19
14/01/2026 INSA Toulouse
SNN - Le Concept Bio-inspiré
→ L'approche Temporelle (Impulsionnelle)
Inspiration : Imite le fonctionnement réel du
cerveau biologique.

Le "Spike" (Impulsion) :
Les neurones ne transmettent pas de valeurs
continues.
Ils sont silencieux jusqu'à l'atteinte d'un seuil
d'activation.
Ils émettent alors une impulsion brève (un "spike").

Codage de l'information : L'information n'est pas dans l'amplitude,


mais dans la fréquence des spikes ou leur moment d'arrivée (t).

20
14/01/2026 INSA Toulouse
SNN - Gains en Intégration Matérielle
→ Architecture "Event-Driven"
Faible densité temporelle (Silence = 0 Watt) :
Contrairement aux CNN qui calculent tout en
permanence, le SNN ne calcule rien s'il n'y a pas de
changement dans l'entrée.
Ex: Caméra de surveillance face à un mur vide 0 →

spike consommation quasi-nulle.

Fonctionnement Asynchrone :
Pas d'horloge globale qui cadence tout le système.
Traitement local de l'information uniquement quand
nécessaire.

Cible privilégiée : Puces Neuromorphiques (Intel Loihi,


IBM TrueNorth, SpiNNaker).

21
14/01/2026 INSA Toulouse
Comparatif algorithmes Choisir BNN si :
Algo
Réseau Classique
BNN (Binaire) SNN (Impulsionnel)
→ Besoin de réponses ultra-rapides (faible
latence).
(CNN/DNN)
→ Utilisation d’un FPGA bon marché.
Flottant / Entier (8- Événement (0 ou 1,
Type de donnée Binaire (1 bit)
32 bits) asynchrone) Exemple : Détection de mots-clés (Keyword
Spotting), détection d'objets simple à haute
Addition
MAC (Multiply- vitesse.
Opération de base XNOR + Popcount (Accumulation de
Accumulate)
potentiel)
Choisir SNN si :
Faible (souvent
Moyenne (dépend du
→ Le système est sur batterie (contrainte
Précision Bonne compensée par la énergétique critique).
taille)
temps d'observation)
→ Les données sont "sporadiques" (il ne se
Efficacité énergétique passe rien la plupart du temps).
Vitesse et compacité
Avantage principal Précison extrême (si peu
mémoire
d'activité)
Exemple : Surveillance de vibrations
FPGA, Puce industrielles, drones autonomes, prothèses
Cible Matérielle GPU, TPU
Microcontrôleur Neuromorphique
sensorielles.
Précision Efficacité énergétique
But Compacité maximale
maximale maximale
22
14/01/2026 INSA Toulouse
Déroulement des récurrences

23
14/01/2026 INSA Toulouse
les récurrences et le coût temporel
Calculs récurrents dans les réseaux et le hardware
Les réseaux récurrents reposent sur des boucles temporelles
Chaque sortie dépend de l’état précédent
Conséquence matérielle :
calcul séquentiel
faible parallélisme
latence élevée
Le temps d’exécution est dominé par :
multiplications matrice–vecteur
fonctions d’activation

24
14/01/2026 INSA Toulouse
Principe de la récurrence
Déroulement temporel (Unrolling)
Transformer une boucle temporelle :
en duplication spatiale du calcul
Chaque pas de temps devient :
un bloc matériel indépendant
Interprétation matérielle
Avant :
1 bloc calculé sur T cycles
Après déroulement :
T blocs calculés en parallèle
en 1 cycle (ou très peu)
Lien avec l’apprentissage
Le déroulement est déjà utilisé en apprentissage
Le hardware applique le même principe :
mais de façon physique
25
14/01/2026 INSA Toulouse
Pérformance
Exploitation du parallélisme Résultats observés
Calcul de plusieurs pas de temps en parallèle Accélération forte par rapport au CPU
Meilleure utilisation : Performances comparables aux GPU
des unités de calcul Bonne montée en charge quand la taille du réseau augmente
de la bande passante mémoire
Point architectural important
Les couches les plus coûteuses sont parallélisées
La latence mémoire est masquée
Le calcul devient pipeliné et massif

26
14/01/2026 INSA Toulouse
Compromis du déroulement : énergie vs surface
Le déroulement réduit le nombre de cycles nécessaires Le déroulement implique la duplication des blocs de calcul
La fréquence d’horloge peut être abaissée Plus d’unités logiques actives simultanément
Moins de commutations inutiles Augmentation de :
Filtrage des glitches : la surface FPGA
stabilisation des signaux la complexité du routage
réduction de l’énergie dynamique Le coût spatial augmente avec le degré de déroulement

27
14/01/2026 INSA Toulouse
Conclusion

28
14/01/2026 INSA Toulouse
Conclusion
La Nature de la Tâche (Classification vs Régression)
Définit la métrique et la marge d’erreur acceptable (accuracy/top-k vs MAE/RMSE/
erreur max).
Impact : la tolérance à l’erreur guide le choix des techniques (ex. quantification plus
ou moins agressive), à valider avec les métriques de la tâche

La Réduction de Charge (Effeuillage/Pruning)


Définit la densité du calcul.
Compromis : On gagne en mémoire et en opérations, mais on risque de perdre en
efficacité d'accès mémoire (si effeuillage non structuré).

Le Choix de l’algo (BNN & SNN)



BNN : Remplace les multiplicateurs par de la logique (XNOR) Gain de vitesse/
surface.

SNN : Remplace le calcul continu par l'événementiel Gain d'énergie (si activité
faible).

La Gestion du Temps (Déroulement des récurrences)


Transforme le temps en espace.
Compromis : On "étale" la boucle temporelle sur la puce pour paralléliser. On gagne
en latence (vitesse), mais on perd en surface (plus de silicium utilisé). 29
14/01/2026 INSA Toulouse
Références
An Introduction to Binary Neural Networks, Alexander Pavlenko, 2023
Binarized Neural Networks: An Overview, Wilson Wang, 2021
Scholarly Community Encyclopedia, Spiking Neural Networks, Konstantinos Demertzis, 2021
“Deep Learning” Ian Goodfellow Yoshua Bengio Aaron Courville
DEEP COMPRESSION: COMPRESSING DEEP NEURAL NETWORKS WITH PRUNING,
TRAINED QUANTIZATION AND HUFFMAN CODING
PATTERN RECOGNITION AND MACHINE LEARNING CHRISTOPHER M. BISHОР
FPGA Acceleration of Recurrent Neural Network based Language Model. University of
Pittsburgh & Tsinghua University.
Loop Unrolling for Energy Efficiency in Low-Cost Field-Programmable Gate Arrays. ACM
Transactions on Reconfigurable Technology and Systems (TRETS), Volume 11, Issue 4
Neural Network Pruning in Deep Learning , Sanjana Sharma

30

Vous aimerez peut-être aussi