// M4 · lección 09
Lo que salió: cinco mediciones y cuatro criterios
Lo que salió al cerrar el hito: la cabecera dejó de ser ruido y se ve sin jugar una partida, el Elo por condición no cumple el criterio y la aritmética dice por qué, el afinado de maestros ensancha el repertorio arriba y lo hunde abajo, los adaptadores de 1,6 MB no cuestan nada, y Qwen3-0.6B pierde 160 partidas de 160.
Lección 9 de 10 del módulo «Fine-tuning e instrucción». Viene de «El selector en la demo» y cierra con los labs. Todo lo que se mide aquí lo produce el código de las lecciones 2 a 7; esta lección no añade ninguna pieza, solo lee las cinco mediciones y los cuatro criterios del hito.
Lo que salió
Las cifras son las del cierre del hito; la tabla del proyecto lleva las de una segunda medición hecha en M6, dentro de los mismos intervalos. El balance, para leer el resto sabiendo a dónde va:
| Pregunta | Respuesta |
|---|---|
| ¿La cabecera de Elo cambia algo? | Sí: el repertorio, ordenado en las seis condiciones. La fuerza, no de forma medible. |
| ¿El afinado de maestros juega mejor? | 79 puntos más, dentro del ruido. Ensancha el repertorio arriba y estropea las cabeceras bajas. |
| ¿Un adaptador de 1,6 MB cambia el estilo sin coste? | Sí: la probabilidad de 1. e4 sube al 99,85 %, sin perder una décima en ninguna otra métrica. |
| ¿Merecía la pena escribir un modelo propio? | Sí: Qwen3-0.6B afinado con las mismas partidas pierde 160 de 160, y una de cada tres respuestas es ilegal. |
| ¿Se cumplen los criterios del hito? | Tres de cuatro. El que falla, el Elo por condición, es el que deja las tres herramientas de medida del módulo. |
En una frase: el comportamiento se mueve del todo y la competencia no se mueve nada.
La cabecera dejó de ser ruido, y se ve sin jugar una partida
La primera medida no necesita ni una partida: la entropía, en bits, de la softmax del modelo sobre las veinte primeras jugadas legales. Sin muestreo no hay varianza entre tiradas, y tampoco depende de Stockfish ni de la escalera: mide una propiedad de los pesos y solo eso.
| Cabecera | medium-v4 |
medium-elo |
|---|---|---|
<w1200> |
2,8556 bits | 1,5955 |
<w1500> |
2,9369 | 1,6470 |
<w1800> |
1,7695 | 1,7408 |
<w2000> |
1,8694 | 1,8406 |
<w2100> |
1,9033 | 1,8809 |
<w2400> |
2,0104 | 1,9916 |
Ahí hay tres cosas.
La huella del suelo del corpus está en los pesos. En medium-v4 hay un escalón de 1,17 bits
entre <w1500> y <w1800>, justo donde min_elo: 1800 cortaba los datos. Y por debajo del suelo el
modelo está menos decidido que en cualquier cabecera que conoce. Eso no es debilidad, porque un
jugador débil tiene un repertorio estrecho; es ruido en la entrada.
Después del afinado, el eje es monótono y con el signo correcto: 1,5955 → 1,6470 → 1,7408 →
1,8406 → 1,8809 → 1,9916 bits, seis de seis. Un jugador de club abre 1. e4 o 1. d4 y poco más
(66,9 % de e2e4 a 1200); el repertorio se ensancha con la fuerza (47,2 % a 2400). El modelo
reproduce esa forma sin que el objetivo de entrenamiento mencione la entropía por ninguna parte.
Por encima de 1800, los dos modelos coinciden: el afinado llenó lo que faltaba sin deshacer lo que había. Si la escalera de Elo sale ambigua, y en este módulo sale, esta medida sigue siendo evidencia de que la cabecera dejó de ser ruido.
// Ejercicio 01¿Qué entropía esperas en la cabecera 800, y por qué no la que sugiere la tabla?
La tabla de arriba es monótona de 1200 a 2400: 1,5955 → 1,9916 bits. Si prolongaras esa recta
hacia abajo, <w0800> saldría por debajo de 1,6. Antes de creértelo, mira de dónde sale el corpus
del afinado (min_bin: 1000 en pipeline-low.yaml) y el filtro del preentrenamiento
(min_elo: 1800). ¿Qué ha visto ese token? ¿Qué firma esperas, y a qué fila de la tabla se
parece más? ¿Por qué el selector de la demo no lo ofrece?
// SoluciónVer la solución
Ninguno de los dos corpus contiene una sola partida con <w0800>: el preentrenamiento cortaba en
1800 y el corpus plano empieza en 1000. Su embedding sigue siendo el vector aleatorio de media
cero y desviación 0,02 que dejó la inicialización, así que la firma esperada no es la de un
jugador muy flojo (repertorio estrecho, entropía por debajo de los 1,5955 de <w1200>) sino
la del ruido en la entrada: una distribución menos decidida que la de cualquier cabecera
entrenada, como los 2,86 y 2,94 bits que medium-v4 daba en <w1200> y <w1500> antes del
afinado. Se parece a la columna izquierda de la tabla, no a la derecha. El número exacto no se
puede predecir (el afinado de maestros enseña más abajo que un token sin gradiente se mueve
igualmente, de 2,856 a 3,307 bits, porque el resto del modelo cambia debajo de él), pero el signo
de la anomalía sí: un escalón hacia arriba entre <w1000> y <w0900>, donde vuelve a cortar el
corpus. Y por eso el selector ofrece seis condiciones medidas y no veintisiete: ofrecer <w0800>
sería prometer un jugador de 800 y entregar un vector aleatorio.
El Elo por condición: el criterio que no se cumple, y por qué no es cuestión de partidas
Ahora la medida cara: seis condiciones, la suite entera en cada una y 160 partidas por fila contra los ocho peldaños de Stockfish. Solo cambian los dos tokens de la cabecera.
| Cabecera | Elo | IC 95 % |
|---|---|---|
<w1200> |
1425 | 1361 – 1479 |
<w1500> |
1549 | 1481 – 1609 |
<w1800> |
1498 | 1435 – 1552 |
<w2000> |
1538 | 1479 – 1597 |
<w2100> |
1606 | 1543 – 1670 |
<w2400> |
1644 | 1578 – 1707 |
Elo medido pidiéndole al modelo que juegue a cada nivel
Una fila por condición. La barra es el intervalo de confianza del 95 %; la marca, la estimación. Todo lo demás de la medición es idéntico entre filas: mismos rivales, mismas posiciones, misma semilla, misma temperatura.
- 1200 → 1500: los intervalos se separan
- 1500 → 1800: los intervalos se solapan
- 1800 → 2000: los intervalos se solapan
- 2000 → 2100: los intervalos se solapan
- 2100 → 2400: los intervalos se solapan
- Elo medido
- 1644 (IC 1578–1707)
- Legales sin máscara
- 99.70 %
- Top-1
- 53.30 %
- Puzles
- 38.08 %
Estimaciones no monótonas · intervalos no separados · 219 Elo entre extremos
El recorrido no es mérito del condicionamiento por sí solo: el modelo sin afinar cubre 161 de esos puntos con una cabecera que nunca entrenó. La diferencia entre los dos está en las otras columnas, no en el Elo.
El criterio del hito es literal: Elo(<w1500>) < Elo(<w2000>) < Elo(<w2400>), con intervalos.
No se cumple. El primer par va del revés (1549 contra 1538) y ninguno de los intervalos que
nombra el criterio se separa del siguiente.
«No separado» tiene dos causas que en el informe se escriben igual: faltan partidas o no hay diferencia. Distinguirlas es aritmética y cuesta un segundo en vez de una noche de máquina.
Cuántas partidas harían falta
Lo que la escalera mide es una tasa de puntos (victorias más medio empate, entre partidas
jugadas), y el Elo es una transformación de esa tasa. Una tasa es una proporción: su error típico es
sqrt(p(1-p)/n), y dos intervalos del 95 % dejan de tocarse cuando la distancia entre las tasas
supera 1,96 (se₁ + se₂). Despejando, para proporciones cerca de la mitad: n > 3,84 / (Δp)²
partidas por condición. La derivación paso a paso, con una moneda, está en la
estadística justa de M2.
Piensa en dos monedas. Una cae cara el 46 % de las veces y la otra el 45 %: para distinguirlas hacen falta decenas de miles de lanzamientos. Si una cae cara el 46 % y la otra el 60 %, bastan unas decenas. Lo que dispara la cuenta es el cuadrado de la diferencia en el denominador.
Con los números de la tabla (labs/m4/games_needed.py, lab 6):
| Par | tasa | Δ | partidas por condición |
|---|---|---|---|
<w1500> → <w2000> |
0,466 → 0,453 | −0,013 | 24 420 |
<w2000> → <w2400> |
0,453 → 0,569 | +0,116 | 284 |
<w1500> → <w2400> |
0,466 → 0,569 | +0,103 | 357 |
<w1200> → <w2400> |
0,331 → 0,569 | +0,238 | 64 · ya separado |
Las dos primeras filas dicen «no separado» en el informe y significan lo contrario. 284 partidas son una hora de máquina: un problema de medición que se arregla midiendo más. 24 420 son sesenta horas de Stockfish para estrechar el intervalo alrededor de una diferencia que no está: eso es un resultado, y medir más no lo cambia.
Así que el criterio se declara no cumplido y no se vuelve a pagar por <w2000>; sí por el par
exterior, con 400 partidas por condición. Lo que sí está medido es que los extremos del eje se
separan y que el eje mueve 219 puntos de Elo de punta a punta. El criterio se queda como estaba
escrito: no se reescribe cuando sale que no.
// Ejercicio 02¿Qué diferencia puede ver este instrumento?
Dale la vuelta a la fórmula. Con 160 partidas por condición, lo que jugó el barrido, ¿cuál es la
diferencia de tasa de puntos más pequeña que dos intervalos del 95 % pueden separar? ¿Y con 1 000?
Convierte las dos a puntos de Elo alrededor de una tasa de 0,5 (400 · log₁₀(p / (1 − p))) y
compáralas con las distancias entre condiciones contiguas del barrido, en orden de cabecera: 124,
51, 40, 68 y 38 puntos.
// SoluciónVer la solución
De n > 3,84 / (Δp)² sale Δp > sqrt(3,84 / n). Con n = 160: sqrt(0,024) = 0,155. Con
n = 1 000: sqrt(0,00384) = 0,062. En Elo, una tasa de 0,655 frente a 0,5 son
400 · log₁₀(0,655 / 0,345) = 111 puntos (los «unos 110» del lab 6) y una de 0,562 frente a 0,5
son 400 · log₁₀(0,562 / 0,438) = 43. O sea: el barrido de 160 partidas no puede separar nada
por debajo de unos 110 puntos, y cuatro de las cinco distancias contiguas están por debajo; solo
1200→1500 (124) lo supera, y es la única pareja contigua cuyos intervalos se separan (1479 frente
a 1481). Con 1 000 partidas por condición (seis veces más máquina, cerca de tres horas por fila)
el umbral bajaría a unos 43 y alguna distancia contigua más lo superaría sobre el papel, siempre
que se mantuviera al medir más, que es justo lo que una tirada de 160 no puede prometer. Y aun
así chocaría con el suelo de reproducibilidad del apartado siguiente, unos 40 puntos de una
sigma: más partidas estrechan lo que mide nuestro muestreo, no lo que mueve Stockfish. Un
resultado negativo sin esta frase («habría visto cualquier efecto mayor de X») no es un
resultado.
Lo mismo, medido dos veces, se mueve 60 puntos
Hay un número más que decide cómo leer toda la tabla. medium-elo a <w1800> se midió dos veces,
en el barrido y en la evaluación canónica de la etapa, con la misma configuración en todo lo que
afecta a las partidas, incluida la semilla.
| tasa | Elo | IC 95 % | |
|---|---|---|---|
| tirada A (barrido) | 0,409 | 1498 | 1435 – 1552 |
| tirada B (canónica) | 0,475 | 1558 | 1500 – 1609 |
Sesenta puntos entre dos tiradas del mismo modelo con la misma semilla, y no es un fallo: la semilla
fija nuestro muestreo, no el de Stockfish, que juega por tiempo y aleatoriza a propósito para
acertar el Elo que se le pide. La diferencia de tasa, 0,0656, frente a un error típico de la
diferencia de sqrt(2p(1-p)/160) = 0,0555, son 1,18 σ: ruido de manual.
Es pesar una maleta dos veces en la báscula del baño y leer 22,4 y 23,1 kg. Antes de decidir si la maleta B pesa más que la A hay que saber que la báscula se mueve casi un kilo sin que nadie toque nada; cualquier diferencia entre maletas más pequeña que eso no es una diferencia entre maletas.
Comparar dentro de una tirada es válido; entre tiradas, no. Por eso la tabla del proyecto lleva la canónica (1558) y el barrido la suya, y cada número dice de qué ejecución sale.
El control que impide cantar victoria
Hay un número que sí sale bien y no significa lo que parece. De <w1200> a <w2100> el modelo
condicionado va de 1425 a 1606, con los intervalos separados. Leído solo, eso es «el
condicionamiento da fuerza», y habría sido el titular del hito.
La otra explicación es que cualquier modelo puntúe menos con una cabecera baja. Se comprueba
corriendo el mismo barrido sobre el modelo base, para el que <w1200> es un vector de la
inicialización. Es el grupo de control de un ensayo clínico: una parte de los pacientes mejora sin el
fármaco, y al fármaco solo se le atribuye lo que mejora por encima de eso.
| Cabecera | Modelo | Elo | IC 95 % |
|---|---|---|---|
<w1200> |
medium-v4 (base) |
1419 | 1358 – 1479 |
<w1200> |
medium-elo |
1425 | 1361 – 1479 |
<w2100> |
medium-v4 (base) |
1580 | 1512 – 1649 |
<w2100> |
medium-elo |
1606 | 1543 – 1670 |
El modelo sin afinar también recorre el eje: 161 puntos, con los intervalos separados, y no puede
ser condicionamiento porque su <w1200> nunca recibió un gradiente. Un prefijo desconocido le
estorba, y eso cuesta unos 160 puntos. El afinado mueve 181, dentro del ruido de esos 161.
La evidencia está en las otras columnas de la misma tirada. A la misma cabecera y con el mismo Elo, los dos modelos no se parecen en nada más:
<w1200> |
legal | top-1 | puzles | entropía 1.ª |
|---|---|---|---|---|
medium-v4 (base) |
99,60 % | 49,80 % | 36,42 % | 2,856 |
medium-elo |
100,00 % | 51,40 % | 37,02 % | 1,596 |
Cero jugadas ilegales contra cuatro de mil, punto y medio más de top-1 y 1,26 bits menos de entropía
de primera jugada. El afinado convirtió «ruido en la entrada» en «un jugador de club decidido», y
eso se ve en todo menos en el resultado contra Stockfish. A <w2100>, en cambio, los dos modelos
coinciden en todas las columnas: esa cabecera siempre estuvo entrenada, y que el afinado no la
tocara es la prueba de que no hubo olvido catastróficoOlvido catastróficoCuando afinar un modelo con datos nuevos le hace perder lo que sabía. No avisa: la pérdida sobre los datos nuevos baja mientras la capacidad vieja se deshace. La defensa no es una técnica sino una medición: se afina con tasa baja, pocos pasos, y se vuelve a medir contra el listón anterior. En M4 el listón es el Elo del modelo base; si el afinado por Elo lo hundiera, el eje habría salido caro..
Entonces, ¿qué mueve la cabecera?
Las otras tres columnas de la misma tirada lo dicen, y ninguna es el Elo.
| Cabecera | legal argmax | top-1 | puzles |
|---|---|---|---|
<w1200> |
100,00 | 51,40 % | 37,0 % |
<w1500> |
100,00 | 53,90 % | 37,7 % |
<w1800> |
99,80 % | 54,10 % | 38,2 % |
<w2000> |
99,70 % | 54,00 % | 38,0 % |
<w2100> |
99,70 % | 53,40 % | 38,1 % |
<w2400> |
99,70 % | 53,30 % | 38,1 % |
Los puzles no se mueven: 1,2 puntos de rango sobre 6 000 puzles, sin orden. Un puzle mide táctica, y
la táctica del modelo es la misma le pidas lo que le pidas. El top-1 parece tener un máximo en
<w1800> (las posiciones de validación son partidas de media cercana a 1800), pero con 1 000
posiciones por fila el error típico es de ±1,6 puntos y el recorrido entero, 2,8, no llega a dos
sigmas. Y la legalidad baja tres jugadas de mil al subir la cabecera: un repertorio más ancho sale
más a menudo de las líneas trilladas.
Las tres columnas, más la entropía monótona, cuentan la misma historia: la cabecera mueve el estilo, no la fuerza táctica.
La moda y la cola: una segunda explicación, contrastada
Fíjate en qué parte de la distribución lee cada columna:
| Columna | Qué lee de la distribución | Resultado |
|---|---|---|
| entropía de 1.ª jugada | la softmax entera | monótona 6/6 |
| top-1 contra jugada humana | la moda | se mueve 2,8 puntos, dentro de ±1,6 σ |
| puzles | la moda | plano |
| Elo | la moda | plano |
Todo lo que mide la distribución completa se ordena; lo que mide solo la moda, no. Y podría no ser
casualidad: la suite juega siempre la jugada más probable (top_k: 1), y la diferencia entre un 1200
y un 2400 quizá no está en la moda (los dos hacen la recaptura obvia) sino en la cola, en cada
cuánto eligen algo malo. Si fuera eso, bastaría con dejar de jugar el pico. Se contrastó con la misma
escalera a temperatura 1,0 y top-k 20, el ajuste de la demo, en las dos puntas del eje.
<w1200> |
<w2400> |
brecha ÷ anchura media del IC | |
|---|---|---|---|
| moda (greedy) | 1425 (1361–1479) | 1644 (1578–1707) | 1,78 |
| muestreado (T=1,0) | 1002 (866–1109) | 1272 (1193–1340) | 1,38 |
La última columna dice cuántos intervalos caben en la brecha. En Elo la brecha se ensancha, de 219 a 270 puntos, pero los intervalos se ensanchan más, y el cociente baja de 1,78 a 1,38. En la tasa de puntos, donde de verdad se mide, la diferencia se encoge: de 0,2375 (4,40 σ) a 0,1375 (3,85 σ). No era eso.
Muestrear a temperatura 1,0 le cuesta al modelo unos 400 puntos de Elo y lo tira por debajo del rango
en el que la escalera está calibrada: a <w1200> gana cinco partidas de 160, aplastado contra el
suelo. En un rincón no se distinguen dos cosas mejor que en el medio.
Quedan dos ideas que valen fuera del ajedrez. Un instrumento tiene un rango, y un tratamiento que saca al sujeto de ese rango esconde el efecto en vez de revelarlo. Y un modelo son sus pesos más cómo se decodifican: aquí el decodificador vale 400 puntos de Elo, más que todo lo que separa a las seis condiciones. Con un LLM, dos temperaturas sobre los mismos pesos son dos modelos distintos.
El afinado de maestros: el corpus estrecho se nota en los dos extremos
El otro afinado le da al mismo medium-v4 3 800 pasos más sobre partidas de élite. El diseño
predecía «sube el Elo, baja la diversidad», y la segunda mitad sale del revés.
| Cabecera | medium-v4 |
medium-masters |
|---|---|---|
<w1200> |
2,8556 bits | 3,3067 ↑↑ |
<w1500> |
2,9369 | 3,3340 ↑↑ |
<w1800> |
1,7695 | 1,8850 |
<w2000> |
1,8694 | 1,9680 |
<w2100> |
1,9033 | 1,9871 |
<w2400> |
2,0104 | 1,9972 |
Arriba, el repertorio se ensancha: a <w1800> la entropía sube de 1,7695 a 1,8850 bits. La élite
juega más aperturas distintas que el jugador medio de 1800; la intuición de que «afinar concentra»
venía de pensar en el modelo, no en los datos.
Abajo, el agujero se hace más hondo: a <w1200> la entropía pasa de 2,856 a 3,307 bits. Este
afinado tampoco entrenó las cabeceras bajas y movió todo lo que las rodea: un token sin gradiente no
se queda quieto, porque las capas que atraviesa son las mismas que usan todos los demás.
Y arriba del todo se le acaba el eje: entre <w2100> y <w2400> el base separa 0,107 bits y el
de maestros solo 0,010. Para un modelo entrenado solo con élite, «2100» y «2400» quieren decir casi
lo mismo.
¿Y la primera mitad de la predicción, la de que sube el Elo? Sube, y no lo suficiente como para poder decirlo:
| Elo | IC 95 % | top-1 | puzles | |
|---|---|---|---|---|
medium-v4 (base) |
1504 | 1446 – 1558 | 54,4 % | 37,5 % |
medium-masters |
1583 | 1525 – 1641 | 54,9 % | 38,0 % |
medium-elo |
1558 | 1500 – 1609 | 54,9 % | 37,8 % |
Setenta y nueve puntos con los intervalos solapados y un suelo de reproducibilidad de unos 40: dos sigmas, sugerente pero no establecido. Ninguno de los dos afinados mueve la fuerza de forma demostrable, y los dos mueven cosas que sí se ven: el de maestros ensancha el repertorio y estrecha el eje; el condicionado ordena el repertorio y arregla la mitad que era ruido. Ninguno enseña táctica, porque la táctica no estaba en el objetivo de entrenamiento.
Los adaptadores: 1,6 MB que fijan una decisión y no cuestan nada
Cada adaptador de estilo son 1 578 824 bytes sobre unos pesos de 460 MB que no se tocan. Lo que hacen, medido sobre la distribución de la primera jugada, sin muestreo:
| Modelo | entropía | e2e4 |
d2d4 |
|---|---|---|---|
medium-v4 |
1,7695 | 59,64 % | 26,68 % |
con lora-e4 |
0,0209 | 99,85 % | 0,06 % |
con lora-d4 |
0,0160 | 0,06 % | 99,88 % |
Unas pocas notas adhesivas, y el libro abre siempre por la misma página. ¿Qué costó? Medido con la misma suite, salvo la escalera:
| legales sin máscara | top-1 | puzles | |
|---|---|---|---|
medium-v4 |
99,80 % | 54,40 % | 37,50 % |
con lora-e4 |
99,80 % | 54,70 % | 37,80 % |
Nada. El 0,34 % del modelo que se movió cambió por completo una decisión y dejó intacto todo lo demás. La otra métrica de diversidad dice lo contrario que la primera, y también tiene razón:
| entropía de 1.ª jugada | líneas distintas | entropía de líneas | |
|---|---|---|---|
con lora-e4 |
0,021 bits | 199 de 200 | 7,634 de 7,644 bits |
Con la primera jugada clavada en 1. e4, doscientas auto-partidas de doce pliesPly (media jugada)Una jugada de un solo bando. 1. e4 e5 son dos plies y una jugada completa. Los filtros del recorte y las longitudes de secuencia del modelo se cuentan en plies porque es lo que ve el modelo: un token por ply. produjeron 199 líneas distintas: el adaptador fijó el primer movimiento y no tocó los once siguientes.
Un límite: el corte first_move: e2e4 es un corpus de una sola clase, y el adaptador aprendió lo
único que se podía aprender de él, «aquí siempre se juega 1. e4». Enseñar un repertorio exigiría
cortar por jugador y no por jugada. Con un LLM pasa lo mismo: un conjunto de SFT donde todas las
respuestas empiezan igual enseña esa muletilla antes que cualquier otra cosa.
Qwen3 contra el decoder: la pregunta que el curso llevaba tres módulos sin contestar
Mismas partidas, mismo harness, mismos rivales; solo cambia la representación. Y el presupuesto es
generoso con Qwen: 600 millones de parámetros que ya saben hablar, r = 16 sobre las cuatro
proyecciones de atención y unos 24 M de tokens de ajedrez. Pierde por mucho.
| Métrica | medium-v4 (decoder) |
qwen3-pgn-qlora |
|---|---|---|
| Parámetros | 115 120 128 | 600 637 440 |
| Jugadas legales sin máscara | 99,8 % | 62,50 % |
| Top-1 contra jugada humana | 54,4 % | 12,5 % |
| Puzles resueltos | 37,5 % | 0,9 % |
| Elo estimado | 1504 (1446–1558) | < 807 |
Ese último número es una cota: Qwen perdió las 160 partidas, incluidas las veinte contra el peldaño más flojo, y cuando no se gana ni una no hay curva que ajustar. Y la columna que el decoder no puede ni tener:
| Cómo falló la respuesta | Cuota |
|---|---|
| legal | 62,50 % |
| ilegal aquí | 33,70 % |
| no es una jugada | 2,90 % |
| SAN ambigua | 0,90 % |
| no escribió nada | 0,00 % |
Una de cada tres respuestas es una jugada bien escrita que esa posición no permite, y casi cuatro de cada cien ni siquiera son una jugada. El decoder no puede cometer esos errores: su vocabulario es el conjunto de jugadas. El afinado en sí fue barato, el 0,76 % de los parámetros, y los cuatro bits apenas ahorraron memoria a esta escala.
Los cuatro criterios, uno por uno
El plan escribió cuatro condiciones para este hito antes de medir nada. Así quedan.
- Elo por condición monótono (1500 < 2000 < 2400 con IC): no se cumple. Falla ya en su primer par (1549 contra 1538). No es falta de partidas (harían falta 24 420 por condición), ni el instrumento roto (el modelo sin afinar recorre el mismo eje), ni mala suerte de una tirada. Es que la cabecera no mueve la fuerza. Se publica incumplido, con los números.
- Tabla comparativa con Qwen afinado con QLoRA sobre el mismo recorte: se cumple. Está arriba.
- Publicados con card los cinco artefactos: se cumple. Son seis repos del Hub: los cinco
artefactos entrenados (
medium-elo,medium-masters,lora-e4,lora-d4yqwen3-pgn-qlora) yrukh-medium-lora, el grafo adaptable de la base sobre el que se montan los adaptadores. Al cerrar el hito quedaron preparados en seco y la subida esperó al visto bueno del proyecto; hoy están todos enchorcat/. Cada card se genera de su propia ejecución, con la paridad ONNX al lado; la de un adaptador dice lo que cambió y lo que costó. - En la demo, el selector de Elo y los adaptadores intercambiables: se cumple. Seis condiciones
medidas y ninguna más, y un solo
.onnxdescargado en toda la prueba de navegador.
La lección que cierra el módulo son los labs que producen cada número de esta página. Sigue en «Los labs del afinado».