Capitolo 17. Accelerare i trasformatori
Questo lavoro è stato tradotto utilizzando l'AI. Siamo lieti di ricevere il tuo feedback e i tuoi commenti: translation-feedback@oreilly.com
Nei Capitoli 15 e 16 abbiamo costruito trasformatori di ogni tipo, dai classificatori, traduttori e chatbot, ai trasformatori di visione e multimodali. Sebbene i trasformatori siano incredibilmente versatili e potenti, non sono affatto perfetti. In particolare, possono essere molto lenti, soprattutto quando elaborano lunghe sequenze di input.
Fortunatamente, sono state sviluppate molte tecniche per velocizzare i trasformatori di qualsiasi dimensione:
-
Per accelerare la decodifica nei trasformatori generativi, utilizzeremo la cache chiave/valore e la decodifica speculativa, poi daremo una rapida occhiata a diversi approcci per parallelizzare la generazione del testo.
-
Per accelerare l'attenzione multitesta (MHA), che è uno dei componenti più costosi dal punto di vista computazionale dei trasformatori, esamineremo l'attenzione rada, l'attenzione approssimativa, la condivisione delle proiezioni e FlashAttention.
-
Per velocizzare i trasformatori giganteschi, che possono contenere fino a trilioni di parametri, parleremo della miscela di esperti (MoE).
-
Per addestrare in modo efficiente trasformatori di grandi dimensioni, parleremo della messa a punto efficiente dei parametri (PEFT) utilizzando adattatori come Low-Rank Adaptation (LoRA), checkpoint di attivazione, impacchettamento di sequenze, accumulo ...