kvantisering
Teknik til at reducere præcisionen af en models vægte og aktiveringer for at formindske modelstørrelse og øge inferenshastighed.
Kort fortalt
En metode til at gøre AI-modeller mindre og hurtigere ved at bruge færre bits til at repræsentere tal.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
Processen med at konvertere kontinuerte værdier (f.eks. 32-bit floating-point tal) til diskrete niveauer med lavere præcision (f.eks. 8-bit heltal) for at reducere modelstørrelse og beregningsomkostninger, ofte med minimalt tab af nøjagtighed.
- Efter kvantisering faldt modellens størrelse fra 500 MB til 125 MB, mens nøjagtigheden kun faldt 0,5 %.
- Kvantisering med 8-bit heltal er standard for inferens på mobilenheder.
Hvornår bruges det
Kvantisering anvendes typisk efter træning (post-training quantization) for at implementere modeller på ressourcbegrænsede enheder som mobiltelefoner eller edge-enheder. Der findes også kvantiseringsbevidst træning (quantization-aware training), hvor modellen tilpasses under træning for at minimere præcisionstab.
Kodeeksempel
import torch
# Post-training quantization example
torch.quantization.quantize_dynamic(
model, {torch.nn.Linear}, dtype=torch.qint8
)Dynamisk kvantisering af en PyTorch-model, hvor lineære lag konverteres til 8-bit heltal.
Oprindelse
Fra latin 'quantus' (hvor meget) via fransk 'quantifier' og engelsk 'quantization', oprindeligt brugt i fysik om diskrete energiniveauer. I datalogi overført til digital repræsentation af kontinuerte værdier.