LLM local / Benchmarks

Notas de lab: el veredicto del KV

La pregunta q8-a-q4 del KV de la noche 1 ya tiene respuesta pareada: misma accuracy, cero tripwires, la mitad del cache. Y el label que tuvimos que corregir en público cuando el contador del server le ganó al estimado.

Por Simon Gonzalez de Cruz (el build en público en X @KyaniteLabs_), con GLM-5.3. Noche 2 de las notas de lab. Anoche cerré con una promesa: correr el A/B pareado de q4_0-KV que nos faltaba. Esto es lo que volvió.

El número primero: el campeón ahora corre cache KV de 4 bits — como 47% menos memoria KV (4.3GB ahorrados) en la misma ventana de contexto — con cero costo medido de accuracy y cero flags de corrupción. El gate de promoción fue pareado, pre-registrado y auto-ejecutable: si el brazo q4 empataba los hits de aguja de q8 y no disparaba tripwires, el unit file voltea; si no, el campeón viejo se restaura solo.

La pila de evidencia

Tres capas, cada una pareada:

CapaDiseñoResultado
Accuracy de tareaGSM8K, n=60 estratificado, pareadoMcNemar exacto p = 1.0; q4 un poco más rápido (18,78 s vs 19,47 s de media)
Integridad a contexto profundoAgujas al 50%/90% de profundidad, misma pila de ~198k tokens, misma semilla, control en la misma sesiónq4: 0/2 hits, cero tripwires, stops limpios; q8: 0/2 hits, un trip
Frontera de retrievalAguja al 25% (donde q8 históricamente recupera)FOUND, stop limpio — la frontera de la zona tonta no se movió

El tripwire es el contador de anomalías de finish_reason que dejamos armado en cada hora de serving desde que corrió el reporte de corrupción de KV cuantizado en RDNA4. Un trip disparó en toda la noche — en el brazo q8 (una respuesta de 40 tokens que nunca paró; n=1, rambling de contexto profundo, anotado, no interpretado). El brazo que la regla de verdad gatea — q4 — salió limpio.

El miss que nos cachamos a nosotros

La pila del gate se armó con un estimado: 5.800 párrafos, ~45 tokens cada uno, dile 262k. El contador del server dijo 198.227 tokens. La comparación pareada no se toca — los dos brazos prefilleron la misma pila, que es todo el punto de parear — pero cada sitio donde habíamos escrito «agujas a 262k» estaba inflando el instrumento. El tweet de anuncio ya había salido con el estimado. La corrección salió de reply en menos de una hora, el README del repo ahora carga conteos del server, y la regla queda: etiqueta el instrumento con el contador de la fuente, no con el estimado del generador. Prefill frío medido por esa pared de aguja: 109,5 tok/s a ~198k (número clase aguja: prompt completo + respuesta, no un harness de bench).

Qué te compra medio cache

Aritmética, etiquetada como aritmética: q8_0 mete ~8,5 bits por valor KV, q4_0 ~4,5 — de ahí ~47% (4.3GB ahorrados) menos en la línea KV a contexto idéntico. El wall time medido en las sondas fue para el mismo lado que GSM8K: q4 un filo más rápido en lecturas de cache. Lo que se acumula viene después: la matemática del ensayo 35B (ahí el headroom de KV decide si cabe), y el lane de KV adaptativo, cuya barra se acaba de mover de «gana al q8 estático» a «gana al q4 estático».

Condiciones

GMKtec EVO-X2 (Ryzen AI Max+ 395, 96GB unificados), Qwen3.8-27B Q4 dynamic quant, llama.cpp ROCm, ventana 262.144 tokens, K+V q4_0 KV (campeón desde 2026-08-18 10:32Z), temperature 0. GSM8K n=60 pareado; aguja n=2 estaciones por brazo más una sonda de frontera; una caja, una noche; tripwire armado todo el tiempo. Datapoints, no leyes. Log del gate y unit de rollback en el repo: qwen38-27b-strix-halo.

Trabajar con Kyanite

¿Quieres que esto funcione en tu entorno?

Si esta nota describe una herramienta o resultado de Kyanite que necesitas, la ayuda de implementación cubre setup, asesoría, docs, ejemplos, checks y un handoff usable.

Límite de fit

Kyanite offers help grounded in its tools, products, and build practice. La consultoria mas amplia se enruta por PuenteWorks.

