Solución eficiente para la inferencia de modelos de lenguaje grandes (LLM) en GPU Intel
Efficient LLM inference solution on Intel GPU
December 19, 2023
Autores: Hui Wu, Yi Gan, Feng Yuan, Jing Ma, Wei Zhu, Yutao Xu, Hong Zhu, Yuhua Zhu, Xiaoli Liu, Jinghui Gu
cs.AI
Resumen
Los modelos de lenguaje de gran escala (LLMs) basados en Transformers han sido ampliamente utilizados en muchos campos, y la eficiencia de la inferencia de LLMs se ha convertido en un tema candente en aplicaciones reales. Sin embargo, los LLMs suelen estar diseñados de manera compleja en su estructura de modelo, con operaciones masivas, y realizan inferencias en modo auto-regresivo, lo que convierte en un desafío el diseño de un sistema altamente eficiente.
En este artículo, proponemos una solución eficiente para la inferencia de LLMs con baja latencia y alto rendimiento. En primer lugar, simplificamos la capa decodificadora del LLM fusionando el movimiento de datos y las operaciones elementales para reducir la frecuencia de acceso a la memoria y disminuir la latencia del sistema. También proponemos una política de caché KV segmentada para mantener las claves/valores de los tokens de solicitud y respuesta en memoria física separada, lo que permite una gestión efectiva de la memoria del dispositivo, ayudando a aumentar el tamaño del lote en tiempo de ejecución y mejorar el rendimiento del sistema. Se diseña un núcleo de atención de producto escalado (Scaled-Dot-Product-Attention) personalizado para coincidir con nuestra política de fusión basada en la solución de caché KV segmentada. Implementamos nuestra solución de inferencia de LLMs en GPU Intel y la publicamos de manera abierta. En comparación con la implementación estándar de HuggingFace, la solución propuesta logra hasta 7 veces menos latencia por token y 27 veces más rendimiento para algunos LLMs populares en 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.