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.

Una figura que ilustra los bucles de pensamiento en un modelo de razonamiento
Un diagrama que muestra cómo los modelos de razonamiento pueden caer en bucles de pensamiento repetitivos durante la inferencia.nathan.rs

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.

Un coche en un nivel de juego saltando sobre una franja roja hacia una caja azul
Una representación visual del nivel del coche donde la edición de pesos de Astra permite que el coche salte sobre una franja roja, a diferencia del coche entrenado con PPO que permanece atascado.rikiyat.github.io

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.

Una figura que ilustra el mecanismo de edición de pesos en un transformer
Una figura técnica que muestra cómo las ediciones de pesos pueden invertir la dirección del flujo residual para romper los bucles.nathan.rs

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

Mejoras de rendimiento de Qwen3.5-0.8B: Base MATH-500 7.9%; Astra's Edit MATH-500 48.1%; LP Edit MATH-500 69.6%
Mejoras de rendimiento de Qwen3.5-0.8Bnathan.rs

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.