Transformer Accelerator (TFA): A Macro-Op INT8 Hardware Chip for Transformer Inference and Machine Translation
Questo articolo presenta il Transformer Accelerator (TFA), un motore hardware INT8 sintetizzabile che raggiunge un'inferenza transformer bit-exact ed end-to-end con una verifica funzionale al 100% e significativi miglioramenti progettati in termini di energia e velocità rispetto ai baseline CPU.
Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo
L'intelligenza artificiale moderna ha imparato a parlare, tradurre e ragionare utilizzando un tipo specifico di rete neurale chiamato transformer. Questi sistemi sono incredibilmente potenti, ma sono anche voraci. Per generare una singola nuova parola in una frase, un transformer deve esaminare l'intero archivio della sua memoria di fatti appresi, un processo che richiede lo spostamento di enormi quantità di dati. Per i dispositivi che funzionano a batteria, come gli smartphone o i sensori, questo costante spostamento di informazioni rappresenta un collo di bottiglia. L'energia necessaria per recuperare questi numeri dalla memoria spesso supera di gran lunga l'energia necessaria per calcolarli effettivamente. Ciò crea un problema fondamentale: come si può costruire una macchina in grado di eseguire questi complessi modelli linguistici in modo efficiente su hardware piccoli e a bassa potenza senza perdere la capacità di comprendere le sfumature?
Un ricercatore di nome Shashank ha progettato un nuovo tipo di chip hardware specificamente per risolvere questo problema. Invece di costruire un computer general-purpose che cerchi di fare tutto, questo chip è uno strumento specializzato costruito per gestire solo la matematica specifica richiesta per la traduzione linguistica. Il design, chiamato Transformer Accelerator, tratta il modello non come un programma da interpretare, ma come un flusso di istruzioni che sposta i dati direttamente dalla memoria a un motore di calcolo e viceversa. L'obiettivo era creare un dispositivo che potesse prendere un modello linguistico pre-addestrato, eseguirlo interamente su silicio e produrre risultati matematicamente identici alla versione originale ad alta precisione del computer, ma utilizzando molta meno energia.
Il cuore di questo lavoro è un chip che opera utilizzando numeri interi piuttosto che le complesse frazioni decimali tipicamente usate nell'informatica scientifica. Passando a questi numeri interi più semplici, la quantità di dati che devono essere spostati viene drasticamente ridotta. Tuttavia, questo passaggio solitamente causa una perdita di accuratezza perché le piccole differenze tra i numeri vengono arrotondate. Il ricercatore ha scoperto che il modo standard di arrotondare questi numeri falliva per questo specifico tipo di modello linguistico, rendendo la traduzione confusa. La soluzione non è stata cambiare il chip, ma cambiare il modo in cui il modello viene preparato prima di essere caricato sull'hardware. Applicando una precisa rotazione matematica ai pesi interni del modello durante la fase di preparazione, il ricercatore ha reso più fluidi i numeri difficili. Ciò ha permesso al chip semplice e a bassa potenza di produrre risultati bit per bit identici all'originale complesso, nascondendo efficacemente la difficoltà della matematica all'interno del software piuttosto che nell'hardware.
Per dimostrare che questo funzionasse, il ricercatore ha preso un modello di traduzione completo e pre-addestrato capace di trasformare l'inglese in francese, tedesco e romeno, e lo ha compilato in una serie di istruzioni per il chip. Il chip è stato poi sottoposto a una rigorosa simulazione che ha controllato ogni singolo passaggio del processo. I risultati hanno mostrato che il chip poteva eseguire l'intero processo di traduzione, inclusi i complessi meccanismi di attenzione che permettono al modello di concentrarsi sulle parole giuste, con zero errori. Quando il chip ha generato traduzioni per dieci proverbi inglesi difficili, ha corrisposto perfettamente all'output del computer originale in termini di dati sottostanti. In metà dei casi, le parole tradotte finali erano identiche al riferimento a virgola mobile; nell'altra metà, il chip ha prodotto traduzioni diverse ma ugualmente valide, come l'uso di una parola diversa per lo stesso concetto o un segno di punteggiatura differente. Ciò ha dimostrato che l'hardware non era solo veloce, ma affidabile.
I guadagni di prestazioni sono stati sostanziali. Confrontato con un processore per computer standard a ventidue thread, il design del chip è stato in grado di generare token venti volte più velocemente nella sua configurazione più piccola, anche quando operava su un sistema di memoria simulato intenzionalmente lento e difficile. I ricercatori hanno proiettato che versioni più grandi di questo chip potrebbero essere quasi duecento volte più veloci del computer di base. Più importante ancora, l'efficienza energetica è stata sbalorditiva. Si è stimato che il chip utilizzi circa tremila volte meno energia per parola generata rispetto al processore del computer. Questa efficienza deriva dalla capacità del chip di far scorrere i pesi accanto alle sue unità di calcolo alla massima velocità consentita dalla memoria, invece di attendere che il calcolo finisca prima di recuperare il pezzo di dato successivo.
Il lavoro non si è fermato alla simulazione. Per garantire che il design non fosse solo un esercizio teorico, il ricercatore ha preso la descrizione digitale del chip e l'ha elaborata attraverso un intero flusso di produzione utilizzato per creare veri chip di silicio. Questo processo ha convertito il design in un layout fisico che potesse essere stampato su un chip. Il layout risultante ha superato tutte le rigide regole richieste per la produzione, confermando che il design era fisicamente realizzabile. Sebbene la versione specifica testata sia stata costruita utilizzando una tecnologia di produzione più vecchia e grande, il layout riuscito ha provato che l'architettura è solida e potrebbe essere rimpicciolita con processi moderni e ad alta velocità. Il chip fisico, una volta costruito con componenti di memoria avanzate, si prevede sarà ancora più piccolo e veloce.
Questo progetto evidenzia un cambiamento nel modo in cui potremmo costruire il futuro dell'intelligenza artificiale. Invece di cercare di rendere i computer general-purpose più veloci, l'approccio si concentra sulla costruzione di piccoli motori specializzati che facciano una cosa alla perfezione. Separando la matematica difficile della gestione di numeri imprecisi nella fase di preparazione del software, l'hardware stesso può rimanere semplice, veloce e incredibilmente efficiente. Il successo di questo design suggerisce che possiamo eseguire sofisticati modelli linguistici "on the edge", in dispositivi che sono attualmente troppo piccoli per gestirli, senza sacrificare l'accuratezza che rende questi modelli utili. La strada da seguire prevede la scalabilità di questo design per gestire modelli più grandi e compiti linguistici più complessi, ma le fondamenta sono state gettate: un chip piccolo, verificato e producibile che può tradurre le lingue del mondo con la precisione di un supercomputer e l'efficienza di un dispositivo alimentato a batteria.
Sommerso dagli articoli nel tuo campo?
Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.