Scegliere i modelli a bassa precisione in base ai vincoli del dispositivo
Un modello a bassa precisione può ottenere buoni punteggi e tuttavia non rispettare le regole aritmetiche del dispositivo di destinazione. Inoltre, un’operazione proposta come più economica potrebbe non avere ancora un beneficio misurato sull’hardware completo.
Scegli il progetto che affronta il vincolo effettivo, poi considera il risultato di qualità nel contesto del test riportato. Questi studi esaminano strade diverse: riduzione del calcolo, rappresentazione dei pesi memorizzati e rispetto delle regole di un acceleratore fisso. I loro risultati non formano una classifica comune della velocità.
Cosa comprenderai
Quale vincolo affronta un metodo a bassa precisione: il calcolo, i pesi memorizzati o le regole di un dispositivo fisso?
Quali modello, confronto e calcolo sostengono ciascun risultato di qualità riportato?
Quali affermazioni sui costi descrivono un comportamento misurato e quali richiedono ancora un test del runtime o dell’hardware?
Partire dalle regole aritmetiche del dispositivo
Immaginiamo di adattare un classificatore di immagini a un acceleratore edge. Ridurre la precisione dei pesi può far risparmiare spazio, ma il dispositivo stabilisce anche come scalare i numeri e di quanto spostare l’uscita di ogni livello.
Una rete a bassa precisione che ignora queste regole potrebbe non riuscire a essere compilata. Per un modello linguistico, invece, il costo principale potrebbe essere il calcolo ripetuto necessario a generare testo.
In entrambi i casi si può ricorrere alla quantizzazione: rappresentare i valori del modello usando un numero minore di livelli disponibili.
Sulla famiglia MAX7800x, il classificatore di immagini deve rispettare regole aritmetiche fisse. Tra queste ci sono scale basate su potenze di due, condivise da un intero tensore, attivazioni e bias a 8 bit e inferenza basata soltanto su interi.
Il dispositivo stabilisce lo shift di ogni livello prima dell’esecuzione e non può riallineare le scale nei punti in cui si incontrano rami diversi. ShiftQAT è un flusso di addestramento pensato per rispettare queste regole; deve quindi tenere conto sia dei collegamenti della rete sia della larghezza dei suoi numeri.
Nel caso dei modelli linguistici, l’obiettivo è diverso. La quantizzazione a potenze di due frazionarie, o FPoT, modifica i livelli disponibili per i pesi memorizzati, mantenendo le attivazioni in un formato intero uniforme.
Mira a sostituire le moltiplicazioni nelle operazioni lineari del modello con shift e addizioni. Una valutazione utile deve perciò rispondere a due domande: la qualità del compito si mantiene con questa rappresentazione dei pesi? E quali prove sostengono la riduzione di calcolo proposta?
Come prosegue la lezione
Leggere la qualità nel contesto del test
Collegare ogni costo alle sue prove
Scegliere il metodo in base al vincolo