Como usar LLMs locais para descobrir algoritmos de alta performance — um guia prático
O uso de Large Language Models (LLMs) para descobrir novos algoritmos deixou de ser exclusividade de laboratórios com acesso a GPUs de ponta. Engenheiros agora podem executar pipelines de busca evolutiva em seus próprios MacBooks, usando modelos open-source como DeepSeek-Coder e Qwen.
Essa mudança importa porque a descoberta algorítmica automatizada — demonstrada por projetos como FunSearch do Google DeepMind — exige milhões de amostras de código. Usar APIs comerciais para esse volume custaria centenas de dólares por problema resolvido. Com LLMs locais, o custo marginal cai para praticamente zero.
Engenheiros de IA que trabalham com otimização, sistemas distribuídos, e problemas combinatórios são os principais beneficiados. A técnica também interessa a pesquisadores que buscam reproduzir ou estender resultados de papers como o FunSearch sem depender de infraestrutura cloud.
O QUE FOI PUBLICADO
O artigo original publicado no Towards Data Science por Stefano Bosisio, engenheiro da NVIDIA baseado em Edinburgh, explora como replicar a abordagem FunSearch usando modelos open-source em hardware local.
O trabalho se baseia em:
- FunSearch (Google DeepMind, 2023): Sistema que combina LLMs com avaliadores automáticos para descobrir construções matemáticas, incluindo avanços no problema cap set — a maior melhoria em 20 anos
- Implementações open-source: Repositório
funsearch-llmque adapta o pipeline para funcionar com modelos locais - Hardware Apple Silicon: Demonstração de viabilidade em MacBooks M1/M2/M3 usando a arquitetura de memória unificada
O problema central que a abordagem resolve: como fazer busca evolutiva de código sem gastar fortunas em APIs.
VISÃO TÉCNICA SIMPLIFICADA
O que é FunSearch?
FunSearch ("Function Search") é um procedimento evolutivo que combina um LLM pré-treinado com um avaliador sistemático. O sistema gera, avalia e evolui programas iterativamente.
Arquitetura do Pipeline
- Seed Program: Usuário fornece uma função inicial simples que resolve o problema de forma básica
- Database de Programas: Armazena soluções ranqueadas por performance
- Seleção: Sistema escolhe os programas mais promissores como contexto
- Mutação via LLM: O modelo gera variações do código baseado nos melhores exemplos
- Avaliação: Executor automático valida e pontua os novos programas
- Loop: Melhores soluções retornam ao database para próxima iteração
O que muda com LLMs locais?
A implementação original usava PaLM 2 (Google). A versão open-source substitui por:
- DeepSeek-Coder 6.7B (quantizado em Q4_K_M): Modelo especializado em código com boa relação performance/tamanho
- Qwen2.5-Coder: Alternativa focada em geração de código
- CodeGen2.5-7B-instruct: Opção da Salesforce para instruções de código
Requisitos de Hardware
| RAM | Modelo Suportado | Performance |
|---|---|---|
| 8GB | Modelos 3B ou 7B quantizados | Limitada |
| 16GB | Modelos 7B-8B confortáveis | Recomendado |
| 32GB+ | Modelos 13B+ | Ideal |
A memória unificada dos chips Apple Silicon é a chave: CPU e GPU compartilham RAM, eliminando gargalos de transferência.
Diferença para AlphaEvolve
Enquanto FunSearch foca em funções individuais (10-20 linhas), o AlphaEvolve do Google DeepMind evoluiu para:
- Codebases inteiros (centenas de linhas)
- Ensemble de modelos (Gemini Flash + Gemini Pro)
- Algoritmo MAP-elites para diversidade de soluções
Para uso local, FunSearch é mais viável dado o menor custo computacional.
O QUE MUDA NA PRÁTICA PARA ENGENHEIROS DE IA
🚀 Performance Execução local elimina latência de rede. Em MacBooks M2/M3, modelos 7B quantizados atingem 20-40 tokens/segundo — suficiente para milhões de amostras em horas, não dias.
💸 Custos O paper original menciona ~$200 em APIs para resolver um único problema (10⁶ amostras × custo GPT-3.5). Localmente: custo de energia elétrica apenas. ROI imediato para quem faz pesquisa algorítmica frequente.
🏗️ Arquitetura O pipeline é modular: LLM, avaliador, e database podem ser substituídos independentemente. Você pode usar Ollama, LM Studio, ou llama.cpp como backend de inferência.
🔐 Riscos Código gerado precisa rodar em sandbox. A implementação original não inclui isolamento — você precisa adicionar containerização (Docker) ou execução restrita para evitar código malicioso.
🧪 Maturidade Tecnologia em estágio experimental. Resultados do FunSearch são verificáveis matematicamente, mas a generalização para outros domínios (química, biologia) ainda é incerta.
CASOS DE USO REAIS E POTENCIAIS
Aplicações Demonstradas
- Problema Cap Set: FunSearch descobriu construções que superaram o estado da arte em 20 anos
- Bin Packing Online: Heurísticas para empacotamento 1D com melhor performance que algoritmos clássicos
- Grafos Cíclicos: Conjuntos independentes em produtos fortes de grafos
- Multiplicação de Matrizes: AlphaEvolve melhorou o algoritmo de Strassen de 1969 para matrizes 4×4 complexas
Aplicações Potenciais para Engenheiros
Otimização de Sistemas Distribuídos
- Scheduling de jobs em data centers (Google reportou 0.7% de ganho em produção)
- Balanceamento de carga adaptativo
- Heurísticas de cache eviction
Pipelines de ML
- Descoberta de funções de loss customizadas
- Otimização de hiperparâmetros via código
- Reward shaping para reinforcement learning
Engenharia de Software
- Refatoração automatizada com preservação semântica
- Otimização de queries SQL
- Geração de testes de propriedade
Robótica e Controle
- Síntese de políticas de controle (paper EvoEngineer reportou 70% de sucesso vs 60% do PPO)
- Otimização de trajetórias
LIMITAÇÕES, RISCOS E PONTOS DE ATENÇÃO
Limitações Técnicas
- Sample Efficiency: Métodos evolutivos com LLM são extremamente ineficientes — milhões de amostras para um problema
- Modelos Locais vs Cloud: DeepSeek-Coder 6.7B não tem a mesma capacidade que PaLM 2 ou Gemini Pro
- Avaliador Necessário: Você precisa de uma função de avaliação automática e determinística — nem todo problema tem isso
- Single-threaded por padrão: A implementação open-source precisa ser adaptada para paralelismo
Riscos de Produção
- Código não verificado: LLMs podem gerar código funcionalmente correto mas com bugs sutis
- Segurança: Execução de código arbitrário requer sandboxing robusto
- Reprodutibilidade: Resultados dependem de seeds e ordem de sampling
Hype vs Realidade
| Afirmação | Realidade |
|---|---|
| "LLMs descobrem algoritmos" | Descobrem em domínios com avaliação automática clara |
| "Substitui pesquisadores" | Complementa, não substitui — humanos definem o problema e avaliam significância |
| "Funciona para qualquer problema" | Funciona bem para problemas combinatórios com fitness function definida |
O QUE OBSERVAR NOS PRÓXIMOS MESES
Evolução Esperada
Open-source mais maduro: Implementações como
funsearch-llmdevem ganhar suporte a mais modelos e paralelismoModelos locais melhores: Qwen2.5-Coder e DeepSeek V3 estão melhorando rapidamente — gap para modelos cloud diminui
Integração com frameworks: Espere ver integrações com LangChain, DSPy, e frameworks de agentes
Domínios além de matemática: Pesquisas tentando generalizar para química, biologia, e design de materiais
Sinais de Adoção
- Se Google liberar AlphaEvolve como produto ou open-source
- Se papers começarem a reportar uso de LLMs locais para reprodução
- Se startups de otimização incorporarem a técnica
Riscos de Não-Adoção
- Custos de API continuam caindo (pode eliminar vantagem de rodar local)
- Problemas de segurança com execução de código gerado
- Resultados difíceis de generalizar além de benchmarks específicos
CONEXÃO COM APRENDIZADO
Para quem quer se aprofundar em como arquitetar sistemas que aproveitam esse tipo de abordagem — como pipelines de inferência eficiente, RAG e agentes autônomos — esse tema faz parte dos estudos da AI Engineering Academy.
🚀 Faça parte da comunidade AI Engineering
Quer receber as principais notícias de AI Engineering em primeira mão e trocar ideias com outros profissionais? Entre no nosso grupo no WhatsApp!
Termos relacionados: FunSearch, AlphaEvolve, LLM local, busca evolutiva, descoberta algorítmica, DeepSeek-Coder, Qwen, llama.cpp, Apple Silicon, otimização combinatória, geração de código
Quer ir além das notícias?
Aprenda a construir aplicações com IA na AI Engineering Academy.
Fique por dentro das novidades
Receba as últimas notícias sobre AI Engineering diretamente no seu email. Sem spam, prometemos.
Ao se inscrever, você concorda com nossa política de privacidade .
Artigos Relacionados
Treinamento de RL Agêntico para modelos GPT-OSS: lições práticas do LinkedIn com MoE e FlashAttention
LinkedIn revela desafios técnicos ao treinar modelos GPT-OSS com RL agêntico: problemas de roteamento MoE, inconsistênci...
MaliciousCorgi: extensões de IA populares vazaram código de 1,5 milhão de desenvolvedores
Duas extensões de IA para VS Code com 1,5 milhão de instalações continham código malicioso idêntico que exfiltrava arqui...
Graph Neural Networks para previsão de demanda: por que séries temporais sozinhas não bastam
Previsão de demanda tradicionalmente trata cada SKU isoladamente. Graph Neural Networks mudam isso ao capturar relações...