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. 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.

Afledte ord

2

Kilder

2