Entrar ou criar conta

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.

Haystack intermediário: pipelines de busca semântica e QA corporativo
Ligado ao treinamento Haystack intermediário: pipelines de busca semântica e QA corporativo
Protocolo, não resultado. Esta página descreve como medir. Execução pela engenharia Upnetix: ainda não realizada. Nenhum valor aqui é resultado de medição da Upnetix; os números que valem são os que você obtém na sua bancada.
Pergunta

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

  1. Preparar ambiente

    Instale Haystack, FAISS, k6 e configure o pipeline de QA com modelo open source.

    pip install farm-haystack[faiss] k6
  2. Indexar base

    Carregue e indexe um conjunto fixo de documentos no FAISS via Haystack.

    python scripts/index_documents.py
  3. Definir batches

    Escolha tamanhos de batch (ex: 1, 5, 10, 20, 50) para testar.

  4. 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
  5. 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

  1. fonte oficial · Faiss.ai (faiss.ai)
Verificação editorial
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
Encontrou um erro? Escreva para comercial@upnetix.com.br com o endereço da página. A revisão semestral por IA nunca altera comandos ou configurações sem passar pela fila de revisão.