Un team di ricercatori UC Berkeley e Stanford presenta S-LoRA un sistema di intelligenza artificiale progettato per il servizio scalabile di molti adattatori LoRA

UC Berkeley e Stanford presentano S-LoRA un sistema di intelligenza artificiale per un servizio scalabile di adattatori LoRA

Un team di ricercatori dell’UC Berkeley e di Stanford ha sviluppato un nuovo metodo di affinamento efficiente dei parametri chiamato Low-Rank Adaptation (LoRA) per il deploy di LLMs. S-LoRA è stato progettato per consentire il deploy efficiente di molti adattatori LoRA. S-LoRA consente a migliaia di adattatori di funzionare su una singola GPU o su più GPU con un overhead minimo. Il metodo introduce la paginazione unificata per ottimizzare l’utilizzo della memoria GPU, utilizzando un parallelismo tensoriale innovativo e kernel CUDA personalizzati per l’elaborazione di batch eterogenei. Queste tecniche riducono significativamente i requisiti computazionali per il deploy di LLMs in applicazioni reali.

LoRA è una tecnica di affinamento altamente efficiente per personalizzare le LLMs pre-istrainate per nuovi compiti, riducendo drammaticamente i parametri addestrabili mantenendo alta precisione. LoRA è ampiamente adottato, con la creazione di innumerevoli adattatori LoRA per LLMs e modelli di diffusione. Nelle applicazioni odierne, le LLMs sono pervasive, che si adattano a vari domini e compiti.

Le applicazioni moderne utilizzano ampiamente le LLMs e il metodo di pre-istrainamento-affinamento ha portato alla creazione di molteplici versioni affinate di una singola LLM di base, ognuna personalizzata per compiti o domini specifici. LoRA è una tecnica di affinamento efficiente dei parametri che adatta le LLMs pre-istrainate a nuovi compiti, riducendo significativamente il numero di parametri addestrabili mantenendo alta precisione.

S-LoRA sfrutta LoRA per affinare in modo efficiente un modello di base per una vasta gamma di compiti, generando una collezione sostanziale di adattatori LoRA da un singolo modello. Introduce “Unified Paging”, che ottimizza l’utilizzo della memoria GPU gestendo pesi di adattatori dinamici e tensori di cache KV all’interno di un pool di memoria unificato. S-LoRA permette di servire migliaia di adattatori LoRA con un overhead minimo. L’approccio può aumentare la capacità fino a quattro volte e aumentare significativamente il numero di adattatori supportati rispetto alle librerie leader come HuggingFace PEFT e vLLM.

S-LoRA gestisce in modo efficiente 2.000 adattatori contemporaneamente con un overhead minimo, mantenendo bassi costi computazionali. Supera vLLM-packed fino a 4 volte per alcuni adattatori e fino a 30 volte rispetto a PEFT, sostenendo un numero significativamente maggiore di adattatori. S-LoRA supera le sue varianti, S-LoRA-bmm e S-LoRA-no-unifymem, in termine di throughput e latenza, evidenziando l’efficacia del pooling di memoria e dei kernel personalizzati. La scalabilità del sistema è limitata principalmente dalla memoria principale disponibile, dimostrando una performance solida per carichi di lavoro reali. Le impressionanti capacità di S-LoRA lo rendono una soluzione potente per adattare grandi modelli di linguaggio a vari compiti.

La ricerca mira a migliorare le prestazioni attraverso l’investigazione di strade di ottimizzazione come quantizzazione, sparizione e il perfezionamento delle architetture dei modelli. Esplora l’implementazione di tecniche di calcolo decomposte sia per il modello di base che per gli adattatori, insieme allo sviluppo di kernel CUDA personalizzati per un supporto migliorato. L’attenzione si estende anche all’affrontare le caratteristiche auto-regressive e gli adattatori efficienti dei parametri all’interno del servizio LLM, cercando di identificare e colmare le lacune di ottimizzazione nei sistemi di servizio dei modelli attuali.

In conclusione, S-LoRA ha introdotto la paginazione unificata per combattere la frammentazione della memoria, portando ad un aumento delle dimensioni dei batch e migliorando la scalabilità nel servizio. Lo studio presenta una soluzione scalabile di servizio LoRA, affrontando la sfida inesplorata precedentemente del servizio di varianti affinate su scala. Il lavoro ottimizza il servizio LoRA attraverso tecniche algoritmiche come quantizzazione, sparizione e miglioramento dell’architettura del modello, complementando i miglioramenti a livello di sistema.