notizia

Nuova tendenza nell'implementazione di terminali di grandi dimensioni: l'hardware supporta direttamente la moltiplicazione di matrici miste

2024-08-19

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina



La rubrica AIxiv è una rubrica in cui Machine Heart pubblica contenuti accademici e tecnici. Negli ultimi anni, la rubrica Heart of the Machine AIxiv ha ricevuto più di 2.000 segnalazioni, riguardanti i migliori laboratori delle principali università e aziende di tutto il mondo, promuovendo efficacemente gli scambi accademici e la divulgazione. Se hai un lavoro eccellente che desideri condividere, non esitare a contribuire o contattarci per segnalarlo. E-mail di presentazione: [email protected] [email protected];

Nel campo dell’intelligenza artificiale, un aumento dei parametri del modello significa spesso un miglioramento delle prestazioni. Tuttavia, con l’espansione della scala del modello, aumentano anche la potenza di calcolo e i requisiti di memoria del dispositivo terminale. La tecnologia di quantizzazione a bit basso è diventata una delle tecnologie chiave per consentire l'esecuzione efficiente di modelli di grandi dimensioni su dispositivi con risorse limitate perché può ridurre significativamente i costi di archiviazione ed elaborazione e migliorare l'efficienza dell'inferenza. Tuttavia, se il dispositivo hardware non supporta la modalità dati quantizzati a bit basso, i vantaggi della quantizzazione a bit basso non verranno realizzati.

Per risolvere questo problema, Microsoft Research Asia ha lanciato un nuovo compilatore di dati Ladder e algoritmo T-MAC, che consente all'hardware che attualmente supporta solo calcoli di precisione simmetrica di eseguire direttamente la moltiplicazione di matrici a precisione mista. I risultati dei test mostrano che Ladder può raggiungere una velocità massima di 14,6 volte nel supportare tipi di dati personalizzati che la GPU non supporta originariamente; T-MAC consente alle applicazioni AI su larga scala in esecuzione sulla CPU di funzionare sul PC Surface AI dotato della versione più recente Il chipset Qualcomm Snapdragon X Elite. Il throughput del modello è due volte più veloce dell'acceleratore dedicato NPU. Inoltre, i ricercatori hanno anche progettato l’architettura hardware LUT Tensor Core. Questo design semplificato consente all’hardware di supportare direttamente vari calcoli a precisione mista a basso bit, fornendo nuove idee per la progettazione hardware di intelligenza artificiale.

I modelli di grandi dimensioni sono stati sempre più implementati su dispositivi end-side come smartphone, laptop e robot per fornire intelligence avanzata e servizi di risposta in tempo reale. Tuttavia, i modelli di grandi dimensioni contenenti centinaia di milioni di parametri impongono requisiti estremamente elevati alla memoria e alla potenza di calcolo dei dispositivi terminali, limitando così la loro ampia applicazione. La tecnologia di quantizzazione a bit basso può comprimere in modo significativo le dimensioni del modello e ridurre la richiesta di risorse di elaborazione. È diventata un mezzo efficace per distribuire modelli di grandi dimensioni sul lato del dispositivo e ottenere un'inferenza efficiente.

Con lo sviluppo della tecnologia di quantizzazione a bit basso, i tipi di dati sono sempre più diversificati, come int4, int2, int1 e altri dati a bit basso, facendo sì che i modelli di grandi dimensioni utilizzino sempre più la moltiplicazione matriciale a precisione mista di peso a bit basso e peso a bit alto calcoli in inferenza (moltiplicazione di matrici a precisione mista, mpGEMM). Tuttavia, le unità di calcolo hardware esistenti come CPU e GPU di solito supportano solo modalità di calcolo simmetriche e non sono compatibili con questa moltiplicazione di matrici a precisione mista.

In che modo la moltiplicazione di matrici a precisione mista differisce dalla moltiplicazione di matrici tradizionale?

