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

1

Kilder

2
  • Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference
  • A Survey of Quantization Methods for Efficient Neural Network Inference