PowerInfer: Быстрое обслуживание больших языковых моделей с использованием GPU потребительского уровня
PowerInfer: Fast Large Language Model Serving with a Consumer-grade GPU
December 16, 2023
Авторы: Yixin Song, Zeyu Mi, Haotong Xie, Haibo Chen
cs.AI
Аннотация
В данной статье представлен PowerInfer — высокоскоростной механизм вывода (inference) для больших языковых моделей (LLM), работающий на персональном компьютере (ПК) с одной потребительской видеокартой (GPU). Основная идея, лежащая в основе разработки PowerInfer, заключается в использовании высокой локальности, присущей процессу вывода LLM, которая характеризуется степенным распределением активации нейронов. Это распределение указывает на то, что небольшое подмножество нейронов, называемых "горячими нейронами", активируется стабильно для различных входных данных, в то время как большинство нейронов, "холодные нейроны", варьируются в зависимости от конкретных входных данных. PowerInfer использует это наблюдение для создания гибридного механизма вывода, сочетающего GPU и CPU: "горячие" нейроны предварительно загружаются на GPU для быстрого доступа, а "холодные" нейроны вычисляются на CPU, что значительно снижает требования к памяти GPU и объем передаваемых данных между CPU и GPU. PowerInfer также интегрирует адаптивные предсказатели и разреженные операторы, учитывающие активность нейронов, что оптимизирует эффективность активации нейронов и вычислительную разреженность. Оценка показывает, что PowerInfer достигает средней скорости генерации токенов 13,20 токенов/с с пиком 29,08 токенов/с для различных LLM (включая OPT-175B) на одной видеокарте NVIDIA RTX 4090, что всего на 18% ниже, чем на серверной видеокарте A100 высшего класса. Это значительно превосходит llama.cpp — до 11,69 раз — при сохранении точности модели.
English
This paper introduces PowerInfer, a high-speed Large Language Model (LLM)
inference engine on a personal computer (PC) equipped with a single
consumer-grade GPU. The key underlying the design of PowerInfer is exploiting
the high locality inherent in LLM inference, characterized by a power-law
distribution in neuron activation. This distribution indicates that a small
subset of neurons, termed hot neurons, are consistently activated across
inputs, while the majority, cold neurons, vary based on specific inputs.
PowerInfer exploits such an insight to design a GPU-CPU hybrid inference
engine: hot-activated neurons are preloaded onto the GPU for fast access, while
cold-activated neurons are computed on the CPU, thus significantly reducing GPU
memory demands and CPU-GPU data transfers. PowerInfer further integrates
adaptive predictors and neuron-aware sparse operators, optimizing the
efficiency of neuron activation and computational sparsity. Evaluation shows
that PowerInfer attains an average token generation rate of 13.20 tokens/s,
with a peak of 29.08 tokens/s, across various LLMs (including OPT-175B) on a
single NVIDIA RTX 4090 GPU, only 18% lower than that achieved by a top-tier
server-grade A100 GPU. This significantly outperforms llama.cpp by up to 11.69x
while retaining model accuracy.