Os smartphones modernos enfrentam uma restrição fundamental ao executar grandes modelos de linguagem: capacidade insuficiente de DRAM para armazenar pesos completos do modelo. Essa limitação força os sistemas a distribuir os parâmetros do modelo por soluções de armazenamento externo, como UFS 4.0 presente nos processadores Snapdragon 8gen3. Compreender as características de desempenho do armazenamento móvel é crucial para otimizar a inferência de IA em dispositivos edge.
Análise de Desempenho de I/O de Armazenamento
Tamanho do Bloco e Largura de Banda de Leitura
O armazenamento móvel apresenta um padrão de desempenho contraintuitivo ligado aos tamanhos de blocos de leitura. Ao acessar dados sequencial ou aleatoriamente, blocos de leitura maiores proporcionam maior eficiência de largura de banda. Um tamanho de bloco de 512KB atinge desempenho máximo de 4 GB/s para leituras sequenciais e 3,5 GB/s para leituras aleatórias. No entanto, reduzir o tamanho do bloco para 4KB diminui drasticamente o desempenho—a largura de banda de leitura aleatória cai para apenas 450 MB/s. Isso cria uma consideração crítica de design para implementações de tabelas dispersas e estratégias de recuperação de pesos.
Efeito do Alcance de Acesso Aleatório
Curiosamente, o escopo das operações de leitura aleatória impacta significativamente o throughput. Alcances de leitura menores consistentemente superam os maiores. Ao realizar leituras aleatórias de 4KB, um alcance de 128MB alcança aproximadamente 1 GB/s, enquanto expandir para 512MB reduz a largura de banda para menos de 850 MB/s. Essa diferença de desempenho torna-se menos pronunciada com tamanhos de bloco maiores, sugerindo que os padrões de acesso a tabelas dispersas devem equilibrar cuidadosamente a otimização do alcance de leitura.
Dependências do Núcleo da CPU
O núcleo de processamento que executa os comandos de I/O influencia diretamente o desempenho do armazenamento. Núcleos de CPU de maior frequência alcançam maior throughput de I/O. Núcleos grandes operando a 3,3GHz entregam 1 GB/s para leituras aleatórias de 4KB, enquanto núcleos pequenos a 2,2GHz atingem apenas 760 MB/s. Essa diferença decorre da necessidade do driver UFS de lidar com interrupções e operações de gerenciamento de fila—frequências mais altas permitem processamento mais rápido das tarefas relacionadas a I/O.
Limitação da Arquitetura de Fila Única
Ao contrário de soluções NVMe, o armazenamento UFS móvel opera com uma única fila de comandos sem capacidades inerentes de concorrência. Utilizar múltiplos núcleos para operações de I/O na verdade deteriora o desempenho em até 40% devido à contenção na fila de comandos. Essa restrição arquitetural fundamental significa que abordagens de I/O concorrente não oferecem vantagem em dispositivos móveis.
Arquitetura de Inferência de LLM e Processamento em Duas Etapas
A inferência de modelos de linguagem funciona através de duas etapas computacionais distintas, com características de desempenho fundamentalmente diferentes, cada uma exigindo estratégias de otimização específicas.
Etapa de Pré-carregamento: Processamento do Prompt
A etapa de pré-carregamento processa todo o prompt do usuário em uma única iteração para gerar o primeiro token. Essa carga de trabalho concentrada cria demandas computacionais substanciais, tornando o tempo até o primeiro token (TTFT) o principal métrica de desempenho. Todo o prompt atua como entrada densa, processada coletivamente através das camadas transformer do modelo.
Etapa de Decodificação: Geração Sequencial
Após o pré-carregamento, a etapa de decodificação gera tokens de saída sequencialmente, de forma autoregressiva. Cada token recém-gerado serve como entrada para a próxima iteração, continuando até a conclusão da sequência ou geração do token EOS. Como cada iteração processa apenas um token, a carga computacional permanece mais leve, mas o throughput fica limitado pelo tempo entre tokens (TBT). Essa etapa representa a experiência do usuário em relação à velocidade de resposta.
Ativação Esparsa: A Oportunidade de Eficiência
Por que a Esparsidade Importa
Transformers modernos como GPT-4 e Llama-2 empregam arquiteturas apenas de decodificador com blocos repetidos: mecanismos de atenção e Redes Feed-Forward (FFN). Variantes recentes que utilizam Group Query Attention deslocam o peso computacional fortemente para os blocos FFN, que agora representam aproximadamente 80% dos parâmetros do modelo.
Os blocos FFN utilizam funções de ativação da família ReLU que criam padrões de esparsidade natural: a maioria dos neurônios ( representados como linhas e colunas em matrizes de peso) produzem contribuições mínimas de saída. Esses neurônios inativos podem ser ignorados sem afetar significativamente os resultados finais. Criar uma tabela esparsa de ativações de neurônios previstas permite uma redução substancial do processamento.
Otimização Orientada à Previsão
O status de ativação dos neurônios pode ser previsto com precisão antes do cálculo do FFN. Pesquisas anteriores, incluindo PowerInfer e DejaVu, demonstram que redes MLP leves que prevêem ativações de neurônios antes de cada bloco FFN alcançam alta precisão. Essa abordagem preditiva transforma as ativações esparsas de uma propriedade inerente em uma oportunidade de otimização explorável, reduzindo cálculos necessários e acelerando a inferência.
Desafio de Integração
A complexidade real surge ao combinar a exploração de ativações esparsas com as restrições de armazenamento móvel. Estruturas de tabelas esparsas preditivas devem alinhar-se com os padrões de I/O de armazenamento—aproveitando pequenos alcances de leitura focados dentro de janelas de 128MB para manter o limite de 1 GB/s de largura de banda, minimizando a contenção na arquitetura UFS de fila única.
Implicações Práticas para IA em Dispositivos
Sistemas eficientes de LLM móvel devem abordar simultaneamente duas dimensões de otimização: aproveitar padrões de neurônios esparsos por meio de mecanismos preditivos, enquanto respeitam as características únicas de I/O do armazenamento móvel. A interação entre padrões de computação esparsa e acessos ao armazenamento determina o desempenho no mundo real—nenhum pode ser otimizado isoladamente sem comprometer a eficiência geral do sistema.
Equipe de Pesquisa: Zhenliang Xue e Yixin Song (Co-autores principais), juntamente com Zeyu Mi, Le Chen, Yubin Xia e Haibo Chen do Instituto de Sistemas Paralelos e Distribuídos (IPADS), Universidade Jiao Tong de Xangai
Esta análise baseia-se em pesquisa acadêmica disponível sob licença CC BY 4.0, focando nas características de desempenho na leitura de pesos.
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
Gargalo de desempenho do LLM móvel: compreensão das ativações esparsas e restrições de armazenamento
O Desafio de Armazenamento nos Smartphones
Os smartphones modernos enfrentam uma restrição fundamental ao executar grandes modelos de linguagem: capacidade insuficiente de DRAM para armazenar pesos completos do modelo. Essa limitação força os sistemas a distribuir os parâmetros do modelo por soluções de armazenamento externo, como UFS 4.0 presente nos processadores Snapdragon 8gen3. Compreender as características de desempenho do armazenamento móvel é crucial para otimizar a inferência de IA em dispositivos edge.
Análise de Desempenho de I/O de Armazenamento
Tamanho do Bloco e Largura de Banda de Leitura
O armazenamento móvel apresenta um padrão de desempenho contraintuitivo ligado aos tamanhos de blocos de leitura. Ao acessar dados sequencial ou aleatoriamente, blocos de leitura maiores proporcionam maior eficiência de largura de banda. Um tamanho de bloco de 512KB atinge desempenho máximo de 4 GB/s para leituras sequenciais e 3,5 GB/s para leituras aleatórias. No entanto, reduzir o tamanho do bloco para 4KB diminui drasticamente o desempenho—a largura de banda de leitura aleatória cai para apenas 450 MB/s. Isso cria uma consideração crítica de design para implementações de tabelas dispersas e estratégias de recuperação de pesos.
Efeito do Alcance de Acesso Aleatório
Curiosamente, o escopo das operações de leitura aleatória impacta significativamente o throughput. Alcances de leitura menores consistentemente superam os maiores. Ao realizar leituras aleatórias de 4KB, um alcance de 128MB alcança aproximadamente 1 GB/s, enquanto expandir para 512MB reduz a largura de banda para menos de 850 MB/s. Essa diferença de desempenho torna-se menos pronunciada com tamanhos de bloco maiores, sugerindo que os padrões de acesso a tabelas dispersas devem equilibrar cuidadosamente a otimização do alcance de leitura.
Dependências do Núcleo da CPU
O núcleo de processamento que executa os comandos de I/O influencia diretamente o desempenho do armazenamento. Núcleos de CPU de maior frequência alcançam maior throughput de I/O. Núcleos grandes operando a 3,3GHz entregam 1 GB/s para leituras aleatórias de 4KB, enquanto núcleos pequenos a 2,2GHz atingem apenas 760 MB/s. Essa diferença decorre da necessidade do driver UFS de lidar com interrupções e operações de gerenciamento de fila—frequências mais altas permitem processamento mais rápido das tarefas relacionadas a I/O.
Limitação da Arquitetura de Fila Única
Ao contrário de soluções NVMe, o armazenamento UFS móvel opera com uma única fila de comandos sem capacidades inerentes de concorrência. Utilizar múltiplos núcleos para operações de I/O na verdade deteriora o desempenho em até 40% devido à contenção na fila de comandos. Essa restrição arquitetural fundamental significa que abordagens de I/O concorrente não oferecem vantagem em dispositivos móveis.
Arquitetura de Inferência de LLM e Processamento em Duas Etapas
A inferência de modelos de linguagem funciona através de duas etapas computacionais distintas, com características de desempenho fundamentalmente diferentes, cada uma exigindo estratégias de otimização específicas.
Etapa de Pré-carregamento: Processamento do Prompt
A etapa de pré-carregamento processa todo o prompt do usuário em uma única iteração para gerar o primeiro token. Essa carga de trabalho concentrada cria demandas computacionais substanciais, tornando o tempo até o primeiro token (TTFT) o principal métrica de desempenho. Todo o prompt atua como entrada densa, processada coletivamente através das camadas transformer do modelo.
Etapa de Decodificação: Geração Sequencial
Após o pré-carregamento, a etapa de decodificação gera tokens de saída sequencialmente, de forma autoregressiva. Cada token recém-gerado serve como entrada para a próxima iteração, continuando até a conclusão da sequência ou geração do token EOS. Como cada iteração processa apenas um token, a carga computacional permanece mais leve, mas o throughput fica limitado pelo tempo entre tokens (TBT). Essa etapa representa a experiência do usuário em relação à velocidade de resposta.
Ativação Esparsa: A Oportunidade de Eficiência
Por que a Esparsidade Importa
Transformers modernos como GPT-4 e Llama-2 empregam arquiteturas apenas de decodificador com blocos repetidos: mecanismos de atenção e Redes Feed-Forward (FFN). Variantes recentes que utilizam Group Query Attention deslocam o peso computacional fortemente para os blocos FFN, que agora representam aproximadamente 80% dos parâmetros do modelo.
Os blocos FFN utilizam funções de ativação da família ReLU que criam padrões de esparsidade natural: a maioria dos neurônios ( representados como linhas e colunas em matrizes de peso) produzem contribuições mínimas de saída. Esses neurônios inativos podem ser ignorados sem afetar significativamente os resultados finais. Criar uma tabela esparsa de ativações de neurônios previstas permite uma redução substancial do processamento.
Otimização Orientada à Previsão
O status de ativação dos neurônios pode ser previsto com precisão antes do cálculo do FFN. Pesquisas anteriores, incluindo PowerInfer e DejaVu, demonstram que redes MLP leves que prevêem ativações de neurônios antes de cada bloco FFN alcançam alta precisão. Essa abordagem preditiva transforma as ativações esparsas de uma propriedade inerente em uma oportunidade de otimização explorável, reduzindo cálculos necessários e acelerando a inferência.
Desafio de Integração
A complexidade real surge ao combinar a exploração de ativações esparsas com as restrições de armazenamento móvel. Estruturas de tabelas esparsas preditivas devem alinhar-se com os padrões de I/O de armazenamento—aproveitando pequenos alcances de leitura focados dentro de janelas de 128MB para manter o limite de 1 GB/s de largura de banda, minimizando a contenção na arquitetura UFS de fila única.
Implicações Práticas para IA em Dispositivos
Sistemas eficientes de LLM móvel devem abordar simultaneamente duas dimensões de otimização: aproveitar padrões de neurônios esparsos por meio de mecanismos preditivos, enquanto respeitam as características únicas de I/O do armazenamento móvel. A interação entre padrões de computação esparsa e acessos ao armazenamento determina o desempenho no mundo real—nenhum pode ser otimizado isoladamente sem comprometer a eficiência geral do sistema.
Equipe de Pesquisa: Zhenliang Xue e Yixin Song (Co-autores principais), juntamente com Zeyu Mi, Le Chen, Yubin Xia e Haibo Chen do Instituto de Sistemas Paralelos e Distribuídos (IPADS), Universidade Jiao Tong de Xangai
Esta análise baseia-se em pesquisa acadêmica disponível sob licença CC BY 4.0, focando nas características de desempenho na leitura de pesos.