Contents — find the section you need
Change parameters and verify
Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.
Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.
The experiment controls are in English.
A quantidade de tokens por segundo, por si só, não explica a espera após o envio de uma solicitação. Meça separadamente o conteúdo da primeira resposta, a taxa de geração, o tempo de conclusão e o uso de memória. Este artigo fornece um procedimento de medição e um cliente; nenhum benchmark de modelo real ou classificação de hardware foi realizado.
Definir limites de tempo
TTFT normalmente significa tempo até o primeiro token, mas um fragmento HTTP não é necessariamente um único token. Este script reporta TTFC, o tempo até o primeiro fragmento não vazio response. Ele registra separadamente o conteúdo do primeiro processamento quando retornado. Essa métrica do cliente inclui enfileiramento, carregamento, processamento de prompts e transporte.
A taxa de geração, por sua vez, utiliza a contagem de tokens gerados pelo servidor e a duração da geração. As durações do Ollama são em nanossegundos; as definições da API de Geração foram verificadas em 07/09/2026.
Esta não é a taxa de transferência para toda a requisição. Diferentes tokenizadores também significam que apenas um token por vez não é uma comparação justa do volume ou da qualidade das respostas em japonês.
Corrigir as condições
Registre o resumo do modelo, a quantização, a versão do Ollama, CPU/GPU, RAM/VRAM, limites de energia, concorrência e prompt. Preserve as contagens retornadas, pois textos idênticos podem ser tokenizados de forma diferente. Separe a primeira requisição com um modelo descarregado das requisições subsequentes com modelo residente.
Prompts repetidos podem usar caches. Trate os testes com modelo residente/mesmo prompt e com modelo residente/nova entrada separadamente. Registre a ordem de execução, pois as condições térmicas e o trabalho em segundo plano podem enviesar as comparações.
Ler o fluxo
Coloque llm_benchmark.py ao lado de prompt.txt contendo seu texto de comparação. Ele usa apenas a biblioteca padrão do Python. Substitua YOUR_MODEL por um modelo instalado:
python3 llm_benchmark.py --model YOUR_MODEL --prompt-file prompt.txt --runs 5 > runs.jsonl
O endpoint padrão é 127.0.0.1:11434/api/generate. As requisições usam temperature=0, seed=42, num_predict=128, num_ctx=4096 e keep_alive=5m. Essas são configurações experimentais, não uma garantia de determinismo ou adequação para todos os modelos. Verifique a contagem de saídas e done_reason para encerramento antecipado ou comportamento de processamento diferente.
Validar saídas e falhas
Cada linha JSON inclui ttfc_s, first_thinking_s, client_total_s, generation_tokens_s e contagens/durações do servidor. Nenhum fragmento de resposta produz TTFC nulo; duração de geração zero produz throughput nulo. Fluxos interrompidos e erros de API são status=error, nunca sucessos com zero segundos.
A análise sintática, os campos de tempo e o tratamento de falhas foram testados com respostas de streaming sintéticas, não com geração real do Ollama. Comece com cinco tentativas para validar o procedimento e, em seguida, aumente as repetições com regras explícitas de aquecimento. Relate a contagem de sucessos, a mediana e a amplitude; não apresente um p95 de amostra pequena como preciso.
Medir a memória separadamente
O script não mede a memória. A API do modelo em execução (https://docs.ollama.com/api/ps) expõe informações de residência, incluindo size_vram, mas não o uso total do sistema ou picos transitórios. Amostre as métricas do SO/GPU de forma consistente durante o estado ocioso e de geração, indicando o intervalo de observação.
A RAM do processo, o cache de páginas e as alocações de GPU são quantidades diferentes; somá-las pode resultar em contagem dupla. Verifique os limites, principalmente em sistemas de memória unificada. Uma mudança de alocação, como o processamento parcial da CPU, não deve ser descrita puramente como uma diferença na capacidade do modelo.
Criar uma tabela de comparação útil
Inclua modelo/quantização, tokens de entrada/saída, condições de residência/cache, sucessos, TTFC mediano, taxa de geração mediana, tempo total e métrica de memória/intervalo de amostragem. Avalie a correção da resposta separadamente. Para energia, conecte a mesma carga de trabalho ao Wh usando medição de energia do servidor.
Comentários
Entre na sua conta para continuar.
Ainda não há dados.