kvantiseringsbevidst træning

En træningsmetode, hvor kvantiseringens effekter simuleres under træning for at opnå en model, der bevarer præcision efter kvantisering.

Kort fortalt

Kort fortalt: en teknik, der træner en model, så den kan kvantiseres uden stort præcisionstab.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    En træningsmetode, hvor kvantiseringens virkning simuleres under fremadrettet gennemløb, så modellen lærer at minimere præcisionstab forårsaget af kvantisering.

    • Kvantiseringsbevidst træning gør det muligt at anvende en Int8-kvantiseret model uden væsentligt præcisionstab.TensorFlow dokumentation
    • Ved at anvende kvantiseringsbevidst træning opnåede vi en 4x reduktion i modelstørrelsen med kun 1% fald i nøjagtighed.Forskningsartikel, 2020

Hvornår bruges det

Anvendes typisk ved deployment af deep learning-modeller på mobile eller embedded enheder, hvor kvantisering er nødvendig for at reducere hukommelse og beregningskraft. Metoden indfører falske kvantiseringsoperationer under træning, så vægte og aktiveringer lærer at kompensere for kvantiseringsfejl.

Kodeeksempel

import tensorflow_model_optimization as tfmot

quantize_model = tfmot.quantization.keras.quantize_model
model = build_model()
qat_model = quantize_model(model)
qat_model.compile(optimizer='adam', loss='sparse_categorical_crossentropy')
qat_model.fit(x_train, y_train, epochs=5)

Eksempel på kvantiseringsbevidst træning med TensorFlow Model Optimization.

Oprindelse

Sammensat af 'kvantisering' (quantization) og 'bevidst træning' (aware training).

Afledte ord

2

Kilder

1
  • Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference