post-træningskvantisering
Post-træningskvantisering er en teknik hvor en allerede trænet maskinlæringsmodel konverteres til at bruge lavere præcision (fx 8-bit heltal) i stedet for 32-bit flydende tal, hvilket reducerer modellens størrelse og accelererer inferens uden at kræve genoptræning.
Kort fortalt
Kort fortalt: man gør en færdigtrænet model mindre og hurtigere ved at gemme dens tal med færre decimaler.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
Proces hvor en allerede trænet model kvantiseres for at reducere præcisionen af vægte og aktiveringer, typisk fra float32 til int8, uden yderligere træning.
- Efter træningen anvendte vi post-træningskvantisering for at reducere modellens størrelse med 75%.
- Post-træningskvantisering kan føre til et lille tab i nøjagtighed, men ofte er tabet acceptabelt.
Hvornår bruges det
Teknikken anvendes typisk ved deployment af store neurale netværk på enheder med begrænset hukommelse eller regnekraft, som mobiltelefoner eller edge-enheder. Den udføres ofte ved hjælp af værktøjer som TensorFlow Lite eller PyTorch's quantization API.
Kodeeksempel
import torch
model = ...
quantized_model = torch.quantization.quantize_dynamic(
model, {torch.nn.Linear}, dtype=torch.qint8
)Dynamisk post-træningskvantisering i PyTorch, hvor lineære lag kvantiseres til 8-bit heltal.
Oprindelse
Sammensætning af 'post-' (efter), 'træning' og 'kvantisering' (oversættelse af quantization).
Afledte ord
1Kilder
2- Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference
- A Survey of Quantization Methods for Efficient Neural Network Inference