quantization-aware fine-tuning

En finjusteringsproces, der simulerer kvantiseringseffekter under træningen, så den endelige kvantiserede model bevarer nøjagtigheden.

Kort fortalt

En metode, hvor en forudtrænet model finjusteres med simuleret lavpræcisionsaritmetik for at sikre, at den fungerer godt efter efterfølgende kvantisering.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    Finjustering af en forudtrænet model, hvor der under træningen simuleres kvantisering af vægte og aktiveringer for at minimere nøjagtighedstab ved efterfølgende kvantisering.

    • Quantization-aware fine-tuning reducerede nøjagtighedstabet fra 5% til under 1% ved kvantisering af BERT-modellen til INT8.Jacob et al., 2018
    • Under quantization-aware fine-tuning indsættes fake-quantization noder i grafen, der efterligner kvantiseringens effekter.TensorFlow dokumentation

Hvornår bruges det

Bruges typisk ved implementering af store sprogmodeller eller computer vision-modeller på edge-enheder, hvor kvantisering er nødvendig for at reducere hukommelse og latens. Processen starter med en forudtrænet model, tilføjer kvantiseringssimuleringslag og finjusterer med et repræsentativt datasæt.

Kodeeksempel

import torch
import torch.quantization

model = MyModel()
model.qconfig = torch.quantization.get_default_qat_qconfig('fbgemm')
model = torch.quantization.prepare_qat(model, inplace=True)
# Train loop with simulated quantization
for data, target in dataloader:
    output = model(data)
    loss = loss_fn(output, target)
    loss.backward()
    optimizer.step()
# After training, convert to quantized model
model = torch.quantization.convert(model, inplace=True)

Eksempel på quantization-aware fine-tuning i PyTorch: først konfigureres QAT, så trænes modellen med simulerede kvantiseringslag, og til sidst konverteres til egentlig kvantiseret model.

Oprindelse

Sammensat af 'quantization-aware' (kvantiseringsbevidst) og 'fine-tuning' (finjustering), baseret på teknikken 'quantization-aware training' introduceret af Jacob et al. (2018).

Kilder

2
  • Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference (Jacob et al., 2018)
  • TensorFlow Model Optimization Toolkit – Quantization Aware Training