Solution d'inférence efficace pour LLM sur GPU Intel
Efficient LLM inference solution on Intel GPU
December 19, 2023
Auteurs: Hui Wu, Yi Gan, Feng Yuan, Jing Ma, Wei Zhu, Yutao Xu, Hong Zhu, Yuhua Zhu, Xiaoli Liu, Jinghui Gu
cs.AI
Résumé
Les modèles de langage de grande taille (LLM) basés sur Transformer sont largement utilisés dans de nombreux domaines, et l'efficacité de l'inférence des LLM devient un sujet brûlant dans les applications réelles. Cependant, les LLM sont généralement conçus de manière complexe en termes de structure de modèle, avec un grand nombre d'opérations, et effectuent l'inférence en mode auto-régressif, ce qui rend la conception d'un système hautement efficace particulièrement difficile.
Dans cet article, nous proposons une solution d'inférence de LLM efficace, à faible latence et à haut débit. Tout d'abord, nous simplifions la couche de décodeur du LLM en fusionnant les mouvements de données et les opérations élément par élément, afin de réduire la fréquence d'accès à la mémoire et de diminuer la latence du système. Nous proposons également une politique de cache KV segmenté pour conserver les clés/valeurs des tokens de requête et de réponse dans des mémoires physiques distinctes, ce qui permet une gestion efficace de la mémoire de l'appareil, augmente la taille du lot d'exécution et améliore le débit du système. Un noyau d'attention Scaled-Dot-Product personnalisé est conçu pour correspondre à notre politique de fusion basée sur la solution de cache KV segmenté. Nous implémentons notre solution d'inférence de LLM sur un GPU Intel et la rendons publique. Par rapport à l'implémentation standard de HuggingFace, la solution proposée permet d'atteindre jusqu'à 7 fois moins de latence par token et 27 fois plus de débit pour certains LLM populaires sur un 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.