PowerInfer : Service rapide de grands modèles de langage avec un GPU grand public
PowerInfer: Fast Large Language Model Serving with a Consumer-grade GPU
December 16, 2023
Auteurs: Yixin Song, Zeyu Mi, Haotong Xie, Haibo Chen
cs.AI
Résumé
Cet article présente PowerInfer, un moteur d'inférence rapide pour les grands modèles de langage (LLM) sur un ordinateur personnel (PC) équipé d'un seul GPU grand public. Le concept clé sous-jacent à la conception de PowerInfer est l'exploitation de la forte localité inhérente à l'inférence des LLM, caractérisée par une distribution en loi de puissance dans l'activation des neurones. Cette distribution indique qu'un petit sous-ensemble de neurones, appelés neurones chauds, sont activés de manière constante pour différentes entrées, tandis que la majorité, les neurones froids, varient en fonction des entrées spécifiques. PowerInfer exploite cette observation pour concevoir un moteur d'inférence hybride GPU-CPU : les neurones chauds sont préchargés sur le GPU pour un accès rapide, tandis que les neurones froids sont calculés sur le CPU, réduisant ainsi significativement les besoins en mémoire GPU et les transferts de données CPU-GPU. PowerInfer intègre en outre des prédicteurs adaptatifs et des opérateurs creux sensibles aux neurones, optimisant l'efficacité de l'activation des neurones et de la parcimonie computationnelle. Les évaluations montrent que PowerInfer atteint un taux moyen de génération de tokens de 13,20 tokens/s, avec un pic à 29,08 tokens/s, pour divers LLM (y compris OPT-175B) sur un seul GPU NVIDIA RTX 4090, soit seulement 18 % de moins que celui obtenu par un GPU serveur haut de gamme A100. Cela surpasse significativement llama.cpp jusqu'à 11,69 fois tout en conservant la précision du modèle.
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.