Un LLM de vanguardia llamado GPT-6 Astra fue capaz de mejorar la precisión en MATH-500 del modelo Qwen3.5-0.8B del 7.9% al 48.1% editando solo el 0.016% de sus pesos. Este logro se alcanzó mediante la 'programación en el espacio de pesos', un método en el que un LLM razona sobre lo que computan pesos específicos y los modifica directamente sin utilizar bucles de entrenamiento tradicionales o descenso de gradiente.
El problema de los bucles de pensamiento
Los modelos de razonamiento pequeños a menudo sufren de 'bucles de pensamiento', donde repiten las mismas líneas de razonamiento indefinidamente. En el caso de Qwen3.5-0.8B, el 93% de sus respuestas en la prueba de referencia MATH-500 alcanzaron el límite de 32,768 tokens sin llegar nunca a una conclusión.

Esta figura representa el problema de los 'bucles de pensamiento' donde los modelos repiten el razonamiento indefinidamente.
La programación en el espacio de pesos aborda esto identificando los pesos específicos responsables de estos comportamientos. Al editar estos pesos, los desarrolladores pueden eliminar obstáculos a las capacidades existentes del modelo en lugar de intentar entrenar nuevas capacidades en un modelo que carece de la capacidad necesaria.
Esta figura ilustra el resultado práctico de la programación en el espacio de pesos al mostrar una tarea de navegación exitosa.
“Astra cambió solo el 0.016% de los pesos, y la precisión en MATH-500 saltó del 7.9% al 48.1%.”
— Can a Linear Program Do Weight-Space Programming?
Mecanismo de la edición de pesos
Los Transformers utilizan conexiones residuales donde la salida de cada capa se suma a un 'flujo residual'. Cuando un modelo entra en bucle, este flujo se desplaza en una dirección constante, que los investigadores llaman la 'dirección del bucle' (u).
La edición implica modificar los pesos de las capas MLP para que empujen el flujo residual en la dirección opuesta al bucle. Astra logró esto aplicando un cambio de rango 1 a las capas 15 y 19, invirtiendo efectivamente la dirección de la salida del modelo para los tokens en bucle.

Esta figura explica el mecanismo de modificación de los pesos MLP para contrarrestar la dirección del bucle.
El método de Astra involucró una búsqueda de prueba y error, gastando aproximadamente 8 horas y 28 pasadas hacia adelante para determinar qué pesos cambiar y en qué medida.
De la prueba y error a la programación lineal
La búsqueda del cambio de peso óptimo puede enmarcarse como un programa lineal. Al etiquetar los tokens como 'en bucle' o 'productivos' y registrar sus activaciones, el problema se convierte en encontrar un vector (v) que aleje a los tokens en bucle de la dirección del bucle mientras apenas afecta a los productivos.
Resolver esto como un LP con una minimización de norma L1 produce naturalmente una solución dispersa, seleccionando solo las columnas de pesos más críticas para modificar. Mientras que la búsqueda de Astra tomó horas, un solucionador LP acelerado por GPU puede encontrar una solución comparable en aproximadamente un minuto.
Las pruebas mostraron que la edición derivada de LP coincidió con el rendimiento de Astra en pruebas de referencia como MATH-500 y GSM8K mientras modificaba significativamente menos pesos (16,291 frente a los 130,188 de Astra).
Gráfico de HN Digest basado en cifras de nathan.rs; los valores se muestran como en la fuente.
Limitaciones y vectores de dirección
El método LP actual todavía depende de Astra para identificar las capas específicas y el vector de dirección del bucle. Aún no selecciona de forma autónoma las capas óptimas para la intervención.
Curiosamente, se descubrió que el empuje del LP era casi constante a través de los tokens, lo que significa que la corrección también podría implementarse como un 'vector de dirección' (steering vector): un valor fijo añadido al flujo residual en cada token. Esto proporciona un equilibrio entre una edición de pesos permanente y una modificación de inferencia en tiempo de ejecución.