Soluzione efficiente per l'inferenza di LLM su GPU Intel
Efficient LLM inference solution on Intel GPU
December 19, 2023
Autori: Hui Wu, Yi Gan, Feng Yuan, Jing Ma, Wei Zhu, Yutao Xu, Hong Zhu, Yuhua Zhu, Xiaoli Liu, Jinghui Gu
cs.AI
Abstract
I modelli linguistici di grandi dimensioni (LLM) basati su Transformer sono stati ampiamente utilizzati in molti campi, e l'efficienza dell'inferenza degli LLM è diventata un argomento di grande interesse nelle applicazioni reali. Tuttavia, gli LLM sono solitamente progettati in modo complesso nella struttura del modello, con un numero massiccio di operazioni, e eseguono l'inferenza in modalità auto-regressiva, rendendo impegnativo progettare un sistema ad alta efficienza.
In questo articolo, proponiamo una soluzione efficiente per l'inferenza degli LLM con bassa latenza e alto throughput. In primo luogo, semplifichiamo il livello di decodifica degli LLM fondendo il movimento dei dati e le operazioni elementari per ridurre la frequenza di accesso alla memoria e abbassare la latenza del sistema. Proponiamo inoltre una politica di cache KV segmentata per mantenere le chiavi/valori dei token di richiesta e risposta in memoria fisica separata, consentendo una gestione efficace della memoria del dispositivo, aiutando ad aumentare la dimensione del batch in esecuzione e migliorare il throughput del sistema. Un kernel personalizzato per l'attenzione Scaled-Dot-Product è progettato per adattarsi alla nostra politica di fusione basata sulla soluzione di cache KV segmentata. Implementiamo la nostra soluzione di inferenza LLM su GPU Intel e la rendiamo pubblicamente disponibile. Rispetto all'implementazione standard di HuggingFace, la soluzione proposta raggiunge fino a 7 volte in meno la latenza per token e 27 volte il throughput per alcuni LLM popolari su GPU Intel.
English
Transformer based Large Language Models (LLMs) have been widely used in many
fields, and the efficiency of LLM inference becomes hot topic in real
applications. However, LLMs are usually complicatedly designed in model
structure with massive operations and perform inference in the auto-regressive
mode, making it a challenging task to design a system with high efficiency.
In this paper, we propose an efficient LLM inference solution with low
latency and high throughput. Firstly, we simplify the LLM decoder layer by
fusing data movement and element-wise operations to reduce the memory access
frequency and lower system latency. We also propose a segment KV cache policy
to keep key/value of the request and response tokens in separate physical
memory for effective device memory management, helping enlarge the runtime
batch size and improve system throughput. A customized
Scaled-Dot-Product-Attention kernel is designed to match our fusion policy
based on the segment KV cache solution. We implement our LLM inference solution
on Intel GPU and publish it publicly. Compared with the standard HuggingFace
implementation, the proposed solution achieves up to 7x lower token latency and
27x higher throughput for some popular LLMs on Intel GPU.