Quantization
Teknik til at reducere præcisionen af tal i en model for at mindske hukommelses- og beregningsbehov.
Kort fortalt
Quantization gør en AI-model mindre og hurtigere ved at bruge færre bits til at repræsentere dens vægte og beregninger.
- Kategori
- teknik
- Niveau
- øvet
- Udtale
- /ˌkwɒntɪˈzeɪʃən/
Betydninger
2- 1
Processen med at afbilde kontinuerte værdier til et diskret sæt af værdier, typisk ved at afrunde til nærmeste repræsentative niveau.
- Quantization af et analogt signal introducerer kvantiseringsstøj.
- 2
Reduktion af numerisk præcision (fx fra 32-bit floating point til 8-bit heltal) i modelvægte, aktiveringer eller gradienter for at mindske modelstørrelse og fremskynde inferens.
- LLaMA-modellen blev kvantiseret til int8 for at kunne køre på en enkelt GPU. — Dettmers et al., 2022
- Post-training quantization kræver en lille kalibreringsdatasæt for at bestemme scale og zero-point.
Hvornår bruges det
Bruges typisk til at implementere store sprogmodeller på edge-enheder eller i produktion, hvor hukommelse og strøm er begrænset. Det kan anvendes efter træning (post-training quantization) eller under træning (quantization-aware training).
Formel
For int8 kvantisering: x_q = round(x / scale) + zero_point, hvor scale = (max-min)/255Kodeeksempel
import torch
model = torch.nn.Linear(10, 5)
quantized_model = torch.quantization.quantize_dynamic(model, {torch.nn.Linear}, dtype=torch.qint8)Dynamisk kvantisering af en lineær layer i PyTorch.
Oprindelse
Fra latin 'quantus' (hvor meget), via engelsk 'quantization'.