FlashAttenzione
Una tecnica ampiamente utilizzata che rende il passaggio dell'attenzione di un trasformatore molto più veloce spostando meno dati sulla GPU.
L’attenzione è la parte di un trasformatore in cui ogni token guarda ogni altro token per decidere cosa conta. Fatto ingenuamente, produce una gigantesca tabella intermedia e quindi passa la maggior parte del tempo a mescolare quella tabella tra la memoria veloce e quella lenta sulla scheda grafica. FlashAttention riorganizza il calcolo in modo che la tabella non debba mai essere scritta per intero, il che significa lo stesso risultato con una frazione del traffico di memoria.
È una di quelle rare ottimizzazioni che hanno cambiato ciò che era pratico piuttosto che semplicemente ciò che era veloce: finestre di contesto più lunghe sono diventate accessibili in gran parte grazie a ciò. Le versioni successive, fino a FlashAttention-4, rappresentano la linea di base rispetto a cui viene misurato qualsiasi nuovo kernel di attenzione.