HyperAI

Quantification Du Modèle

La quantification est une technique utilisée pour réduire la taille et l’empreinte mémoire des modèles de réseaux neuronaux. La quantification des modèles peut réduire l’empreinte mémoire et les exigences de calcul des modèles de réseaux neuronaux profonds. La quantification des poids est une technique de quantification courante qui consiste à convertir les poids et les activations d'un réseau neuronal de nombres à virgule flottante de haute précision vers un format de précision inférieure tel que des entiers de 16 bits ou 8 bits. Convertissez les poids du modèle des types de données à virgule flottante standard (par exemple, des nombres flottants 32 bits) en types de données de moindre précision (par exemple, des entiers 8 bits), réduisant ainsi la taille du modèle et les besoins en mémoire et augmentant la vitesse d'inférence (en réduisant la complexité de calcul). La quantification des modèles peut faciliter le déploiement de modèles volumineux (tels que LLM) sur des appareils périphériques dotés de ressources de calcul et de mémoire limitées.

Représentation en virgule flottante :

Parmi les différents types de données, les nombres à virgule flottante sont principalement utilisés dans l'apprentissage en profondeur car ils peuvent représenter diverses valeurs avec une grande précision. En règle générale, les nombres à virgule flottante sont écrits en utilisant n bits pour stocker des valeurs. ce n Les bits sont ensuite divisés en trois composants différents :

  1. symbole: Le bit de signe indique si le nombre est positif ou négatif. Il utilise un bit, où 0 représente un nombre positif et 1 représente un nombre négatif.
  2. indice:L'exposant est une plage de bits qui représente la puissance de la base (généralement 2 en représentation binaire). L'exposant peut également être positif ou négatif, ce qui permet aux nombres de représenter des valeurs très grandes ou très petites.
  3. Nombre significatif/mantisse:Les bits restants sont utilisés pour stocker la mantisse, également appelée mantisse. Cela représente les chiffres significatifs d'un nombre. La précision d’un nombre dépend en grande partie de la longueur de ses chiffres significatifs.

Certains des types de données les plus couramment utilisés dans l’apprentissage profond sont float32 (FP32) et float16 (FP16) :

Le FP32 est souvent appelé « précision totale » (4 octets), tandis que le FP16 est appelé « demi-précision » (2 octets). Le type de données INT8 est plus performant et stocke les poids à l'aide d'un seul octet, constitué d'une représentation 8 bits capable de stocker 2⁸ = 256 valeurs différentes.

Références

【1】https://www.hopsworks.ai/dictionary/model-quantization

【2】https://medium.com/@sachinsoni600517/introduction-to-model-quantization-4effc7a17000