Entrar ou criar conta

Upnetix Labs · protocolo de experimento

Protocolo: Qual o impacto do tamanho do contexto do LLM no tempo de resposta do Ollama em execução local?

Este protocolo avalia como o aumento do tamanho do contexto (prompt + histórico) afeta a latência das respostas do Ollama rodando localmente. O objetivo é medir o tempo de resposta em função do contexto, usando apenas ferramentas de código aberto.

IA aplicada com Ollama e modelos abertos: LLMs locais, RAG e agentes
Ligado ao treinamento IA aplicada com Ollama e modelos abertos: LLMs locais, RAG e agentes
Protocolo, não resultado. Esta página descreve como medir. Os números que valem são os que você obtém na sua bancada, seguindo o método abaixo. Nenhum valor aqui é resultado de medição da Upnetix.
Pergunta

Como o tempo de resposta do Ollama varia conforme o tamanho do contexto fornecido ao modelo?

Hipótese

Aumentar o tamanho do contexto do LLM eleva linearmente o tempo de resposta do Ollama.

Variáveis

Independentes (o que varia)Tamanho do contexto em tokens
Dependentes (o que se mede)Tempo de resposta em milissegundos
Controladas (o que fica fixo)Modelo LLM utilizado; Hardware (CPU, RAM, GPU); Versão do Ollama; Prompt base; Configuração do Ollama

Ambiente

Servidor local com Ollama instalado, modelo LLM aberto (ex: llama2), ferramenta de medição de tempo (curl + time ou wrk). Nenhum outro processo pesado em execução. Rede local dedicada (por exemplo, em uma rede de fibra dedicada como a da Upnetix).

Procedimento

  1. Preparação

    Instale e configure o Ollama com o modelo escolhido. Certifique-se de que o ambiente está ocioso.

    ollama run llama2
  2. Geração dos prompts

    Crie prompts sintéticos com diferentes tamanhos de contexto (ex: 256, 512, 1024, 2048, 4096 tokens). Use texto repetitivo ou realista, conforme o caso.

  3. Execução dos testes

    Para cada tamanho de contexto, envie o mesmo prompt 5 vezes para o endpoint do Ollama via HTTP e meça o tempo total de resposta.

    time curl -X POST http://localhost:11434/api/generate -d '{"model": "llama2", "prompt": "<PROMPT>"}'
  4. Registro dos dados

    Anote o tempo de resposta para cada execução, junto com o tamanho do contexto.

  5. Repetição

    Repita o ciclo para cada tamanho de contexto definido.

Planilha de coleta

tamanho_contexto_tokens (tokens)tempo_resposta_ms (milissegundos)
EXEMPLO: 1024, 1850

Repetições recomendadas: 5. Baixe a planilha vazia em CSV: colunas prontas.

Análise

Calcule a média, mediana e desvio padrão do tempo de resposta para cada tamanho de contexto. Analise a tendência (linearidade, saltos, gargalos) e identifique o ponto de inflexão, se houver. Compare os resultados entre os diferentes tamanhos.

Critérios de decisão

  • Tempo de resposta aceitável deve ser definido conforme o caso de uso (ex: abaixo de 2 segundos para contexto até 2048 tokens).
  • Se o tempo de resposta crescer de forma não linear, investigar limitações do modelo ou hardware.

Fontes de erro e mitigação

  • Variações de carga do sistema: mitigue rodando em ambiente dedicado.
  • Variação de rede: use localhost.
  • Aquisição de tempo: utilize sempre o mesmo método e relógio do sistema.
  • Prompt sintético pode não refletir casos reais; valide com exemplos reais se possível.

Referências

  1. Ollama Docs
  2. Ollama GitHub
  3. LLM HuggingFace