LLM in un lampo: Inferenza Efficiente di Modelli Linguistici di Grandi Dimensioni con Memoria Limitata
LLM in a flash: Efficient Large Language Model Inference with Limited Memory
December 12, 2023
Autori: Keivan Alizadeh, Iman Mirzadeh, Dmitry Belenko, Karen Khatamifard, Minsik Cho, Carlo C Del Mundo, Mohammad Rastegari, Mehrdad Farajtabar
cs.AI
Abstract
I grandi modelli linguistici (LLM) sono centrali nel moderno elaborazione del linguaggio naturale, offrendo prestazioni eccezionali in vari compiti. Tuttavia, i loro intensivi requisiti computazionali e di memoria presentano sfide, specialmente per dispositivi con capacità DRAM limitata. Questo articolo affronta la sfida di eseguire in modo efficiente LLM che superano la capacità DRAM disponibile, memorizzando i parametri del modello su memoria flash e portandoli su richiesta nella DRAM. Il nostro metodo prevede la costruzione di un modello di costo di inferenza che si armonizza con il comportamento della memoria flash, guidandoci a ottimizzare in due aree critiche: ridurre il volume di dati trasferiti dalla flash e leggere i dati in blocchi più grandi e contigui. All'interno di questo framework informato dalla memoria flash, introduciamo due tecniche principali. Innanzitutto, il "windowing" riduce strategicamente il trasferimento dei dati riutilizzando i neuroni precedentemente attivati, e in secondo luogo, il "row-column bundling", adattato ai punti di forza dell'accesso sequenziale ai dati della memoria flash, aumenta la dimensione dei blocchi di dati letti dalla memoria flash. Questi metodi consentono collettivamente di eseguire modelli fino al doppio della dimensione della DRAM disponibile, con un aumento della velocità di inferenza di 4-5x e 20-25x rispetto agli approcci di caricamento naive su CPU e GPU, rispettivamente. La nostra integrazione della consapevolezza della sparsità, del caricamento adattivo al contesto e di un design orientato all'hardware apre la strada a un'inferenza efficace di LLM su dispositivi con memoria limitata.
English
Large language models (LLMs) are central to modern natural language
processing, delivering exceptional performance in various tasks. However, their
intensive computational and memory requirements present challenges, especially
for devices with limited DRAM capacity. This paper tackles the challenge of
efficiently running LLMs that exceed the available DRAM capacity by storing the
model parameters on flash memory but bringing them on demand to DRAM. Our
method involves constructing an inference cost model that harmonizes with the
flash memory behavior, guiding us to optimize in two critical areas: reducing
the volume of data transferred from flash and reading data in larger, more
contiguous chunks. Within this flash memory-informed framework, we introduce
two principal techniques. First, "windowing'" strategically reduces data
transfer by reusing previously activated neurons, and second, "row-column
bundling", tailored to the sequential data access strengths of flash memory,
increases the size of data chunks read from flash memory. These methods
collectively enable running models up to twice the size of the available DRAM,
with a 4-5x and 20-25x increase in inference speed compared to naive loading
approaches in CPU and GPU, respectively. Our integration of sparsity awareness,
context-adaptive loading, and a hardware-oriented design paves the way for
effective inference of LLMs on devices with limited memory.