Nella tradizionale moltiplicazione di matrici, i valori ad entrambe le estremità coinvolte nell'operazione sono simmetrici, come FP16*FP16, int8*int8. Ma la quantizzazione a bit basso di modelli di grandi dimensioni rompe questa simmetria, rendendo un'estremità della moltiplicazione a bit alto e l'altra estremità a bit basso, come int8*int1 o int8*int2 implementati nel modello BitNet a 1 bit e virgola mobile numeri. Moltiplicazione mista con numeri interi FP16*int4.

Per sfruttare appieno i vantaggi della quantizzazione a basso bit, consentire ai dispositivi hardware di supportare direttamente la moltiplicazione di matrici a precisione mista e garantire un funzionamento efficace ed ad alta velocità di modelli di grandi dimensioni su dispositivi end-side, i ricercatori di Microsoft Research Asia si sono concentrati sugli operatori di elaborazione CPU e GPU esistenti e sull'innovazione dell'architettura hardware:

  • Lanciato il compilatore di tipi di dati Ladder, che supporta l'espressione e la conversione reciproca di vari tipi di dati a bassa precisione e converte senza perdita di dati i tipi di dati non supportati dall'hardware in istruzioni di tipi di dati supportati dall'hardware. Nella modalità di elaborazione tradizionale, l'hardware può farlo supportare il calcolo di precisione mista. DNN (rete neurale profonda);
  • Sviluppato un nuovo algoritmo T-MAC, basato sul metodo della tabella di ricerca (LUT), per ottenere il supporto hardware diretto per la moltiplicazione di matrici a precisione mista. A livello software, i calcoli sulla CPU hanno ottenuto risultati migliori rispetto alle modalità di calcolo tradizionali accelerate.
  • Viene proposta una nuova architettura hardware, LUT Tensor Core, che apre nuove idee per la prossima generazione di progettazione hardware di intelligenza artificiale.

Ladder: conversione senza perdite di tipi di dati personalizzati in tipi di dati supportati dall'hardware

Attualmente, acceleratori all’avanguardia stanno integrando le operazioni di unità di calcolo a bit inferiore, come FP32, FP16 e persino FP8, in architetture di nuova generazione. Tuttavia, limitato dall'area del chip e dall'elevato costo dell'hardware, ciascun acceleratore può fornire solo tipi limitati di unità di calcolo per tipi di dati standard. Ad esempio, la GPU NVIDIA V100 TENSOR CORE supporta solo FP16, mentre l'A100 ha aggiunto il supporto per int2, int4. , supporto int8, ma non copre i formati di dati più recenti come FP8 o OCP-MXFP. Inoltre, esiste un divario tra la rapida iterazione dei modelli di grandi dimensioni e il ritmo lento degli aggiornamenti hardware, con il risultato che molti nuovi tipi di dati non sono supportati dall'hardware, il che a sua volta influisce sull'accelerazione e sul funzionamento dei modelli di grandi dimensioni.

I ricercatori di Microsoft Research Asia hanno scoperto che, sebbene l’acceleratore hardware sia privo di istruzioni di calcolo per tipi di dati personalizzati, il suo sistema di memoria può convertirli in blocchi di dati opachi a larghezza fissa per archiviare tipi di dati arbitrari. Allo stesso tempo, la maggior parte dei tipi di dati personalizzati può essere convertita senza perdite in tipi di dati standard a bit più elevato supportati dalle unità di calcolo hardware esistenti. Ad esempio, i tensori NF4 possono essere convertiti in FP16 o FP32 per eseguire operazioni in virgola mobile.

Sulla base di questi risultati, i ricercatori hanno proposto aUn metodo per supportare tutti i tipi di dati personalizzati separando l'archiviazione dei dati e il calcolo e sviluppato il compilatore di dati Ladder per colmare il divario tra i tipi di dati personalizzati emergenti e i formati di precisione intrinseci supportati dall'hardware attuale.

Ladder definisce un sistema di tipi di dati, comprese le astrazioni per la conversione senza perdite tra tipi di dati. Può rappresentare vari tipi di dati supportati da algoritmi e hardware e definisce regole di conversione tra tipi di dati. Quando si ha a che fare con applicazioni di algoritmi a basso bit, Ladder traduce i dati a basso bit nel formato di esecuzione più efficiente sull'hardware attuale attraverso una serie di ottimizzazioni, inclusa l'ottimizzazione del calcolo e dell'archiviazione, mappando l'algoritmo in base alle istruzioni di calcolo corrispondenti e i dati in diversi formati sono immagazzinati in diversi livelli di unità di stoccaggio per ottenere operazioni più efficienti.



