18°
← al blog

Reels

40 · desliza o usa las flechas

  1. 1:05

    01 / 40

    Un modelo que no escribe, solo decide: puse a Intern-Decision a predecir la lluvia sin entrenarlo

    En 65 segundos y con narración: un oráculo que no habla, solo levanta una tarjeta con un número. Lo que se rompió al instalarlo, los 19,9 ms por consulta, el AUC de 0,823 prediciendo la lluvia sin entrenar y el techo de 0,62 en sus probabilidades. Todas las cifras son las medidas. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  2. 1:29

    03 / 40

    Cómo funciona hoy la compresión de archivos (y cómo le gané 2,86% a zlib con teoría de grafos)

    En 89 segundos y narrado: el parseo de DEFLATE como camino mínimo en un grafo (44 bits de la salida real de zlib contra 36 bits del óptimo verificado por fuerza bruta en el ejemplo), el árbol de Huffman que se itera (-8,5% en un archivo real), y el resultado real sobre 29 archivos: -2,86% contra zlib, verificado byte a byte. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  3. 1:12

    04 / 40

    Rust Coreutils 0.12 contra GNU 9.12: casi todo funciona igual, arrancar cuesta casi el triple y mv entre discos pierde las fechas

    En 72 segundos y narrado: Rust Coreutils (uutils) 0.12 contra GNU coreutils 9.12. El 653 de sus notas es el mejor resultado por prueba de seis corridas de su CI y no se reprodujo en mi contenedor; en cp, mv, rm, install, ls, sort y du fallan solo 3 pruebas. En rendimiento, uutils es más lento en 91 de 157 celdas (arrancar un proceso cuesta casi el triple), pero gana en 45. Y mv entre discos pierde la fecha de modificación. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  4. 1:16

    05 / 40

    Dragonfly 2.0 contra Redis 8 y Valkey 9: con 2 CPU gana por mucho, con 4 depende de cómo configures a los otros

    En 76 segundos y narrado: Dragonfly 2.0, Redis 8 y Valkey 9 con el mismo presupuesto de CPU. Con 2 CPU y sin pipeline Dragonfly gana sobre Redis por defecto (342.601 contra 172.081 operaciones por segundo con io_uring) y usa entre 8 y 15 % menos memoria por clave, pero con 4 CPU y sin pipeline el banco no ordena a los tres, y con pipeline 16 ganan Redis y Valkey con io-threads (4,21 y 4,04 millones contra 2,73). Es una sola carga medida, con un banco de lazo cerrado. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  5. 1:07

    06 / 40

    CUDA en Rust contra CUDA C++: Rust gana por 3,2 % hasta que compruebas que no calculan lo mismo

    En 67 segundos y narrado: el mismo kernel de Mandelbrot en cuda-oxide, CUDA escrito en Rust, y en CUDA C++ sobre una RTX 4070 Ti SUPER. Con las opciones por defecto Rust sale 3,2 % más rápido, pero las dos imágenes difieren en 27.510 píxeles porque cada cadena de compilación fusiona operaciones distintas en FMA. Con la FMA apagada las salidas coinciden bit a bit y Rust queda 7 % más lento; la causa del 3 % no está establecida. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  6. 1:11

    07 / 40

    Wild le gana a mold enlazando Rust en 20 de 20, y en release el enlazador ya no es el cuello de botella

    En 71 segundos y narrado: Wild contra mold enlazando ripgrep y cargo, con la mediana de 20 repeticiones. Wild ganó las 20 de cada proyecto, por 1,9 ms en ripgrep y unos 8 ms en cargo. Con rust-lld como enlazador por defecto, el enlace es de 2 a 5 % de un rebuild en release de 2,2 a 2,6 s, y cerca de 1 % con mold o Wild. Incluye el fallo de mi banco: un enlazador falso pasado con -B nunca se ejecutó. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  7. 51 s

    08 / 40

    Red neuronal explicada: igualó al boosting con 2.177 pesos, y cambiar la semilla le movió el AUC 0,004

    En 51 segundos y narrado: una capa oculta de 128 unidades igualó a un boosting en la prueba; por qué sin capa oculta la red es exactamente una regresión logística; qué pasa cuando crece de más; cuánto mueve el resultado cambiar solo la semilla; y qué gana a cambio en tamaño y en latencia por fila. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  8. 46 s

    09 / 40

    Transformer explicado: quedó bajo tres modelos más simples, y entre las candidatas de arriba la rejilla ordenó al revés

    En 46 segundos y narrado: por qué el Transformer quedó por debajo de tres modelos más simples; los 9.633 pesos que eligió la regla y los 0,007 de AUC que lo separan del boosting; cómo el orden de las once arquitecturas se dio vuelta al pasar de la validación a la prueba; qué pasó al quitarle la atención; y la capa que lo protege del cambio de unidades dejándole muda una columna. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  9. 49 s

    10 / 40

    KNN explicado: entrenar tardó 0,007 s, predecir 5,5 s y con k = 1 memorizó lo que vio

    En 48 segundos y narrado: ajustar KNN tomó siete milésimas de segundo y puntuar la prueba, cinco y medio; cómo decide con sus vecinos y por qué con uno solo memoriza; cómo la humedad sin escalar se queda con la distancia; por qué los árboles de búsqueda fueron más lentos que la búsqueda exhaustiva; y dónde quedó frente a la regresión logística y un boosting. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  10. 50 s

    11 / 40

    Naive Bayes explicado: entrenó en 0,008 s y pesa 1,3 KB, pero el 62 % de sus probabilidades quedó en los bordes

    En 50 segundos y narrado: el modelo entero pesa 1,3 kilobytes y se ajustó en ocho milésimas de segundo; cómo mira cada variable por separado dentro de cada clase; qué pasa cuando una columna se duplica siete veces; por qué seis de cada diez días reciben una probabilidad pegada a cero o a uno; y cómo se comporta con solo treinta filas de entrenamiento. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  11. 50 s

    12 / 40

    SVM explicada: la presión en Pa hundió el AUC a 0,555 y el kernel exacto tardó 51 segundos

    En 50 segundos y narrado: la misma SVM sin escalar se derrumba cuando una variable cambia de unidades; qué son el margen y los vectores de soporte; cómo gamma curva la frontera hasta memorizar; cuánto crece el costo de entrenar al usar todas las filas; y cómo aproximar el kernel con Nystroem y un modelo lineal. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  12. 44 s

    13 / 40

    Árbol de decisión explicado: 15 nodos que se leen, 8.524 hojas que memorizan

    En 44 segundos y narrado: un árbol de decisión sin límite llegó a AUC 1,000 en los días con que aprendió y bajó a 0,689 en días nuevos; pregunta una variable a la vez; sin freno creció a más de 8.500 hojas y con profundidad 7, elegida en validación, rindió mejor; la primera pregunta casi no cambia, pero las predicciones no coinciden en un tercio de los días; y para números predice a escalones, plano más allá de lo que vio. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  13. 1:05

    14 / 40

    ExLlamaV3 contra llama.cpp con Qwen3.8-27B en 16 GB: decodifica más rápido, pero no siempre gana

    En 65 segundos y narrado: el mismo Qwen3.8-27B en la misma GPU de 16 GB, con ExLlamaV3 y llama.cpp recibiendo los mismos tokens. Con MTP en código, 103,1 tokens por segundo contra 79,5; en un turno agéntico de 11 mil tokens la ventaja se encoge a 8,62 contra 9,29 segundos; y en calidad ExLlamaV3 gana con archivos de 13 GB y pierde con los de 15 GB. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  14. 53 s

    15 / 40

    Gradient boosting explicado: 594 árboles en cadena que entrenan 9 veces más rápido que un bosque

    En 53 segundos y narrado: con tasa de aprendizaje 1,0, gradient boosting se desestabilizó y tras 3.000 rondas quedó en AUC 0,681, menos que un árbol de decisión sin límite; suma árboles pequeños en cadena y cada uno ajusta lo que les faltó a los anteriores; con tasa 0,03 la validación eligió 594 rondas y llegó a 0,883; contra un bosque de 200 árboles la diferencia no fue concluyente, pero con un hilo entrenó 9 veces más rápido y pesa 2,1 MB contra 124 MB; y con árboles de una sola pregunta necesitó casi 20.000 rondas. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  15. 52 s

    16 / 40

    K-Means explicado: le pedí cuatro tipos de día al clima de Chile y encontró Santiago

    En 52 segundos y narrado: sin decirle las ciudades, K-Means dejó el 92 % de los días de Santiago en un mismo grupo; el algoritmo de Lloyd asigna y mueve centroides; sin escalar, la humedad aporta el 76 % de la separación; la inercia no marca un codo y la silueta queda dentro del ruido entre k = 3, 5 y 6; y con k = 8, solo el 18 % de los inicios al azar queda cerca de la mejor inercia, contra el 38 % de k-means++. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  16. 1:08

    17 / 40

    Random Forest explicado: cómo vota un bosque de árboles, medido con 42 años de clima de Chile

    En 65 segundos y narrado: el diagrama viral de Random Forest dibuja los árboles en cadena, y eso es boosting. Con ocho núcleos, 200 árboles bajan de 26,1 a 3,5 segundos; el AUC sube de 0,69 con un árbol a 0,88 con cien; una columna de ruido sale importante con la medida por defecto; y entrenado con los meses fríos de 1984 a 2012, el bosque nunca predijo más de 28,9 °C en los veranos de 2016 a 2026. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  17. 55 s

    18 / 40

    Regresión lineal explicada: la recta que midió el calor en Chile y lo que la rompe

    En 55 segundos y narrado: en veranos de Santiago que ningún modelo vio, la recta erró 1,86 °C y el bosque aleatorio 3,76 °C; la máxima anual sube 0,33 °C por década en Temuco y baja en Valparaíso; sin escalar, el descenso de gradiente termina con un error de 9,8×10¹¹ °C; con 3.000 filas, el punto de rocío sale con el signo minoritario en el 46 % de las muestras; y con un 5 % de datos con la coma corrida, mínimos cuadrados sube a 7,89 °C mientras Huber queda en 1,69 °C. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  18. 41 s

    19 / 40

    Regresión logística explicada: 16 números para decidir si llueve mañana

    En 41 segundos y narrado: una recta ajustada a días con y sin lluvia da probabilidades negativas en el 9 % de los días; la regresión logística pasa la suma de las variables por una curva en forma de S; con umbral 0,5 avisa solo la mitad de las lluvias; si no avisar cuesta el triple que una falsa alarma, atrapa el 80 %; y promete 24 % de lluvia cuando llueve 20 %. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo

  19. 59 s

    20 / 40

    Un chat en Amazon Bedrock AgentCore para mi blog: lo rompí con 64 mensajes y lo rearmé con reglas fuera del prompt

    En 59 segundos y con narración: el portero reparte los mensajes, una inyección se corta trece veces antes que una respuesta completa, el verificador tacha la cifra inventada y el costo, que depende de cómo lo armes: unos 992 dólares por millón de mensajes pagando por uso, o el plan de 22 dólares al mes que usa este blog. Todas las cifras salen de lo medido. Sin sonido por defecto: actívalo en los controles.

    Leer el artículoEnlace directo