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
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
2Kilder
1- Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference