Phase 16 - Lesson 19
Otimização por Enxame para LLMs (PSO, ACO)
This lesson includes a graded coding exercise that runs in your browser, unlocked with lifetime access.
A otimização bioinspirada está voltando no contexto de LLMs. O LMPSO (arXiv:2504.09247) utiliza PSO onde a velocidade de cada partícula é um prompt e o LLM gera o próximo candidato; funciona bem para saídas de sequências estruturadas (expressões matemáticas, programas). O Model Swarms (arXiv:2410.11163) trata cada LLM especialista como uma partícula de PSO em um manifold de pesos do modelo e relata um ganho médio de 13,3% sobre 12 baselines em 9 conjuntos de dados com apenas 200 instâncias. O SwarmPrompt (ICAART 2025) hibridiza PSO + Grey Wolf para otimização de prompts. O AMRO-S (arXiv:2603.12933) é inspirado em ACO, utilizando especialistas em feromônios para roteamento multiagente de LLMs — obtendo um aceleração de 4,7x, evidência de roteamento interpretável e uma atualização assíncrona filtrada por qualidade que desacopla a inferência do aprendizado. Esta lição implementa PSO no espaço de parâmetros de prompt e ACO no roteamento de agentes, avaliando por que esses algoritmos clássicos se adaptam à era dos LLMs e quando eles não devem ser usados.
Tipo: Learn + Build Linguagens: Python (stdlib) Pré-requisitos: Fase 16 · 09 (Redes Paralelas de Enxame), Fase 16 · 14 (Consenso e BFT) Tempo: ~75 minutos
O Problema
Você tem um prompt que atinge 62% de pontuação na avaliação da sua tarefa. Você deseja melhorá-lo. A abordagem ingênua é o ajuste manual livre de gradientes, que escala mal. O aprendizado por reforço precisa de sinais de recompensa e de execuções (rollouts) suficientes para o treinamento. O backpropagation através dos prompts não é realmente possível — o prompt é uma string discreta, não um parâmetro diferenciável.
A otimização bioinspirada clássica — PSO para espaços de busca contínuos, ACO para seleção de caminhos — foi projetada exatamente para esse regime: baseada em população, livre de gradientes e barata por avaliação. Junte-as com LLMs para a etapa de busca sem gradientes e você terá um otimizador surpreendentemente prático.
Os mesmos padrões se aplicam ao roteamento de agentes em sistemas multiagente. Uma trilha de feromônios no estilo ACO registra qual agente funcionou melhor para qual tipo de tarefa, permite que o roteador explore a trilha e decaia os feromônios para que novos caminhos possam ser descobertos.
Conceito
Recapitulação de PSO (Kennedy & Eberhart 1995)
Otimização por Enxame de Partículas: população de partículas em um espaço de busca contínuo. Cada partícula tem uma posição x_i e uma velocidade v_i. A cada iteração:
v_i <- w * v_i + c1 * r1 * (p_best_i - x_i) + c2 * r2 * (g_best - x_i)
x_i <- x_i + v_i
evaluate fitness(x_i)
update p_best_i if improved
update g_best if global best
Onde p_best é a melhor posição própria da partícula, g_best é a melhor posição do enxame, w, c1, c2 são os pesos de inércia, cognitivo e social, e r1, r2 são fatores aleatórios.
PSO em Saídas de LLM — LMPSO
O arXiv:2504.09247 adapta o PSO para saídas estruturadas geradas por LLM (expressões matemáticas, programas). Cada partícula é uma saída candidata. A velocidade é um prompt que descreve como modificar a saída atual em direção ao melhor pessoal ou global. O LLM gera a nova saída a partir do prompt de velocidade. A "inércia" da velocidade é um prompt como "faça pequenas alterações incrementais".
Isso funciona bem quando:
- A saída é estruturada (pode ser analisada e avaliada).
- A avaliação de fitness é automática (execuções de teste, avaliação aritmética).
- A população é pequena (~10-30 partículas) para que o total de chamadas de LLM permaneça gerenciável.
Não funciona bem quando a avaliação de fitness precisa de revisão humana — o custo por iteração se torna proibitivo.
Model Swarms
O arXiv:2410.11163 retira o PSO da camada de saída e o leva para a camada do modelo. Cada "partícula" é um LLM especialista (parâmetros). O enxame move os parâmetros em direção ao melhor coletivo por meio de uma atualização livre de gradiente. Relatou-se: ganho médio de 13,3% sobre 12 baselines em 9 conjuntos de dados, com apenas 200 instâncias por iteração.
A principal percepção é de que os modelos LLM especialistas já estão próximos em um manifold de parâmetros compartilhados (pesos de adaptadores, deltas de LoRA). O PSO neste subespaço de baixa dimensão é barato e eficaz.
Recapitulação de ACO (Dorigo 1992)
Otimização por Colônia de Formigas: formigas atravessam um grafo; cada caminho possui uma trilha de feromônio. As probabilidades de movimento das formigas são ponderadas pela força do feromônio. As formigas que completam a tarefa depositam feromônio proporcional à qualidade da solução. O feromônio decai com o tempo.
AMRO-S — ACO para Roteamento de Agentes
O arXiv:2603.12933 usa ACO para roteamento multiagente. Cada tipo de tarefa é um "destino"; cada agente é uma rota possível. Os feromônios fortalecem as rotas que produzem boas saídas. Contribuições principais:
- Evidência de roteamento interpretável. A força do feromônio é um sinal legível por humanos.
- Atualização assíncrona filtrada por qualidade. Os feromônios são atualizados apenas após a aprovação nas verificações de qualidade, desacoplando a inferência do aprendizado.
- Aceleração de 4,7x no benchmark de roteamento multiagente.
O filtro de qualidade é essencial: sem ele, agentes rápidos, mas incorretos, acumulam feromônios e o sistema se estabiliza em rotas ruins.
Quando usar PSO / ACO para LLMs
Use PSO quando:
- O espaço de busca for contínuo ou mapear para parâmetros contínuos (embeddings de prompt, pesos de LoRA, parâmetros numéricos de geração).
- A avaliação de fitness for barata e automática.
- A população puder ser pequena (10-30).
Use ACO quando:
- Você tiver um problema de roteamento ou seleção de caminho.
- As decisões se reforçarem ao longo do tempo (os mesmos tipos de tarefas retornam).
- Você precisar de evidências interpretáveis para as decisões de roteamento.
Não use nenhum dos dois quando:
- A avaliação de fitness exigir revisão humana (muito caro por iteração).
- O espaço de busca for discreto e combinatório de uma forma que o PSO não cubra (use algoritmos genéticos).
- As decisões em tempo real precisarem de latência estrita (PSO/ACO convergem lentamente em relação a heurísticas de passagem única).
Por que a abordagem bioinspirada ainda vence
Os métodos baseados em gradiente precisam de sinais diferenciáveis. As saídas de LLMs e as decisões de roteamento não são trivialmente diferenciáveis. Métodos de pseudo-gradiente (roteadores aprendidos por reforço, sintonizadores de prompt estilo DPO) funcionam, mas exigem treinamento caro.
O PSO e o ACO precisam apenas de uma função de avaliação (fitness). Se você puder pontuar uma saída candidata ou uma decisão de roteamento, poderá otimizar o espaço de busca. Isso torna a barreira de aplicação muito menor.
Limites práticos
- Orçamento de população. N partículas × T iterações × custo por avaliação. Para avaliações de LLM a ~$0,02/chamada, um PSO de 20 partículas rodando 50 iterações custa ~