minions-ai-agents/docs/Desempenho de Agentes em Ha...

46 lines
4.1 KiB
Markdown

Com essa configuração de hardware, você possui uma excelente base para um ecossistema multi-agente local, embora precise lidar com as limitações de largura de banda de memória típicas de sistemas DDR4 ao rodar LLMs em CPU.
Aqui está o que você pode esperar em termos de capacidade e performance para sua infraestrutura:
### **1\. Performance de Inferência (Velocidade de Geração)**
O principal gargalo para LLMs em CPU é a largura de banda da memória RAM. O processador Intel Xeon E5-2699 v3 suporta quatro canais de memória por socket, com uma largura de banda máxima de aproximadamente $68\\text{ GB/s}$ por CPU.
* **Modelos de 7B/8B (ex: Llama 3.1 8B, Qwen 2.5 7B):** Usando quantização Q4\_K\_M, você deve obter entre **7 a 10 tokens por segundo** por instância. Essa velocidade é suficiente para uma interação humana fluida.
* **Modelos de 70B (ex: Llama 3.1 70B):** O desempenho cai drasticamente para cerca de **0,7 a 1,5 tokens por segundo**. Isso é utilizável para tarefas de "segundo plano" (pesquisas profundas, resumos de grandes documentos), mas frustrante para chat em tempo real.
* **Dica de Otimização (NUMA):** Em sistemas de dois sockets, o link QPI entre as CPUs pode introduzir latência. Para melhor performance, configure o BIOS para desativar o SNC (*Sub-NUMA Clustering*) ou utilize o comando numactl \--interleave=all para distribuir a carga de memória uniformemente.
### **2\. Capacidade Simultânea (Quantidade de Agentes)**
Com 128 GB de RAM, sua principal vantagem é a capacidade de manter múltiplos agentes ou modelos carregados simultaneamente sem swap de disco.
* **Agentes Especializados (8B):** Cada agente com um modelo de 8B (Q4) e uma janela de contexto de 8k tokens ocupa cerca de $8\\text{ a }10\\text{ GB}$ de RAM. Você poderia rodar tranquilamente **10 a 12 agentes simultâneos** mantendo uma margem de segurança para o sistema operacional e o banco de dados.
* **Agentes de Raciocínio Pesado (70B):** Um modelo de 70B (Q4) consome cerca de $40\\text{ GB}$ de RAM. Você poderia rodar **2 agentes de grande porte** simultaneamente, deixando o restante da memória para agentes menores de suporte.
### **3\. Banco de Dados e Memória Semântica (Qdrant)**
O banco de dados vetorial Qdrant é extremamente eficiente em termos de recursos. Para a "memória" dos seus agentes, o hardware atual é mais que suficiente:
* **Armazenamento de Vetores:** Para armazenar 1 milhão de memórias (vetores de 1024 dimensões), o Qdrant precisará de aproximadamente **6 GB de RAM** para performance máxima (tudo em memória).
* **Fórmula de Estimativa:**
$$\\text{RAM\\\_Qdrant} \= \\text{Nº de vetores} \\times \\text{dimensão} \\times 4 \\text{ bytes} \\times 1,5$$
* **Uso de SSD NVMe:** Como você possui NVMe, pode configurar o Qdrant com on\_disk: true. Isso permite que o banco gerencie coleções muito maiores do que a sua RAM disponível, carregando apenas os vetores mais acessados para o cache.
### **4\. Busca e Embeddings**
Para que os agentes compartilhem memória sem latência alta, você deve usar modelos de embedding extremamente leves executados na CPU via ONNX ou FastEmbed:
* **Modelo Sugerido:** sentence-transformers/all-MiniLM-L6-v2 ou BGE-small-en-v1.5. Eles geram embeddings em menos de **25-50ms** na sua CPU, permitindo que a busca por memórias passadas seja quase instantânea antes de cada resposta do agente.
* **Busca Web:** Ao usar o **SearXNG** em Docker, o impacto no processamento é mínimo (menos de 2 GB de RAM e uso de CPU desprezível fora dos picos de busca).
### **Resumo da Entrega Tecnológica**
| Componente | Expectativa no Xeon E5-2699 v3 |
| :---- | :---- |
| **Throughput Total** | \~20-30 tokens/s (distribuídos entre agentes) |
| **Latência Médio (8B)** | \~100-150ms por token |
| **Memória Livre p/ Contexto** | \~100 GB (após carregar o SO e ferramentas) |
| **Escalabilidade de Memória** | Alta (Pode indexar \>10 milhões de documentos) |
**Recomendação final:** Para manter a eficiência, use modelos como o **Phi-3 Mini (3.8B)** para agentes de orquestração rápida e o **Llama 3.1 8B** para os especialistas que realizam a pesquisa e escrita.