Wat is Post-training quantization (PTQ)?
Methode waarbij de gewichten en activaties van een getraind model worden omgezet naar een lagere precisie nadat het waardebereik met representatieve gegevens is bepaald. PTQ.
Japanse benaming: 学習後量子化
“Post-training quantization (PTQ)” komt voor in 2 oefenvragen uit 1 onderwerpen, bijv. AI-hardware en softwarestack.
Vakgebied: AI-hardware en softwarestack
Hoe post-training quantization werkt
Post-training quantization (PTQ) gaat uit van een model dat al in 32-bit floating point is getraind en beeldt elke tensor af op een klein raster van gehele getallen, meestal INT8. Elke reële waarde wordt weergegeven als een geheel getal maal een schaalfactor, soms met een zero-point-offset. Gewichten liggen na de training vast, dus hun schalen kunnen rechtstreeks uit de opgeslagen waarden worden berekend, vaak per uitgangskanaal apart om verschillen tussen filters te volgen. Er vinden geen gradiëntupdates plaats, dus PTQ is meestal binnen minuten klaar en heeft geen gelabelde trainingsdata nodig, alleen een kleine set invoer voor kalibratie.
Veelgestelde vragen
Wat is het verschil tussen post-training quantization en quantization-aware training?
Post-training quantization zet een al getraind model zonder hertraining om naar lage precisie, met alleen een kleine kalibratieset. Quantization-aware training simuleert de afronding tijdens de training zodat de gewichten zich aanpassen; dat kost een trainingsrun, maar behoudt de nauwkeurigheid beter bij zeer lage bitbreedtes zoals 4 bits.
Waarom heeft post-training quantization kalibratiedata nodig?
Gewichten zijn na de training bekend, maar activatiewaarden hangen af van de invoer, dus hun bereik moet worden waargenomen door representatieve invoer door het model te sturen. Die waargenomen bereiken bepalen de schaalfactoren waarmee activaties op het integer-raster worden afgebeeld.
Heeft post-training quantization de oorspronkelijke trainingsdataset nodig?
Er is geen volledige trainingsdataset en er zijn geen labels nodig. Een paar honderd ongelabelde invoeren die op het echte gebruik lijken, zijn normaal genoeg om de activatiebereiken te kalibreren.