Deep Learning Academy · leksjon

Kvantisering for mindre og raskere modeller

Gjør vektene mindre med int8-inferens

Leksjon 3 av 413 trinn

Kvantisering for mindre og raskere modeller er en gratis leksjon i Deep Learning Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Deep Learning Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Deep Learning Academy inneholder totalt 4 leksjoner.

Mindre vekter, raskere modeller

Store modeller er trege og tunge å drifte. Kvantisering gjør dem mindre ved å lagre tall med færre biter, slik at de kjører raskere og krever mindre ressurser. 📉

Float32 kontra Int8

Modeller lagrer vanligvis vekter som 32-bits flyttall. Kvantisering konverterer dem til 8-bits heltall og reduserer størrelsen omtrent fire ganger.

Hvorfor Int8 kjører raskere

Heltallsaritmetikk er billigere enn flyttallsaritmetikk på de fleste maskiner, så int8-inferens bruker mindre minnebåndbredde og blir raskere ferdig.

Fra flyttall til heltall

En skaleringsfaktor og et nullpunkt avbilder hvert flyttallsområde til heltall. De gjør det mulig for modellen å gjenopprette en tilnærmet flyttallsverdi under beregningen.

Forvent et lite tap i nøyaktighet

Færre biter betyr at noe presisjon går tapt, så nøyaktigheten kan synke litt. For de fleste modeller er nedgangen liten og vel verdt hastighetsøkningen.

Dynamisk kvantisering: Den enkle gevinsten

Dynamisk kvantisering er den enkleste veien. Den kvantiserer vektene på forhånd og aktiveringene under kjøring, og passer spesielt godt for lineære lag og RNN-lag.

import torch
q = torch.quantization.quantize_dynamic(
  model, {torch.nn.Linear}, dtype=torch.qint8)

Statisk kvantisering: Kalibrer først

Statisk kvantisering kvantiserer også aktiveringene på forhånd. De mater den med eksempeldata for å kalibrere områdene, noe som gir høyere hastighet på CPU-er.

Kvantiseringstilpasset trening

For best mulig nøyaktighet simulerer kvantiseringstilpasset trening int8 under treningen, slik at modellen lærer å tåle den lavere presisjonen.

Mål størrelsesgevinsten

Etter kvantiseringen lagrer De modellen og sammenligner filstørrelsene. En int8-versjon er vanligvis omtrent en fjerdedel av den opprinnelige float32-versjonen. 💾

torch.save(q.state_dict(), 'model_int8.pt')

Test alltid nøyaktigheten på nytt

Kjør valideringssettet på den kvantiserte modellen og bekreft at nøyaktigheten fortsatt er akseptabel før De distribuerer den til virkelige brukere.

Kvantisering gjør seg best på CPU og edge-enheter

Kvantisering gir størst gevinst på CPU-er, telefoner og edge-enheter der minnet er begrenset og heltallsaritmetikk støttes godt. 📱

Rask kontroll

De ønsker den raskeste kvantiseringen uten et kalibreringstrinn. Hva passer?

Oppsummering: Lettere og raskere

De gjorde en modell mindre med kvantisering, byttet float32 mot int8, valgte dynamisk eller statisk kvantisering eller kvantiseringstilpasset trening, og kontrollerte nøyaktigheten på nytt. 🎉

Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Kvantisering for mindre og raskere modeller» gratis?

Ja – hele teksten i «Kvantisering for mindre og raskere modeller» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Deep Learning Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Deep Learning Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Kvantisering for mindre og raskere modeller»?

Gjør vektene mindre med int8-inferens Du øver på Deep Learning Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Deep Learning Academy?

Ingen tidligere erfaring er nødvendig. Deep Learning Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Kvantisering for mindre og raskere modeller»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Deep Learning Academy-leksjonen?

Ja. Alle Deep Learning Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. TorchScript og torch.compile
  2. Eksporter til ONNX
  3. Kvantisering for mindre og raskere modeller
  4. Lever med FastAPI
← Tilbake til Deep Learning Academy