Upnetix Labs · protocolo de experimento
Protocolo: Qual o impacto do tamanho do batch na latência de resposta de um pipeline de QA com Haystack usando FAISS?
Este protocolo avalia como o tamanho do batch afeta a latência média das respostas em um pipeline de perguntas e respostas (QA) implementado com Haystack e FAISS. O objetivo é medir a latência para diferentes tamanhos de batch em condições controladas.

Como o tamanho do batch influencia a latência média de resposta em um pipeline de QA com Haystack e FAISS?
Hipótese
Aumentar o tamanho do batch reduz a latência média por consulta até um ponto, após o qual a latência volta a crescer devido à sobrecarga de processamento.
Variáveis
| Independentes (o que varia) | tamanho do batch (número de perguntas enviadas por requisição) |
|---|---|
| Dependentes (o que se mede) | latência média de resposta (ms) |
| Controladas (o que fica fixo) | hardware (CPU, RAM); versão do Haystack; versão do FAISS; modelo de linguagem utilizado; base de dados indexada; conjunto de perguntas; rede local |
Ambiente
Servidor Linux dedicado, Haystack instalado via pip, FAISS como banco vetorial, pipeline de QA configurado com modelo open source (ex: 'deepset/roberta-base-squad2'), conjunto fixo de 100 perguntas, ferramenta k6 para simular requisições HTTP em batches, monitoramento de latência via logs do Haystack.
Procedimento
- Preparar ambiente
Instale Haystack, FAISS, k6 e configure o pipeline de QA com modelo open source.
pip install farm-haystack[faiss] k6 - Indexar base
Carregue e indexe um conjunto fixo de documentos no FAISS via Haystack.
python scripts/index_documents.py - Definir batches
Escolha tamanhos de batch (ex: 1, 5, 10, 20, 50) para testar.
- Executar testes
Para cada tamanho de batch, use k6 para enviar as 100 perguntas divididas em batches e registre a latência de cada resposta.
k6 run --vus 1 --iterations 100 --batch <N> script.js - Repetir
Repita cada teste 5 vezes para cada batch size, reiniciando o pipeline entre execuções.
Planilha de coleta
| batch_size (unidade) | execucao (unidade) | pergunta_id (unidade) | latencia_ms (ms) |
|---|---|---|---|
| EXEMPLO: 10, 3, 42, 157 | |||
Repetições recomendadas: 5. Baixe a planilha vazia em CSV: colunas prontas.
Análise
Calcule a média, mediana e percentis (p95) da latência para cada batch size. Compare os valores para identificar o batch size ótimo em termos de latência. Analise a dispersão dos resultados.
Critérios de decisão
- Batch size ótimo é aquele com menor latência média sem aumento significativo de erro.
- Resultados são considerados válidos se a variação entre repetições for inferior a 10%.
Fontes de erro e mitigação
- Variações de carga no servidor podem impactar a latência; mitigue rodando testes em horários de baixa utilização.
- Cache do sistema operacional pode influenciar resultados; reinicie o pipeline entre execuções.
- Perguntas muito similares podem favorecer o cache do modelo; use perguntas variadas.
Referências
- fonte oficial · Faiss.ai (faiss.ai)
- Publicado
- 09/09/2026
- Última revisão
- 09/09/2026
- Versão do conteúdo
- 1.0
- Referências
- 1 oficiais
- Revisão técnica
- redação e revisão por IA, URLs conferidas na publicação
- Status
- Atual
