Ottimizzazione delle Prestazioni di Inferenza per Modelli Linguistici di Grandi Dimensioni su CPU
Inference Performance Optimization for Large Language Models on CPUs
July 10, 2024
Autori: Pujiang He, Shan Zhou, Wenhuan Huang, Changqing Li, Duyi Wang, Bin Guo, Chen Meng, Sheng Gui, Weifei Yu, Yi Xie
cs.AI
Abstract
I modelli linguistici di grandi dimensioni (LLMs) hanno dimostrato prestazioni eccezionali e un vasto potenziale in una varietà di compiti. Tuttavia, il dispiegamento di LLMs ad alte prestazioni in ambienti con risorse limitate ha attirato una significativa attenzione nel settore. Quando le risorse hardware delle GPU sono limitate, possiamo esplorare opzioni alternative sulle CPU. Per mitigare il peso finanziario e alleviare i vincoli imposti dalle risorse hardware, è necessario ottimizzare le prestazioni di inferenza. In questo articolo, introduciamo una soluzione di ottimizzazione delle prestazioni di inferenza facilmente implementabile, mirata ad accelerare gli LLMs sulle CPU. In questa soluzione, implementiamo un metodo efficace per ridurre la dimensione della cache KV mantenendo la precisione. Proponiamo un approccio di ottimizzazione dell'inferenza distribuita e lo implementiamo basandoci sulla oneAPI Collective Communications Library. Inoltre, proponiamo approcci di ottimizzazione per gli LLMs su CPU e conduciamo ottimizzazioni personalizzate per i modelli più comunemente utilizzati. Il codice è open-source su https://github.com/intel/xFasterTransformer.
English
Large language models (LLMs) have shown exceptional performance and vast
potential across diverse tasks. However, the deployment of LLMs with high
performance in low-resource environments has garnered significant attention in
the industry. When GPU hardware resources are limited, we can explore
alternative options on CPUs. To mitigate the financial burden and alleviate
constraints imposed by hardware resources, optimizing inference performance is
necessary. In this paper, we introduce an easily deployable inference
performance optimization solution aimed at accelerating LLMs on CPUs. In this
solution, we implement an effective way to reduce the KV cache size while
ensuring precision. We propose a distributed inference optimization approach
and implement it based on oneAPI Collective Communications Library.
Furthermore, we propose optimization approaches for LLMs on CPU, and conduct
tailored optimizations for the most commonly used models. The code is
open-sourced at https://github.com/intel/xFasterTransformer.