Transformer-Lite: Implantação Eficiente de Modelos de Linguagem de Grande Porte em GPUs de Celulares
Transformer-Lite: High-efficiency Deployment of Large Language Models on Mobile Phone GPUs
March 29, 2024
Autores: Luchang Li, Sheng Qian, Jie Lu, Lunxi Yuan, Rui Wang, Qin Xie
cs.AI
Resumo
O Modelo de Linguagem de Grande Escala (LLM) é amplamente utilizado para tarefas como assistentes inteligentes, sumarização de texto, tradução e multimodalidade em dispositivos móveis. No entanto, os métodos atuais para implantação de LLM em dispositivos mantêm uma velocidade de inferência lenta, o que resulta em uma experiência do usuário ruim. Para facilitar a implantação de LLM de alta eficiência em GPUs de dispositivos, propomos quatro técnicas de otimização: (a) uma abordagem baseada em expressão simbólica para suportar inferência de modelos com formas dinâmicas; (b) otimizações de operadores e definição de prioridade de execução para aumentar a velocidade de inferência e reduzir a lentidão do telefone; (c) um método de quantização FP4 denominado M0E4 para reduzir a sobrecarga de desquantização; (d) uma técnica baseada em sub-tensores para eliminar a necessidade de cópia do cache KV após a inferência do LLM. Além disso, implementamos esses métodos em nosso mecanismo de inferência móvel, Transformer-Lite, que é compatível com processadores Qualcomm e MTK. Avaliamos o desempenho do Transformer-Lite usando LLMs com arquiteturas e parâmetros variados, variando de 2B a 14B. Especificamente, alcançamos velocidades de preenchimento e decodificação de 121 tokens/s e 14 tokens/s para o ChatGLM2 6B, e 330 tokens/s e 30 tokens/s para o menor Gemma 2B, respectivamente. Comparado com o FastLLM baseado em CPU e o MLC-LLM baseado em GPU, nosso mecanismo atém um aumento de velocidade de mais de 10x para a velocidade de preenchimento e de 2~3x para a velocidade de decodificação.
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.