LLM local / Serving

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.

Por Simon Gonzalez de Cruz (el build en publico en X @KyaniteLabs_). Cierre del arco, 2026-08-21. Toda la historia, corregida en el registro.

Nos hicimos una pregunta simple: ¿puede un mini-PC de $1.400 servir un modelo 27B como los rigs grandes? Esta nota cierra el libro. Cada afirmacion de abajo tiene un log crudo detras, en el repo publico, con su metodologia.

El rig

AMD Strix Halo, 64 GB de memoria compartida, tooling abierto (llama.cpp), un modelo libre Apache-2.0. Sin nube, sin alquileres.

El techo

Retrieval exacto de agujas en cada profundidad probada, dos semillas, hasta 261.130 de 262.144 tokens — el 99.6% de la ventana, el techo literal. Follow-ups en caliente sobre un documento cargado de 198k tokens: cita exacta en 23.8s, si/no en 10.0s, resumen de una linea en 17.5s. El formato no importa: prosa o codigo, exacto en ambos casos; descrito en palabras, cada parte vuelve en orden. Crudo: nativemax-results.log · quote-rerun-results.log.

El bug que les debiamos

A mitad del arco, el contexto largo y la vision se rompieron en silencio en esta clase de GPU. Nuestra primera lectura culpo al modelo — mal. Hicimos bisect a un cambio upstream (c7d8722), lo reportamos, lo arreglamos local y despues validamos el fix upstream en nuestro silicio: 9/9 respuestas identicas, pareadas. La correccion esta en el repo, en el registro. La degeneracion era el instrumento, no el modelo. Crudo: issue 26209 · pr25863-validation.

La configuracion congelada

Pesos Q4. KV cache liviano (q4_0) — despues de medir el trade: la opcion pesada compra hasta ~3 segundos en follow-ups (sub-segundo a 2.8s medido en la media ventana) por ~4 GB; nos quedamos con el espacio. Especulacion: la configuracion en servicio, verificada la mas rapida de cuatro con paredes pareadas (15.1s por respuesta de 200 palabras vs 17.8s sin ella). Contextoo: los 262.144 completos. Thinking: apagado por defecto, los problemas dificiles piensan — medido en tres bandas de dificultad. Vision: funciona, 6/6 en screenshots reales de navegador. Crudo: config-27b-2026-08-21.

Que prueba esto

Una historia completa de serving — velocidad, memoria, calidad, modos de falla y el rastro del fix — medida en hardware que cualquiera puede comprar, con cada numero reproducible desde el repo. Ese es el estandar que quisimos fijar.

El rig se queda en esta configuracion congelada. El proximo capitulo cuando lo abramos.

Condiciones: mini-PC GMKtec EVO-X2 de $1.400, Qwen3.8-27B Q4_K_XL, llama.cpp ROCm, ventana de 262.144 tokens, K+V q4_0, temperature 0. Cierre del arco. Una tabla con logs linkeados: github.com/KyaniteLabs/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.

Play-1: the acceptance-inversion result

The measured nmax2 acceptance inversion: 72.2% versus 22.7% for the draft-12 control. Throughput and engine comparisons, with single-lab limits.

Adversarial custody chains: keep the attacks in the record

Signed permissions and hash-chained receipts catch real bypasses. Two acceptance-path defects were still open in the source report.

Local image generation, measured on a consumer APU

Measured sampler costs, guidance timing and model reload overhead. Quality judgments remain single-judge observations, not a leaderboard.

GPT-6 Sol vs. Luna vs. Astra: a routing policy for coding agents — and when local still wins

A routing policy for the actual GPT-6 lineup: Sol for discovery and coding, Luna for bounded high-volume processing, Astra when nothing else holds — each with a verification contract, and the lanes where a local 27B still beats all three.

The Equalizer Bench: a 3B that can't write ffmpeg, the same 3B shipping video edits, and the bug our own benchmark caught

We benchmarked our own thesis: tiny model + deterministic guardrail layer vs raw capability. The curve is textbook, the trim trap is real, and the bench indicted our own product before anyone else could.

The One-Line Bug That Crashed Our Fast Lane: finding, fixing, and measuring a speculative-decoding crash on a $1,400 mini-PC

Spec decoding crashed our fastest lane on day one. The bug was one missing line in our fork; the fix bought +17.7% and a surprise about draft quantization.

Dos modelos, una mini-PC de $1,400: los números emparejados, fracasos incluidos

Un modelo de razonamiento de 35B ya corre junto a nuestro 27B diario en una caja de $1,400, al mismo tiempo. Cada número emparejado, mismos problemas, misma máquina. Los fracasos también están aquí.

How I became a forward deployed engineer without a software engineer title

The title is new; the work is old. Twelve years of enterprise deployments plus public, measured AI work. The honest path, artifacts included.

Evals are the FDE skill nobody lists: my 495-trial public benchmark

The market says it cannot find people who can build AI evals. The skill is learnable and I published mine: 495 trials, certified floors, sabotage cell, open source.

Forward deployed vs solutions engineer vs implementation vs customer engineer: el decodificador

Cuatro títulos, una familia de trabajo, barras de código distintas. Un decodificador para leer cualquier vacante y saber en qué te estás metiendo.

Qué hace realmente un forward deployed engineer

La respuesta directa y luego los recibos: todo el trabajo de un FDE sobre un mini-PC de $1.400, con evals públicas.

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 certified trials, then re-validated at deeper n after the product changed: 965 total, floors to 92.8%.

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: 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.

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.

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.

La Contribution Economy de ResonantDAO, explicada con recibos

Lo contrario de un DAO normal: primero la contribución verificada, el token después. El primer análisis en español del movimiento, con recibos.