Transformer-Lite: Implementazione ad alta efficienza di modelli linguistici di grandi dimensioni su GPU di telefoni cellulari
Transformer-Lite: High-efficiency Deployment of Large Language Models on Mobile Phone GPUs
March 29, 2024
Autori: Luchang Li, Sheng Qian, Jie Lu, Lunxi Yuan, Rui Wang, Qin Xie
cs.AI
Abstract
Il Large Language Model (LLM) è ampiamente utilizzato per compiti come assistenti intelligenti, riassunto di testi, traduzione e multi-modalità sui telefoni cellulari. Tuttavia, i metodi attuali per il deployment on-device degli LLM mantengono una velocità di inferenza lenta, causando una scarsa esperienza utente. Per facilitare un deployment ad alta efficienza degli LLM sulle GPU dei dispositivi, proponiamo quattro tecniche di ottimizzazione: (a) un approccio basato su espressioni simboliche per supportare l'inferenza di modelli con forma dinamica; (b) ottimizzazioni degli operatori e impostazione della priorità di esecuzione per migliorare la velocità di inferenza e ridurre i rallentamenti del telefono; (c) un metodo di quantizzazione FP4 denominato M0E4 per ridurre l'overhead di dequantizzazione; (d) una tecnica basata su sub-tensor per eliminare la necessità di copiare la cache KV dopo l'inferenza dell'LLM. Inoltre, implementiamo questi metodi nel nostro motore di inferenza mobile, Transformer-Lite, compatibile sia con processori Qualcomm che MTK. Abbiamo valutato le prestazioni di Transformer-Lite utilizzando LLM con architetture e parametri variabili da 2B a 14B. In particolare, abbiamo raggiunto velocità di prefill e decodifica di 121 token/s e 14 token/s per ChatGLM2 6B, e rispettivamente 330 token/s e 30 token/s per il più piccolo Gemma 2B. Rispetto a FastLLM basato su CPU e MLC-LLM basato su GPU, il nostro motore ottiene un incremento di velocità superiore a 10x per la velocità di prefill e di 2~3x per la velocità di decodifica.
English
The Large Language Model (LLM) is widely employed for tasks such as
intelligent assistants, text summarization, translation, and multi-modality on
mobile phones. However, the current methods for on-device LLM deployment
maintain slow inference speed, which causes poor user experience. To facilitate
high-efficiency LLM deployment on device GPUs, we propose four optimization
techniques: (a) a symbolic expression-based approach to support dynamic shape
model inference; (b) operator optimizations and execution priority setting to
enhance inference speed and reduce phone lagging; (c) an FP4 quantization
method termed M0E4 to reduce dequantization overhead; (d) a sub-tensor-based
technique to eliminate the need for copying KV cache after LLM inference.
Furthermore, we implement these methods in our mobile inference engine,
Transformer-Lite, which is compatible with both Qualcomm and MTK processors. We
evaluated Transformer-Lite's performance using LLMs with varied architectures
and parameters ranging from 2B to 14B. Specifically, we achieved prefill and
decoding speeds of 121 token/s and 14 token/s for ChatGLM2 6B, and 330 token/s
and 30 token/s for smaller Gemma 2B, respectively. Compared with CPU-based
FastLLM and GPU-based MLC-LLM, our engine attains over 10x speedup for the
prefill speed and 2~3x speedup for the decoding speed.