Por qué un modelo inunda su primera palabra con una atención que nunca lee.

SRC·46 Source
Inunda su primera palabra con una atención que nunca lee.

Inunda su primera palabra con una atención que nunca lee.

Observa adónde mira un modelo y lo sorprenderás vertiendo un torrente de atención sobre su primera palabra, una palabra que casi nunca aporta nada. No es un fallo. Como un pararrayos: instala una punta inofensiva para recibir el rayo, y así la tormenta pasa sin destrozar lo demás. El modelo guarda un sitio donde tirar la atención que no necesita.
El softmax debe repartir una unidad entera, aunque no haya nada.

El softmax debe repartir una unidad entera, aunque no haya nada.

αj=esjk=1tesk,j=1tαj=1,αj>0\alpha_j=\dfrac{e^{s_j}}{\sum_{k=1}^{t}e^{s_k}},\qquad \sum_{j=1}^{t}\alpha_j=1,\quad \alpha_j>0
La atención pasa por el softmax, que convierte las puntuaciones en pesos todos positivos que suman exactamente uno. Así que cada palabra debe gastar una unidad entera de atención en las palabras que ve, aunque ninguna importe. Como una regadera que debes vaciar del todo: hasta la última gota tiene que caer en algún sitio, aunque la tierra ya esté empapada.
Así que construye un desagüe para la atención que no puede usar.

Así que construye un desagüe para la atención que no puede usar.

Si una palabra debe gastar una unidad entera pero no tiene nada que mirar, ¿adónde va el sobrante? La solución del modelo: elegir un punto y convertirlo en un desagüe. Como el rebosadero de un lavabo: se lleva en silencio lo que la pila no puede contener, y nada se desborda. Ese vertedero es el sumidero de atención, y es justo lo que da nombre al truco.
¿Qué palabra se convierte en el desagüe? La primera de todas.

¿Qué palabra se convierte en el desagüe? La primera de todas.

Vt={1,2,,t},t=1nVt={1}\mathcal{V}_t=\{1,2,\dots,t\},\qquad \bigcap_{t=1}^{n}\mathcal{V}_t=\{1\}
¿Por qué la primera palabra? Por cómo lee un modelo: cada palabra solo puede mirar las palabras anteriores a ella. Eso hace que el primer token sea la única clave que todas las palabras posteriores siempre ven. Como el tronco único de un árbol: sigue cualquier rama hacia atrás y llegarás a la misma raíz. La primera palabra es el único sitio que todas alcanzan: el desagüe natural.
Tirarla ahí es inofensivo: casi no devuelve nada.

Tirarla ahí es inofensivo: casi no devuelve nada.

ot=j=1tαtjvj,αt1 large,  v1 carries little  near no-opo_t=\sum_{j=1}^{t}\alpha_{tj}\,v_j,\qquad \alpha_{t1}\ \text{large},\ \ v_1\ \text{carries little}\ \Rightarrow\ \text{near no-op}
¿Por qué toda esa atención desperdiciada no estropea la respuesta? Porque la salida de una palabra es una mezcla de los valores que atiende, y el valor del sumidero casi no lleva señal. Viertes atención y apenas sale nada. Como una pared de espuma de estudio: grítale y no vuelve ningún eco. El sumidero absorbe el sobrante y no cambia nada.
En una conversación larga, nunca debes desalojar el sumidero.

En una conversación larga, nunca debes desalojar el sumidero.

{1,,k}sinks  {tw+1,,t}recent window(k4)\underbrace{\{1,\dots,k\}}_{\text{sinks}}\ \cup\ \underbrace{\{t-w+1,\dots,t\}}_{\text{recent window}}\qquad (k\approx 4)
Para no quedarse sin memoria, un modelo puede deslizar una ventana y olvidar sus palabras más antiguas. Pero si olvida el sumidero, la salida se derrumba en un sinsentido. El remedio es simple: conservar siempre los primeros tokens, más la ventana reciente. Como la clave de un arco: cualquier otra piedra puede cambiarse, pero quita esa y todo el vano se viene abajo.
La solución más limpia: que la atención sume menos de uno.

La solución más limpia: que la atención sume menos de uno.

αj=esj1+kesk,jαj=kesk1+kesk<1\alpha_j=\dfrac{e^{s_j}}{1+\sum_{k}e^{s_k}},\qquad \sum_{j}\alpha_j=\dfrac{\sum_{k}e^{s_k}}{1+\sum_{k}e^{s_k}}<1
¿Y si una palabra pudiera simplemente retener atención? Añade un solo +1 al denominador del softmax —una casilla invisible con puntuación cero— y los pesos quedan libres para sumar menos de uno. Ahora una palabra puede atender a nada sin inventar un desagüe. Como un aliviadero junto a una presa: un canal hecho a propósito para enviar el sobrante, sin daño, a ninguna parte.
Hizo un sitio para lo que no necesitaba. ¿Era eso un defecto?

Hizo un sitio para lo que no necesitaba. ¿Era eso un defecto?

Estuvimos a punto de llamar al sumidero un error: una palabra ahogada en una atención que nunca lee. Pero era el modelo construyendo en silencio un lugar para poner la nada, para que lo demás quedara limpio. 🌱 ¿Cuántos defectos son en realidad una mente haciendo hueco, dejando un espacio vacío que solo significa ninguno?
toca →desliza ↑ para másdesliza ↓ para salir