Figura 1: architettura del sistema ladder

La valutazione delle prestazioni dell'inferenza DNN in esecuzione su GPU NVIDIA A100, NVIDIA V100, NVIDIA RTX A6000, NVIDIA RTX 4090 e AMD Instinct MI250 mostra che Ladder supera i compilatori DNN all'avanguardia esistenti nel supporto nativo dei tipi di dati e nel supporto delle GPU bene sui tipi di dati personalizzati che non erano originariamente supportati, con una velocità massima fino a 14,6 volte.

Ladder è il primo sistema a supportare sistematicamente la rappresentazione di dati con precisione a basso bit in tipi di dati personalizzati durante l'esecuzione di DNN su moderni acceleratori hardware.Ciò fornisce ai ricercatori di modelli un metodo di ottimizzazione del tipo di dati più flessibile e consente inoltre agli sviluppatori di architetture hardware di supportare una gamma più ampia di tipi di dati senza modificare l'hardware.

T-MAC: calcolo universale della moltiplicazione di matrici a precisione mista a basso bit senza moltiplicazione

Per consentire ai dispositivi hardware esistenti di supportare diverse modalità dati e moltiplicazione di matrici a precisione mista, quando si distribuiscono modelli di grandi dimensioni sul lato finale, un approccio comune consiste nel quantizzare in modo inverso il modello a bit basso. Tuttavia, ci sono due problemi principali con questo approccio: in primo luogo, dal punto di vista delle prestazioni, il sovraccarico di conversione nel processo di dequantizzazione può compensare il miglioramento delle prestazioni apportato dalla quantizzazione a bit basso; in secondo luogo, dal punto di vista dello sviluppo, gli sviluppatori devono puntare a soluzioni diverse layout dei dati e kernel di calcolo per precisione mista. I ricercatori di Microsoft Research Asia ritengono che la chiave per implementare modelli di grandi dimensioni quantizzati a basso bit sui dispositivi risieda nel modo di superare l'implementazione della tradizionale moltiplicazione di matrici basata su caratteristiche a basso bit.

A tal fine, i ricercatori hanno proposto a livello di sistema e algoritmoT-MAC, un metodo basato sulla tabella di ricerca (LUT, Look-Up Table), aiuta i modelli di grandi dimensioni con quantizzazione a basso bit a ottenere un'inferenza efficiente sulla CPU.L'idea centrale di T-MAC è quella di sfruttare la caratteristica secondo cui un'estremità della moltiplicazione di matrici a precisione mista è costituita da bit molto bassi (come 1 bit o 2 bit). I loro risultati di output sono possibili solo 2 alla potenza 1 e 2 alla potenza 2. Questi risultati di output più piccoli possono essere calcolati in anticipo e memorizzati nella tabella. Durante l'operazione, i risultati devono solo essere letti dalla tabella, evitando il la necessità di calcoli ripetuti riduce notevolmente il numero di operazioni di moltiplicazione e addizione.

Nello specifico,T-MAC trasforma la tradizionale moltiplicazione incentrata sul tipo di dati in operazioni di tabelle di ricerca basate su bit, consentendo una soluzione di moltiplicazione di matrici a precisione mista unificata e scalabile che riduce le dimensioni della tabella e mantiene al minimo il costo dell'accesso casuale in unità di memoria veloci i tavoli sono ridotti.Questa innovazione apre la strada all’implementazione di modelli di grandi dimensioni quantizzati a basso bit su dispositivi edge con risorse limitate.



Figura 2: diagramma schematico del T-MAC

