Quantizzazione per modelli più piccoli e veloci
Riduca i pesi con l'inferenza int8
Quantizzazione per modelli più piccoli e veloci è una lezione Deep Learning Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Deep Learning Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Deep Learning Academy include 4 lezioni in totale.
Pesi più piccoli, modelli più veloci
I modelli grandi sono lenti e pesanti da distribuire. La quantizzazione li riduce memorizzando i numeri con meno bit, così vengono eseguiti più velocemente e richiedono meno risorse. 📉
Float32 e Int8
Di solito i modelli memorizzano i pesi come numeri float a 32 bit. La quantizzazione li converte in interi a 8 bit, riducendo le dimensioni di circa quattro volte.
Perché Int8 è più veloce
Sulla maggior parte dell'hardware, l'aritmetica intera è meno costosa di quella in virgola mobile; perciò l'inferenza int8 usa meno banda di memoria e termina prima.
Mappare i float sugli interi
Uno scale e uno zero-point mappano ogni intervallo di float sugli interi. Consentono al modello di ricostruire un valore float approssimato durante i calcoli.
Aspettarsi una lieve perdita di accuratezza
Meno bit significano una certa perdita di precisione, quindi l'accuratezza può diminuire leggermente. Per la maggior parte dei modelli, il calo è contenuto e il guadagno di velocità lo compensa ampiamente.
Quantizzazione dinamica: un vantaggio semplice
La quantizzazione dinamica è il metodo più semplice. Quantizza i pesi in anticipo e le attivazioni al volo; è ideale per i layer lineari e RNN.
import torch
q = torch.quantization.quantize_dynamic(
model, {torch.nn.Linear}, dtype=torch.qint8)Quantizzazione statica: calibrare prima
La quantizzazione statica quantizza in anticipo anche le attivazioni. Le fornisca dati di esempio per calibrare gli intervalli e ottenere maggiore velocità sulle CPU.
Quantizzazione consapevole della quantizzazione
Per ottenere la massima accuratezza, il quantization-aware training simula int8 durante l'addestramento, così il modello impara a tollerare la minore precisione.
Misurare il guadagno in termini di dimensioni
Dopo la quantizzazione, salvi il modello e confronti le dimensioni dei file. Una versione int8 occupa in genere circa un quarto dell'originale float32. 💾
torch.save(q.state_dict(), 'model_int8.pt')Verificare sempre di nuovo l'accuratezza
Esegua il validation set sul modello quantizzato e confermi che l'accuratezza sia ancora accettabile prima di distribuirlo agli utenti reali.
La quantizzazione dà il meglio su CPU ed edge
La quantizzazione è più vantaggiosa su CPU, telefoni e dispositivi edge, dove la memoria è limitata e l'aritmetica intera è ben supportata. 📱
Controllo rapido
Desidera la quantizzazione più rapida, senza una fase di calibrazione. Quale scegliere?
Riepilogo: più leggero e veloce
Ha ridotto un modello con la quantizzazione, sostituito float32 con int8, scelto tra quantizzazione dinamica, statica o quantization-aware training e verificato nuovamente l'accuratezza. 🎉
Domande Frequenti
La lezione «Quantizzazione per modelli più piccoli e veloci» è gratuita?
Sì — il testo completo di «Quantizzazione per modelli più piccoli e veloci» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Deep Learning Academy, passa a CoddyKit PRO. Il corso Deep Learning Academy include 4 lezioni in totale.
Cosa imparerò in «Quantizzazione per modelli più piccoli e veloci»?
Riduca i pesi con l'inferenza int8 Eserciti Deep Learning Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Deep Learning Academy?
Non è richiesta alcuna esperienza precedente. Deep Learning Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Quantizzazione per modelli più piccoli e veloci»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Deep Learning Academy?
Sì. Ogni lezione Deep Learning Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- TorchScript e torch.compile
- Esportare in ONNX
- Quantizzazione per modelli più piccoli e veloci
- Servire con FastAPI