OpenAI busca explicar el comportamiento de las neuronas en modelos de lenguaje natural
OpenAI usó GPT-4 para explicar neuronas de GPT-2 y —esto es lo que se cayó de casi todos los resúmenes— para puntuar esas explicaciones: si la hipótesis es correcta, debe servir para predecir cuándo se activará la neurona. Publicó código, datos y visor para que cualquiera lo compruebe. Y meses después corrigió su propio conjunto de datos por un fallo en la función de activación. Qué enseña el método, y la pregunta que sirve para juzgar cualquier explicación.
En mayo de 2023, OpenAI publicó un trabajo titulado «Language models can explain neurons in language models» —los modelos de lenguaje pueden explicar neuronas de modelos de lenguaje—, cuya propia descripción resume el método en una frase: «Usamos GPT-4 para explicar automáticamente neuronas de GPT-2, y para puntuar esas explicaciones».
La segunda mitad de esa frase es la que importa, y es justo la que se cayó de casi todos los resúmenes que circularon. Que una máquina genere una explicación es fácil. Que esa explicación se someta a una prueba que pueda suspender es otra cosa completamente distinta, y es lo que separa un resultado científico de un cuento bien contado.
Por qué explicar una neurona es difícil
Dentro de un modelo de lenguaje hay cientos de miles de unidades que se activan más o menos ante cada fragmento de texto. Mirar una y preguntarse «¿de qué se ocupa esta?» parece razonable, y durante años se hizo a mano: un investigador observaba en qué textos se disparaba una unidad concreta y proponía una etiqueta —«se activa con nombres de países», «responde a comillas de cierre»—.
El problema de ese procedimiento es doble. Es lentísimo, porque hay demasiadas unidades para inspeccionarlas una a una. Y es tramposo sin querer: si uno mira los diez textos donde una neurona más se activa y busca qué tienen en común, casi siempre encuentra algo. La mente humana es una máquina excelente de fabricar patrones a partir de diez ejemplos. Esa etiqueta puede describir la neurona o puede describir al investigador.
Los tres pasos, y por qué el segundo lo cambia todo
El método de OpenAI se organiza, según el propio documento, en tres etapas: explicación, simulación y puntuación.
En la primera, un modelo potente recibe ejemplos de texto junto con lo que hizo la neurona en cada uno, y redacta en lenguaje natural una hipótesis sobre qué la activa. Hasta aquí es la práctica manual de siempre, automatizada.
La segunda etapa es la idea de verdad. En vez de preguntar «¿suena convincente esta explicación?», se coge la explicación, se le entrega a un modelo sin enseñarle las activaciones reales, y se le pide que prediga cuánto se activaría esa neurona en textos nuevos. Es decir: si la explicación es correcta, debería servir para predecir.
La tercera etapa compara esas predicciones con lo que la neurona hizo realmente y produce un número. Una explicación que no predice saca mala nota, por bonita que suene.
Aquí está la capacidad que se lleva usted, y sirve mucho más allá de la interpretabilidad: una explicación que no permite predecir nada no es una explicación, es una descripción. Sirve para juzgar por qué se cayó un servidor, por qué subió una acción o por qué a un paciente le funciona un tratamiento. La pregunta que lo separa todo es siempre la misma: si esto que me cuentas fuera cierto, ¿qué debería pasar la próxima vez? Y después: ¿lo comprobamos?
¿Y quién comprueba al que comprueba?
Queda una objeción evidente, y es la que hace falta hacerse siempre ante un sistema automático que se evalúa a sí mismo: si el que explica y el que puntúa son los dos modelos de lenguaje, ¿cómo sabemos que no se están dando la razón mutuamente?
El repositorio deja ver cómo se aborda. Entre los ejemplos de uso publicados hay uno dedicado a «generar explicaciones para puzles de neuronas escritos por humanos»: casos construidos a mano en los que se sabe de antemano cuál es la respuesta correcta. Si el sistema automático resuelve puzles cuya solución conocemos, se gana una parte de la confianza que necesita para los casos en que no la conocemos.
Esa idea —fabricar deliberadamente problemas con solución conocida para calibrar un instrumento— es tan vieja como la metrología y sigue siendo la mejor defensa contra un sistema que se autoevalúa. Vale igual para un modelo, para un test médico o para un cuadro de mando de empresa: antes de creerle en lo que no sé, quiero verle acertar en lo que sí sé.
Hay una segunda cautela dentro del propio método. Las explicaciones se generan por dos vías distintas —a partir de las activaciones y a partir de los tokens con activación media más alta—, y disponer de dos caminos permite ver si coinciden. Dos instrumentos que miden lo mismo por procedimientos distintos son mucho más difíciles de engañar que uno solo.
Lo que se publicó, que es lo que permite comprobarlo
El trabajo no se quedó en el artículo. OpenAI publicó también el código y los conjuntos de datos: las activaciones de neuronas de GPT-2 XL, las explicaciones generadas por modelo con sus resultados de simulación, listas de neuronas relacionadas y de tokens con activaciones altas. Y un visor para recorrer neurona por neurona.
Esto es más importante de lo que parece. Un resultado de interpretabilidad que solo existe como afirmación en un artículo no se puede auditar. Publicar las activaciones y las puntuaciones permite que un tercero mire las mismas neuronas y discrepe con datos. Es la diferencia entre «confíe en nosotros» y «compruébelo».
La letra pequeña que casi nadie contó
Y aquí está el detalle más instructivo de toda esta historia, que no está en el artículo sino en las actualizaciones posteriores del repositorio.
El 5 de julio de 2023 se añadieron explicaciones para GPT-2 Small, con una advertencia explícita: «la metodología es ligeramente distinta de la usada para GPT-2 XL, así que los resultados no son directamente comparables». Es una nota de tres líneas que evita exactamente el error que un lector apresurado cometería.
Y el 30 de agosto de 2023 llegó algo bastante menos habitual: los autores anunciaron que habían descubierto un fallo propio. Habían usado una implementación optimizada de la función GELU en lugar de la original asociada a GPT-2. El comportamiento del modelo es muy similar con las dos, pero los valores de activación empleados para generar y simular explicaciones se desvían de los correctos —para GPT-2 Small— en una mediana de 0,0090, con 0,0252 en el percentil 90, 0,0839 en el 99 y 0,1736 en el 99,9.
Son desviaciones pequeñas, y ése es justamente el punto. Un detalle de implementación que apenas mueve la salida del modelo sí mueve los números que se estaban explicando, porque aquí el objeto de estudio no es lo que el modelo responde: son sus tripas. La interpretabilidad es sensible al sustrato exacto de una manera que la evaluación de rendimiento no lo es.
Lo segundo que enseña es sobre quién publica. Un laboratorio que vuelve tres meses después a decir «los números que os dimos tienen este sesgo, y aquí está su tamaño» está haciendo ciencia. Cuando lea una corrección así, no la anote como un desliz: anótela como una señal de que alguien está mirando de verdad.
Por dónde seguir, sin intermediarios
El material es público y gratuito. El artículo completo detalla el método y —esto conviene leerlo directamente— su sección de limitaciones. El repositorio tiene el código, la descripción de los conjuntos de datos y las dos actualizaciones citadas arriba, al final del README. El visor de neuronas es la forma más rápida de hacerse una intuición propia.
La conclusión honesta de este trabajo no es que ya entendamos los modelos de lenguaje. Es que se ha construido una manera de medir cuánto entendemos de cada pieza, que es el paso previo e imprescindible. Y la capacidad que se lleva usted es la pregunta que hay que hacerle a cualquier explicación, venga de un modelo o de una persona: ¿qué predice, y qué pasaría si fallase?
Este artículo se ha elaborado con inteligencia artificial bajo supervisión editorial humana.