Nei test contro Llama quantizzato a basso bit e modelli di linguaggio BitNet di grandi dimensioni a 1 bit, T-MAC ha dimostrato significativi vantaggi in termini di prestazioni. Su Surface Laptop 7 equipaggiato con l'ultimo Qualcomm Snapdragon, la velocità di generazione del modello Llama a 4 bit 7B può raggiungere i 20 token al secondo, che sono molto più veloci della velocità media di lettura umana. Rispetto al framework originale Llama.cpp, è da 4 a 5 volte più veloce e addirittura due volte più veloce dell'acceleratore NPU dedicato.

Anche su dispositivi con prestazioni inferiori come Raspberry Pi 5, T-MAC consente al modello 3B BitNet-b1.58 di raggiungere una velocità di generazione di 11 token al secondo. T-MAC presenta anche notevoli vantaggi in termini di potenza, raggiungendo le stesse velocità di generazione su dispositivi con risorse limitate e richiedendo solo da 1/4 a 1/6 del numero di core del Llama.cpp originale.

Questi risultati mostrano che T-MAC fornisce una soluzione pratica che rende più efficiente la distribuzione di modelli linguistici di grandi dimensioni su dispositivi edge utilizzando CPU generiche senza fare affidamento sulle GPU, consentendo in tal modo di distribuire modelli di grandi dimensioni su dispositivi con risorse limitate promuovere l’applicazione di modelli di grandi dimensioni in una gamma più ampia di scenari.

LUT Tensor Core: guida acceleratori hardware di prossima generazione con supporto nativo per la moltiplicazione di matrici a precisione mista

Sia T-MAC che Ladder implementano il supporto ottimizzato per la moltiplicazione di matrici a precisione mista su architetture CPU e GPU esistenti. Sebbene queste innovazioni a livello software abbiano migliorato significativamente l’efficienza computazionale, non sono ancora efficienti quanto gli acceleratori hardware in grado di implementare direttamente una tabella di ricerca specializzata. I ricercatori ritengono che l'approccio ideale sia riprogettare gli acceleratori hardware in modo che CPU, GPU, ecc. possano supportare in modo nativo la moltiplicazione di matrici a precisione mista. Tuttavia, questo obiettivo deve affrontare tre sfide principali:

  • Efficienza: la progettazione e l'implementazione devono essere economicamente vantaggiose, massimizzando l'efficienza computazionale dei dati a basso bit ottimizzando l'area di utilizzo del chip.
  • Flessibilità: poiché modelli e scenari diversi richiedono pesi e precisezze di attivazione diversi, il progetto di moltiplicazione della matrice a precisione mista nell'hardware deve essere in grado di gestire varie precisezze di peso (come int4/2/1) e precise di attivazione (come FP16/8, int8) e le loro combinazioni.
  • Compatibilità: i nuovi progetti devono integrarsi perfettamente con l'architettura GPU esistente e gli ecosistemi software per accelerare l'adozione di nuove tecnologie.

Per affrontare queste sfide, i ricercatori di Microsoft Research Asia hanno progettatoLUT Tensor Core, una microarchitettura GPU Tensor Core che utilizza tabelle di ricerca per eseguire direttamente la moltiplicazione di matrici a precisione mista.Da un lato, la progettazione basata sulla tabella di ricerca semplifica l'operazione di moltiplicazione in un'operazione di precalcolo della tabella e i risultati possono essere ricercati direttamente nella tabella per migliorare l'efficienza del calcolo. D'altra parte, questo approccio semplifica anche i requisiti hardware: richiede solo registri per l'archiviazione delle tabelle e multiplexer per le ricerche, senza la necessità di moltiplicatori e sommatori. Allo stesso tempo, LUT Tensor Core raggiunge flessibilità nell'accuratezza del peso attraverso la progettazione bit-seriale e utilizza la quantizzazione della tabella per ottenere flessibilità nell'accuratezza dell'attivazione.

Inoltre, per integrarsi con la microarchitettura della GPU e lo stack software esistenti, i ricercatori hanno ampliato il set di istruzioni MMA esistente nella GPU, hanno aggiunto una serie di istruzioni LMMA e hanno progettato uno stack software simile a cuBLAS per l'integrazione nelle GPU esistenti alcuni framework DNN. I ricercatori hanno anche progettato un compilatore per la pianificazione dell'esecuzione end-to-end su GPU con LUT Tensor Core. Questi approcci innovativi consentono l'adozione rapida e senza soluzione di continuità dei tensor core LUT.



