Picchio es una herramienta de un solo archivo en Python que mide el rendimiento de modelos de lenguaje grandes ejecutados en local con llama.cpp u Ollama. Su propósito es destapar tres fallos habituales en las mediciones que publican los usuarios: cuantizaciones mal etiquetadas, caídas silenciosas a CPU y cifras de tokens por segundo que en realidad corresponden a la fase de prefill y no a la de generación.
La herramienta realiza tres pasadas con un prompt fijo (la primera en frío) y separa tres carriles de medición: prefill (procesamiento del prompt), decode (generación de tokens) y tiempo total o wallclock. Mientras ejecuta el modelo, un hilo en segundo plano consulta el medidor de GPU del sistema operativo —ioreg y powermetrics en macOS, NVML en Linux con NVIDIA— y lo cruza con el registro del motor para emitir un veredicto.
Entre sus comandos principales destacan model.gguf para un diagnóstico completo con llama.cpp, qwen3.5:9b para pasar las pruebas por el servidor local de Ollama, http://127.0.0.1:8080 para medir un servidor ya en marcha, guard -- <comando> para envolver un binario propio y avisar si las capas salen de la GPU, compare para diff entre dos bloques guardados, verify para detectar bloques con números contradictorios, watch para supervisar un proceso, plan para predecir si un modelo cabe en la GPU, id para desglosar la etiqueta de cuantización y --explain para clasificar una cifra vista frente a los carriles ya medidos.
Un hallazgo de ejemplo: cuatro archivos del mismo Qwen3.5-9B etiquetados Q4_K_M arrojan 5,02, 5,02, 5,07 y 5,27 bits por peso efectivo. Otro: el mismo modelo pierde la GPU y eso multiplica por 22 el prefill pero por menos de 2 el decode. La herramienta también incorpora --selftest para reproducir los bloques de veredicto de los ejemplos. Los códigos de salida van de 0 (sano) a 5 (evidencias contradictorias), pensados para integrarse en scripts y pipelines.
