Como o E2LLM implanta grandes modelos de linguagem em dispositivos Edge/Fog heterogêneos

13 setembro 20260 visualizações

O framework agrupa nós fracos em réplicas e distribui de forma diferente as fases de processamento de tokens para usar eficientemente recursos limitados. Em testes, essa abordagem reduziu quase pela metade o tempo médio de resposta em comparação com o esquema conhecido Splitwise.

Como o E2LLM implanta grandes modelos de linguagem em dispositivos Edge/Fog heterogêneos

Para inferência de LLM perto do usuário, raramente há servidores "pesados" prontos. Normalmente, é uma mistura de dispositivos Edge, gateways e nós fog com diferentes quantidades de memória e poder computacional. Implantar o modelo como se ele sempre coubesse em um único dispositivo é ignorar a realidade: ou o modelo não cabe, ou opera com latências inaceitáveis, ou deixa recursos caros ociosos. O framework E2LLM oferece um caminho mais pragmático para isso.

Por que o cenário clássico não funciona

Abordagens tradicionais para servir LLMs geralmente partem do princípio de que todo o modelo vive em uma única máquina. Na nuvem, isso geralmente funciona, mas em ambientes Edge/Fog, os nós são mais fracos e heterogêneos. Alguns dispositivos podem ter memória suficiente para os pesos, mas não suportar o processamento; outros são rápidos, mas com capacidade limitada. Se você tentar simplesmente "espalhar" o modelo por todos os dispositivos disponíveis, começam os problemas com coordenação, comunicação e utilização.

Na prática, três coisas são necessárias simultaneamente:

  • latência baixa e previsível,
  • uso eficiente de recursos,
  • custo razoável de implantação.

Elas entram em conflito entre si, então é necessário um compromisso, não uma otimização unilateral. O E2LLM é construído em torno desse compromisso.

Réplicas e papéis: como o E2LLM contorna as limitações

A ideia-chave do E2LLM não é dividir um único modelo entre todos os nós, mas agrupar dispositivos em réplicas. Dentro de cada réplica, uma cópia completa do modelo é armazenada e, em seguida, distribuída entre os membros do grupo usando paralelismo de modelo. Parece um desperdício de memória, mas, na prática, essa duplicação aumenta a tolerância a falhas e permite atender a várias solicitações em paralelo.

Em seguida, entra em jogo o conhecimento sobre o funcionamento da inferência de LLM. Ela tem duas fases com perfis de carga diferentes: prefill, quando o modelo processa ativamente os tokens de entrada e constrói o cache de atenção, e decode, quando gera os tokens de saída. Essas fases exigem recursos diferentes: o prefill é sensível ao pico de poder computacional, o decode é sensível à largura de banda da memória e à latência da transferência de dados.

Em vez de forçar cada grupo a fazer as duas coisas, o E2LLM atribui papéis especializados às réplicas. Algumas se tornam réplicas de prefill e processam as solicitações recebidas mais rapidamente; outras se tornam réplicas de decoder e são responsáveis pela geração suave. Essa divisão permite não desperdiçar recursos na fase "inconveniente" para um hardware específico.

Como os grupos de dispositivos são formados

Não se pode simplesmente pegar os primeiros dispositivos disponíveis e chamá-los de réplica. O E2LLM primeiro decide quais nós realmente valem a pena combinar. Para isso, usa-se um algoritmo genético: ele itera sobre as opções de clusters e as melhora gradualmente, com base no desempenho final do sistema.

Quando o cluster é definido, é preciso entender como dividir o modelo entre os participantes. Aqui, entra o programação dinâmica: ela busca uma estratégia de particionamento que minimize os "gargalos" na transferência de dados entre dispositivos. Em outras palavras, o nível superior cuida da seleção da composição das réplicas, e o nível inferior, do corte ideal do modelo para a configuração de hardware específica.

O que isso traz na prática

Os autores testaram a abordagem em comparação com a solução base Splitwise, que também separa prefill e decode, mas lida de forma menos flexível com ambientes heterogêneos. Os experimentos mostraram que o E2LLM se adapta bem a mudanças na carga de trabalho. Isso é especialmente perceptível quando os comprimentos dos tokens de entrada e saída diferem muito: por exemplo, chegam solicitações curtas, mas são necessárias respostas longas, e então a carga muda drasticamente.

Sob alta carga, a nova abordagem reduz o tempo médio de espera em mais de 50% em comparação com o Splitwise. Isso significa que os usuários ficam menos tempo na fila para a geração, e os próprios dispositivos Edge/Fog trabalham de forma mais significativa, em vez de tentar atender igualmente às duas fases da inferência.

Conclusão

O E2LLM mostra que, para executar LLMs de forma eficiente na periferia, não importa apenas o poder de um dispositivo individual, mas também como os dispositivos são combinados e distribuídos em papéis. A duplicação do modelo completo no nível das réplicas, combinada com a separação de prefill e decode, é um trade-off consciente: em algum lugar é preciso sacrificar memória, mas, em troca, o sistema ganha desempenho estável e latências menores.

A principal conclusão para cenários aplicados: em um ambiente heterogêneo, não se deve tentar encaixar todo o modelo em um único nó ou distribuí-lo uniformemente por todos. É preciso formar grupos especializados a partir do hardware disponível e, dentro deles, decidir como distribuir a computação. É assim que a inferência de LLM se torna verdadeiramente prática fora dos grandes clusters de nuvem.

Perguntas mais frequentes

Materiais semelhantes

Todos os materiais
Como o E2LLM implanta grandes modelos de linguagem em dispositivos Edge/Fog heterogêneos