Novo sistema para rodar grandes modelos de linguagem em smartphones
Um sistema inovador permite operações rápidas de LLM em smartphones, melhorando a privacidade do usuário.
― 6 min ler
Índice
- Características Principais do Sistema
- A Ascensão dos Modelos de Linguagem Grandes
- Desafios de Rodar LLMs em Smartphones
- Apresentando o Novo Sistema
- Soluções de Memória e Armazenamento
- Como o Novo Sistema Funciona
- Avaliação de Desempenho
- Desempenho em Tarefas do Mundo Real
- Conclusão
- Fonte original
- Ligações de referência
Esse artigo fala sobre um novo sistema criado pra rodar modelos de linguagem grandes (LLMs) rapidamente em smartphones. Esses modelos podem ser bem grandes, muitas vezes maiores que a memória disponível no celular. O sistema usa de forma inteligente diferentes tipos de recursos de computação que o celular tem pra lidar com as demandas do modelo.
Características Principais do Sistema
O sistema tem várias características importantes. Ele quebra cálculos complexos em partes menores, o que permite usar os recursos variados do celular de forma mais eficiente. Tem um motor especial que se adapta conforme o modelo que tá sendo usado. Além disso, ele salva dados que são usados com frequência em cache pra acelerar as operações e minimizar os atrasos de leitura da memória ou do armazenamento.
Com esse design, o sistema suporta uma ampla gama de modelos de linguagem em diferentes smartphones. Ele pode trabalhar até 29,2 vezes mais rápido que outros sistemas líderes que estão disponíveis atualmente. Curiosamente, esse é o primeiro sistema capaz de rodar um modelo chamado TurboSparse-Mixtral-47B em um smartphone, permitindo gerar texto a uma velocidade de 11,68 tokens por segundo.
A Ascensão dos Modelos de Linguagem Grandes
Modelos de linguagem grandes mudaram a forma como interagimos com a tecnologia. Esses modelos conseguem entender e gerar texto parecido com o humano, tornando-os úteis pra várias tarefas. No entanto, os modelos mais sofisticados precisam de computadores potentes em data centers, onde tem unidades de processamento gráfico (GPUs) avançadas e muita memória.
Com os smartphones ficando cada vez mais capazes, os pesquisadores estão procurando maneiras de rodar esses modelos diretamente nos celulares. Fazer isso permitiria que o celular atuasse como um assistente inteligente, usando dados pessoais sem precisar mandá-los pra nuvem, o que ajuda a proteger a privacidade do usuário.
Desafios de Rodar LLMs em Smartphones
Apesar das vantagens, os smartphones enfrentam grandes desafios pra rodar LLMs. Eles normalmente têm menos Poder de Processamento e memória comparado a computadores de alta performance. Tentativas de usar modelos menores muitas vezes levam a sacrifícios no Desempenho. Por exemplo, o modelo Gemini Nano do Google é reduzido pra caber na memória de um celular, mas não performa tão bem quanto modelos maiores.
Existem outros métodos que ajudam a diminuir as necessidades de memória e computação dos LLMs. Uma abordagem é feita pra computadores pessoais, mas tem dificuldades com o hardware limitado dos smartphones. Como o armazenamento móvel é mais lento e menos eficiente, muitas vezes se torna um gargalo quando o sistema precisa ler dados, causando atrasos no processamento.
Apresentando o Novo Sistema
O novo sistema é projetado pra rodar modelos grandes em smartphones mesmo quando eles excedem os limites de memória. Ele é construído em cima de trabalhos anteriores que focavam em usar recursos limitados de forma eficiente. Reconhecendo que nem todas as partes de um modelo grande precisam estar ativas ao mesmo tempo, o sistema consegue trabalhar só com um grupo selecionado de neurônios, que são os blocos de construção do modelo.
A capacidade do sistema de se adaptar ao hardware único dos smartphones significa que ele pode otimizar a velocidade de gerar respostas. Ele faz isso usando diferentes estratégias de processamento, dependendo do que está fazendo no momento, seja preparando pra processamento ou realmente gerando respostas.
Soluções de Memória e Armazenamento
Um dos grandes desafios é a memória limitada disponível nos smartphones. Pra lidar com isso, o sistema usa a memória de forma eficaz, cacheando dados que são usados com frequência. Ele também introduz uma técnica que permite um melhor equilíbrio entre ler dados da memória e fazer cálculos. Isso significa que ele pode minimizar o tempo gasto esperando os dados carregarem, acelerando assim o processo geral.
A forma como o sistema funciona envolve estratégias de leitura e processamento planejadas com cuidado que consideram como a memória e o armazenamento do smartphone interagem. Esse planejamento acontece automaticamente quando um novo modelo é rodado pela primeira vez em um smartphone. Analisando tanto o modelo quanto as capacidades de hardware, o sistema pode criar um planejamento detalhado que otimiza o desempenho.
Como o Novo Sistema Funciona
O novo framework lida com duas etapas principais: pré-preenchimento e decodificação. Durante a fase de pré-preenchimento, toda a entrada é processada de uma vez, enquanto a fase de decodificação gera um token de cada vez com base no anterior. Cada etapa tem suas próprias necessidades computacionais, e o sistema otimiza cada uma delas individualmente.
Na fase de pré-preenchimento, o sistema usa todas as capacidades das unidades de processamento do smartphone, e essa fase consegue gerenciar lotes maiores de dados de forma eficiente. Em contraste, a fase de decodificação foca em processar quantidades menores de dados rapidamente, o que permite aproveitar a arquitetura do smartphone de uma forma mais equilibrada.
Avaliação de Desempenho
O sistema foi testado em dois modelos de smartphone, OnePlus 12 e Ace 2, que têm diferentes capacidades de processamento. Ele suporta uma variedade de LLMs, incluindo tamanhos que vão de 7 bilhões a 47 bilhões de parâmetros. Os resultados mostram um aumento médio no desempenho, o que indica que ele pode operar de forma eficaz no hardware móvel.
Em particular, quando ambos os smartphones tinham memória suficiente, o sistema reduziu significativamente a quantidade de memória necessária enquanto ainda oferecia velocidades de inferência rápidas. Por exemplo, ao lidar com modelos menores, ele conseguiu quase uma redução de 40% no uso de memória, enquanto ainda mantinha níveis de desempenho encontrados em outros sistemas competitivos.
Desempenho em Tarefas do Mundo Real
O desempenho do sistema também foi testado em tarefas do mundo real, como diálogos de múltiplas turnos, geração de código e resolução de problemas matemáticos. Ele mostrou consistentemente velocidades de decodificação robustas nessas tarefas. Mesmo quando a memória era limitada, ele se saiu melhor que outros sistemas, provando sua eficácia em lidar com aplicações práticas.
Conclusão
Esse novo framework representa um grande avanço na capacidade de rodar modelos de linguagem grandes em smartphones. Adaptando-se às características únicas do hardware móvel e gerenciando de forma inteligente os cálculos e o armazenamento de dados, ele pode oferecer desempenho impressionante enquanto respeita as limitações do dispositivo. À medida que continua a evoluir, o sistema promete liberar capacidades ainda maiores para dispositivos pessoais em entender e gerar texto parecido com o humano, abrindo caminho pra uma experiência móvel mais inteligente e responsiva.
Título: PowerInfer-2: Fast Large Language Model Inference on a Smartphone
Resumo: Large language models (LLMs) on smartphones enable real-time AI assistance and privacy-preserving, offline operation. However, resource constraints of smartphones limit current deployments to small language models (SLMs), significantly compromising their capabilities. This paper introduces PowerInfer-2, a smartphone-based framework that enables fast inference for LLMs exceeding the memory capacity. The key insight is decomposing matrix operations into neuron clusters as the basic processing unit, which enables flexible scheduling and efficient I/O-computation pipelining. PowerInfer-2 leverages this neuron-cluster-based design in both computation and storage. For computation, neuron clusters with dense activations are processed on NPU, while sparse clusters use CPU. The storage engine provides a fine-grained pipeline mechanism that coordinates cluster-level computation and I/O operations, enhanced by a segmented neuron cache to reduce I/O activities. PowerInfer-2 achieves up to a 27.8x speed increase compared to state-of-the-art frameworks. PowerInfer-2 is the first system to serve a 47B LLM on a smartphone, achieving 11.68 tokens/s. Notably, these performance improvements preserve model quality with negligible accuracy degradation.
Autores: Zhenliang Xue, Yixin Song, Zeyu Mi, Le Chen, Yubin Xia, Haibo Chen
Última atualização: 2024-12-12 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2406.06282
Fonte PDF: https://arxiv.org/pdf/2406.06282
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.