Sigue el sistema.

The Delegation Card: we asked a $1,400 mini-PC to take our jobs

Not is-it-smart but can-you-hand-it-work-and-walk-away. 495 trials, certified floors.

Qwen 3.8 27B en Strix Halo: la historia completa, medida

Cada dial medido, cada numero publico: la configuracion optima congelada para un 27B en un mini-PC de $1.400.

Notas: the measured-knees method for reasoning effort

A methods note on reasoning-effort calibration. Thinking rescued 15/40 hards vs 4/40 off. On easy tasks it bought nothing. Publish the knee.

Notas de lab: 67% LiveCodeBench-30 en un rig de $1.400

20/30 = 67% LiveCodeBench-30 en un mini-PC de $1.400. IC Wilson 95% 49-81%. Easy 10/10, medium 8/10, hard 2/10. Subset n=30. No es la card.

Notas de lab: revertimos una regresión de llama.cpp

Encontramos una regresión de llama.cpp y la revertimos. Batería n=6 en un rig de $1.400: 0/6 slashes antes, 5/6 después. Mismo Q4_K_XL. No es una historia de quant.

Notas de lab: 93% HumanEval en un rig de $1.400

28/30 = 93% HumanEval en un mini-PC de $1.400. Qwen3.8-27B Q4_K_XL. Temp 0, thinking off. Fallos: 50 y 145. Log crudo linkeado.

Notas de lab: el modelo que no puede olvidar pero no puede recordar

El número primero: este modelo es 75% no transformer. 48 de 64 capas guardan un estado. En un rig de $1.400, carga 198k una vez (1818s) y consulta en 9-27s.

Notas de lab: la cuenca era un bug

Publicamos una cuenca. El hueco era el binario. Tras revertir c7d8722: 6/6 HIT a 198k. Mapa n=1 del build arreglado.

Notas de lab: la noche del veredicto

Un mini-PC de $1.400 sirviendo un 27B a 262k de contexto hace una pregunta: ¿capear cuánto piensa el modelo te cuesta accuracy? La respuesta pareada, el primer intento inválido, y la doctrina que quedó.

Un mini-PC, una noche y los numeros que discutian entre si: afinando Qwen3.8-27B en Strix Halo

Una noche y una tarde de medicion afinando un modelo denso de 27B en un mini-PC Strix Halo: las bandas honestas, la reversion, la doctrina de crashes y la historia detectivesca del EC.

GPT-5.6 Sol vs. Terra vs. Luna: politica de ruteo basada en evidencia

La division practica es Sol para descubrir, Terra para ejecutar trabajo acotado y Luna para procesar volumen verificable, cada uno con un contrato distinto.

Los agentes necesitan herramientas verificables, no mejor teatro de prompts

El patron util no es un prompt mas bonito. Es una superficie de herramienta que el agente puede llamar, inspeccionar, verificar y revisar.

El historial del repo es una señal de producto

Un repo no es solo almacenamiento. Es evidencia de decisiones, reparaciones, releases, cambios de nombre, huecos de pruebas y oficio real.

La ayuda de implementacion es parte de la superficie del producto

Una herramienta open source util todavia necesita una ruta desde repo publico hasta entorno funcionando. Esa ruta es producto.

Por que importa Kinocut

Kinocut da a los agentes de IA herramientas llamables sobre timelines, efectos, Hyperframes y medios terminados en kinocut.dev.

Monos infinitos, LLMs y el cuarto alrededor de la maquina

El argumento detras del video: la calidad no es solo probabilidad. Es arquitectura, filtros y gusto humano.

Lo que una herramienta de IA necesita antes de que alguien pueda usarla

Una guia practica para convertir una herramienta, flujo o app medio cruda en algo que otros puedan entender, instalar y usar.

Checklist de implementacion para servidores MCP

El checklist que Kyanite usa para distinguir un servidor MCP de juguete, una herramienta usable y algo que vale la pena implementar.

La arqueologia de repos convierte historia en evidencia

Por que el historial de commits es una de las fuentes de prueba mas fuertes para diagnosticos, implementacion y confianza tecnica.

El descubrimiento por IA necesita mas que un sitemap

Lo que Kyanite agrega para que buscadores y asistentes de IA entiendan herramientas, productos, prueba y rutas de soporte.