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.
La cantidad de tokens por segundo por sí sola no explica el tiempo de espera tras enviar una solicitud. Se miden por separado el contenido de la primera respuesta, la tasa de generación, el tiempo de finalización y la memoria. Este artículo proporciona un procedimiento de medición y un cliente; no se realizó ninguna prueba comparativa con un modelo real ni una clasificación de hardware.
Definir límites de tiempo
TTFT normalmente se refiere al tiempo hasta el primer token, pero un fragmento HTTP no necesariamente consta de un solo token. Este script informa TTFC, el tiempo hasta el primer fragmento response no vacío. Registra por separado el contenido del procesamiento inicial cuando se recibe. Esta métrica del cliente incluye la cola, la carga, el procesamiento de solicitudes y el transporte.
La tasa de generación utiliza el recuento de tokens generados por el servidor y la duración de la generación. Las duraciones de Ollama se expresan en nanosegundos; las definiciones de la API de Generación se verificaron el 7 de septiembre de 2026.
Esto no representa el rendimiento total de la solicitud. El uso de diferentes tokenizadores implica que el número de tokens por sí solo no permite una comparación justa del volumen o la calidad de las respuestas en japonés.
Corregir las condiciones
Registrar el resumen del modelo, la cuantización, la versión de Ollama, la CPU/GPU, la RAM/VRAM, los límites de potencia, la concurrencia y la solicitud. Conservar los recuentos devueltos, ya que un texto idéntico puede tokenizarse de forma diferente. Separar la primera solicitud con un modelo descargado de las solicitudes posteriores con modelos residentes.
Las solicitudes repetidas pueden usar cachés. Tratar por separado las pruebas de modelos residentes con la misma solicitud y las de modelos residentes con nueva entrada. Registrar el orden de ejecución, ya que las condiciones térmicas y el trabajo en segundo plano pueden sesgar las comparaciones.
Leer el flujo
Colocar llm_benchmark.py junto a prompt.txt, que contiene el texto de comparación. Utiliza únicamente la biblioteca estándar de Python. Reemplace YOUR_MODEL con un modelo instalado:
python3 llm_benchmark.py --model YOUR_MODEL --prompt-file prompt.txt --runs 5 > runs.jsonl
El punto final predeterminado es 127.0.0.1:11434/api/generate. Las solicitudes utilizan temperature=0, seed=42, num_predict=128, num_ctx=4096 y keep_alive=5m. Estos son ajustes experimentales, no una garantía de determinismo ni de idoneidad para todos los modelos. Verifique el recuento de salida y done_reason para detectar una terminación anticipada o un comportamiento de procesamiento diferente.
Validar salidas y fallos
Cada línea JSON incluye ttfc_s, first_thinking_s, client_total_s, generation_tokens_s y recuentos/duraciones del servidor. La ausencia de fragmento de respuesta produce un TTFC nulo; una duración de generación cero produce un rendimiento nulo. Las transmisiones interrumpidas y los errores de la API tienen estado=error, nunca éxitos de cero segundos.
El análisis, los campos de temporización y el manejo de fallos se probaron con respuestas de transmisión sintéticas, no con la generación real de Ollama. Comience con cinco ensayos para validar el procedimiento y luego aumente las repeticiones con reglas de calentamiento explícitas. Informe el número de éxitos, la mediana y el rango; no presente un p95 de muestra pequeña como preciso.
Medir la memoria por separado
El script no mide la memoria. La API running-model expone información de residencia, incluyendo size_vram, pero no el uso del sistema completo ni los picos transitorios. Muestre las métricas del sistema operativo y la GPU de forma consistente durante el estado de inactividad y la generación, indicando el intervalo de observación.
La RAM del proceso, la caché de páginas y las asignaciones de GPU son cantidades diferentes; sumarlas puede generar un doble conteo. Verifique los límites, especialmente en sistemas de memoria unificada. Un cambio de ubicación, como el procesamiento parcial de la CPU, no debe describirse simplemente como una diferencia en la capacidad del modelo.
Crear una tabla comparativa útil
Incluya el modelo/cuantización, los tokens de entrada/salida, las condiciones de residencia/caché, los éxitos, la mediana del TTFC, la mediana de la tasa de generación, el tiempo total y la métrica de memoria/intervalo de muestreo. Evalúe la corrección de la respuesta por separado. Para medir el consumo de energía, conecte la misma carga de trabajo a Wh utilizando la medición de potencia del servidor.
Comentarios
Inicia sesión para continuar.
Todavía no hay datos.