Figura 3: Panoramica della microarchitettura LUT Tensor Core

I test sui modelli Llama e BitNet mostrano che LUT Tensor Core può fornire fino a 6,93 volte la velocità di inferenza e rappresenta solo il 38,7% dell'area del tradizionale Tensor Core. Con quasi la stessa precisione del modello, ciò equivale a 20,7 volte la densità di calcolo e 19,1 volte al miglioramento dell’efficienza energetica. Poiché la portata e la complessità dei grandi modelli di intelligenza artificiale continuano a crescere, LUT Tensor Core aiuta a liberare ulteriormente il potenziale dei modelli linguistici di grandi dimensioni a basso bit e a promuovere l’applicazione dell’intelligenza artificiale in nuovi scenari.

"Il metodo della look-up table ha portato a un cambiamento nel paradigma informatico. In passato, ci affidavamo a operazioni di moltiplicazione e accumulazione di matrici, ma nell'era dei modelli di grandi dimensioni, grazie alla tecnologia di quantizzazione a basso bit, il metodo della look-up table Il metodo diventerà mainstream. Rispetto alla tradizionale aritmetica in virgola mobile o alla moltiplicazione di matrici, il metodo della tabella di ricerca è più leggero ed efficiente nel calcolo ed è più facile da espandere a livello hardware. Può raggiungere una maggiore densità di transistor e fornire una maggiore produttività per unità chip, promuovendo così lo sviluppo dell'innovazione dell'architettura hardware", ha affermato Cao Ting, capo ricercatore presso Microsoft Research Asia.

L’effetto coda lunga della quantizzazione a bit basso: offrire nuove possibilità all’intelligenza incarnata

La tecnologia di quantizzazione a bit basso non solo ottimizza l'efficienza di funzionamento di modelli di grandi dimensioni sui dispositivi end-side, ma fornisce anche nuovo spazio per l'espansione dei parametri del modello (Scale up) riducendo il "volume" di un singolo parametro. Questa capacità di espansione dei parametri conferisce al modello maggiore flessibilità e capacità espressive. Come mostrato dal modello BitNet, inizia da un modello a bit basso e si espande gradualmente fino a un addestramento su scala più ampia.

Le tecnologie innovative di Microsoft Research Asia come T-MAC, Ladder e LUT Tensor Core forniscono soluzioni operative ad alte prestazioni per vari modelli di grandi dimensioni quantizzati a basso bit, consentendo a questi modelli di funzionare in modo efficiente su vari dispositivi e promuovendo la ricerca scientifica. Progettare e ottimizzare modelli di grandi dimensioni da una prospettiva di basso livello. Alcune di queste tecnologie stanno già svolgendo un ruolo in modelli di ricerca di grandi dimensioni come la ricerca Bing di Microsoft e la sua attività pubblicitaria.Con la riduzione della memoria e delle risorse di calcolo, diventerà anche possibile implementare grandi modelli a basso bit su sistemi intelligenti incorporati come i robot, consentendo a questi dispositivi di ottenere meglio la percezione dinamica e l’interazione in tempo reale con l’ambiente.

Attualmente, T-MAC e Ladder sono disponibili in open source su GitHub. Gli sviluppatori interessati sono invitati a testare le applicazioni ed esplorare ulteriori possibilità della tecnologia di intelligenza artificiale con Microsoft Research Asia.

  • Link al ladder paper: https://www.usenix.org/conference/osdi24/presentation/wang-lei
  • Collegamento BitBLAS/Ladder GitHub: https://github.com/microsoft/BitBLAS
  • Link al documento T-MAC: https://arxiv.org/abs/2407.00088
  • Collegamento GitHub di T-MAC: https://github.com/microsoft/T-MAC
  • Link al documento LUT Tensor Core: https://arxiv.org/abs/2408.06003
  • Link al documento BitDistiller: https://arxiv.org/abs/2402.10631
  • Collegamento GitHub di BitDistiller: https://github.com/DD-DuDa/BitDistiller