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
초록
본 논문은 단일 소비자용 GPU가 장착된 개인용 컴퓨터(PC)에서 고속으로 동작하는 대규모 언어 모델(LLM) 추론 엔진인 PowerInfer를 소개한다. PowerInfer 설계의 핵심은 LLM 추론에 내재된 높은 지역성을 활용하는 것으로, 이는 뉴런 활성화에서의 멱법칙 분포로 특징지어진다. 이러한 분포는 소수의 뉴런, 즉 핫 뉴런(hot neurons)이 입력에 관계없이 지속적으로 활성화되는 반면, 대다수의 뉴런, 즉 콜드 뉴런(cold neurons)은 특정 입력에 따라 변한다는 것을 나타낸다. PowerInfer는 이러한 통찰을 바탕으로 GPU-CPU 하이브리드 추론 엔진을 설계한다: 핫 뉴런은 빠른 접근을 위해 GPU에 미리 로드되고, 콜드 뉴런은 CPU에서 계산되어 GPU 메모리 요구량과 CPU-GPU 간 데이터 전송을 크게 줄인다. 또한 PowerInfer는 적응형 예측기와 뉴런 인지 희소 연산자를 통합하여 뉴런 활성화와 계산적 희소성의 효율성을 최적화한다. 평가 결과, PowerInfer는 단일 NVIDIA RTX 4090 GPU에서 다양한 LLM(OPT-175B 포함)에 대해 평균 13.20 토큰/s, 최대 29.08 토큰/s의 토큰 생성 속도를 달성하며, 이는 최고급 서버용 A100 GPU의 성능과 비교해 18% 낮은 수준이다. 이는 모델 정확도를 유지하면서 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.