Эффективное решение для вывода больших языковых моделей на GPU Intel
Efficient LLM inference solution on Intel GPU
December 19, 2023
Авторы: Hui Wu, Yi Gan, Feng Yuan, Jing Ma, Wei Zhu, Yutao Xu, Hong Zhu, Yuhua Zhu, Xiaoli Liu, Jinghui Gu
cs.AI
Аннотация
Трансформерные модели больших языковых моделей (LLM) широко используются во многих областях, и эффективность вывода LLM становится актуальной темой в реальных приложениях. Однако LLM обычно имеют сложную архитектуру с огромным количеством операций и выполняют вывод в авторегрессивном режиме, что делает задачу проектирования высокоэффективной системы весьма сложной.
В данной статье мы предлагаем эффективное решение для вывода LLM с низкой задержкой и высокой пропускной способностью. Во-первых, мы упрощаем декодерный слой LLM, объединяя перемещение данных и поэлементные операции, чтобы снизить частоту доступа к памяти и уменьшить задержку системы. Мы также предлагаем политику сегментированного кэширования ключей и значений (KV), которая разделяет ключи и значения токенов запроса и ответа в отдельные области физической памяти для эффективного управления памятью устройства, что помогает увеличить размер пакета во время выполнения и повысить пропускную способность системы. Специальное ядро Scaled-Dot-Product-Attention разработано для соответствия нашей политике объединения на основе решения с сегментированным кэшем KV. Мы реализуем наше решение для вывода LLM на GPU Intel и публикуем его в открытом доступе. По сравнению со стандартной реализацией HuggingFace, предложенное решение демонстрирует до 7-кратного снижения задержки на токен и 27-кратного увеличения пропускной способности для некоторых популярных LLM на 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.