LLM в мгновение: Эффективный вывод больших языковых моделей при ограниченной памяти
LLM in a flash: Efficient Large Language Model Inference with Limited Memory
December 12, 2023
Авторы: Keivan Alizadeh, Iman Mirzadeh, Dmitry Belenko, Karen Khatamifard, Minsik Cho, Carlo C Del Mundo, Mohammad Rastegari, Mehrdad Farajtabar
cs.AI
Аннотация
Крупные языковые модели (LLM) играют ключевую роль в современной обработке естественного языка, демонстрируя выдающиеся результаты в различных задачах. Однако их высокие вычислительные и ресурсные требования, особенно к объему оперативной памяти (DRAM), создают значительные трудности, особенно для устройств с ограниченной емкостью DRAM. В данной работе рассматривается задача эффективного выполнения LLM, размер которых превышает доступный объем DRAM, путем хранения параметров модели на флэш-памяти с их подгрузкой в DRAM по мере необходимости. Наш метод включает создание модели затрат на вывод, которая учитывает особенности работы флэш-памяти, что позволяет оптимизировать два ключевых аспекта: уменьшение объема данных, передаваемых с флэш-памяти, и чтение данных более крупными и последовательными блоками. В рамках этого подхода, учитывающего особенности флэш-памяти, мы представляем две основные техники. Во-первых, "оконный метод" стратегически сокращает объем передаваемых данных за счет повторного использования ранее активированных нейронов, а во-вторых, "группировка строк и столбцов", адаптированная к последовательному доступу к данным на флэш-памяти, увеличивает размер блоков данных, считываемых с флэш-памяти. Эти методы в совокупности позволяют выполнять модели, размер которых вдвое превышает доступный объем DRAM, с увеличением скорости вывода в 4-5 раз на CPU и 20-25 раз на GPU по сравнению с наивными подходами к загрузке. Наша интеграция учета разреженности, контекстно-адаптивной загрузки и аппаратно-ориентированного дизайна открывает путь для эффективного выполнения LLM на устройствах с ограниченной памятью.
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.