Codificación posicionalPositional Encoding
Marcar cada posición con su número de orden
- La codificación posicional consiste en añadir a cada trozo una marca de qué número de posición ocupa.
- Hace falta porque un método que mira todas las posiciones a la vez no tiene ningún concepto de orden.
- La marca no va aparte: se suma al propio contenido y entra como un solo bloque.
- A veces se usa una marca hecha con una regla fija, y a veces se deja que el entrenamiento la decida sola.
- Hoy se usa más el tipo que registra cuánto se separan dos posiciones entre sí, en vez del número absoluto de cada una.
Contenido
1La analogía
Las entradas de teatro llevan impreso el número de asiento. ¿Qué pasaría si no lo tuvieran? El público estaría igual de sentado, pero nadie sabría quién va en primera fila y quién en la última. Las personas son las mismas, las caras también, y solo desaparece el orden. La codificación posicional es escribir ese número de asiento en la entrada.
El número no viaja aparte de la persona. En un mismo papel están juntos el número de asiento y los datos de quien va a ver la función. La codificación posicional hace lo mismo: suma la marca de orden al contenido del trozo y forma con eso un solo bloque.
En cuanto se pone el número de asiento aparece una relación: "quien está en primera fila queda más cerca del escenario que quien está en la última". Hace falta el número para poder hablar de distancia y de antes y después.
2En detalle
Una estructura que pierde el orden
El método anterior, que procesaba la frase palabra por palabra en orden, no tenía problema de orden: el turno de procesarla era el orden mismo. A cambio, era lento.
El método actual hace que todas las posiciones se miren entre sí a la vez. Eso lo volvió muy rápido, pero tuvo un precio. Si todas se miran a la vez, no se sabe cuál salió primero. "El perro persiguió al gato" y "el gato persiguió al perro" se ven como el mismo conjunto de palabras.
Por eso hay que añadir una marca de orden antes de meter la frase. Sin esta marca, por más que se cambie el orden de las palabras, el resultado del modelo no cambia.
El número se suma al contenido
La marca no se coloca al lado del trozo, aparte. Al bloque de números que lleva el contenido del trozo se le suma un bloque del mismo tamaño con el número de orden, y con eso se forma uno solo. Así, el valor de esa posición pasa a llevar dentro tanto "qué es" como "en qué lugar va".
Sumarlos y mezclarlos no da problema porque hay espacio de sobra. El bloque de números tiene de cientos a miles de casillas, así que el contenido y el orden pueden ocupar direcciones distintas sin estorbarse. Con el entrenamiento, el modelo aprende a leer ambas cosas por separado.
Dos formas de fabricar la marca
El método propuesto primero fabricaba la marca con una regla fija, definida por una persona. Se superponen ondas de varios periodos para que cada posición salga con un patrón distinto. Tiene la ventaja de no necesitar entrenamiento y de poder numerar sin problema longitudes más largas que las vistas durante el entrenamiento.
El otro camino deja que la propia marca se decida con el entrenamiento. Se coloca un bloque de números por cada posición y sus valores se ajustan durante el entrenamiento. Así se logra una marca más adaptada a los datos, pero no hay número que asignar si se supera la cantidad de posiciones preparada de antemano.
La distancia entre posiciones, más que el número absoluto
Escribir directamente el número de orden tiene un punto débil. El número cambia por completo según si la misma frase está al principio o al final de un documento, y lo que suele importar de verdad es "a cuántas casillas está esta palabra de aquella otra".
Por eso hoy se usa más un método que hace que la propia distancia entre dos posiciones aparezca reflejada en el cálculo. Consiste en girar un poco los valores según el número de posición, de modo que al comparar dos posiciones se refleje de forma natural la distancia entre ellas. Sea cual sea el lugar donde caigan, si la separación es igual se lee como la misma relación, lo que da mucha más estabilidad en textos largos.
Cuando se supera el número de asientos
Si aparece un número de posición muy lejano, nunca visto durante el entrenamiento, el modelo se tambalea. Es parecido a recibir una entrada con un número de asiento que no existe en el teatro. La frase se vuelve rara de repente, o se pierde el principio del texto.
Por eso ampliar la ventana de contexto no es solo cuestión de subir un número. Hace falta reajustar la marca para que cubra un rango más amplio y entrenar un poco más con la longitud aumentada.
3Con más precisión
La codificación posicional suma al embedding de cada token un vector con información de posición, o incorpora la relación de posición dentro del propio cálculo de atención. El método propuesto primero era fijo, con senos y cosenos de varios periodos colocados de forma distinta en cada posición; también se usó mucho un método con un vector que se aprende por posición. El método que más usan hoy los modelos grandes gira la consulta y la clave según el número de posición, para que la distancia relativa entre dos posiciones quede reflejada de forma natural.
La analogía también tiene sus costuras. El número de asiento del teatro es un solo entero, pero la codificación posicional es un bloque de cientos de valores por posición. Además, el número de asiento se escribe aparte de los datos del espectador, mientras que la codificación posicional se suma al valor del contenido y queda mezclada sin distinguirse por fuera. Y sobre todo, los asientos de teatro no pueden repetir número, pero la marca de posición solo necesita que los valores sean distintos entre sí; no hace falta que crezcan en orden.
4Pruébalo
5Malentendidos comunes
Es fácil pensar que el modelo conoce el orden de las palabras por sí solo, pero en realidad, sin añadir una marca de orden aparte, mezclar las palabras da el mismo resultado.
Es fácil pensar que la marca de posición va pegada aparte del trozo, pero en realidad se suma al valor del contenido y entra como un solo bloque.
Es fácil pensar que la ventana de contexto crece con solo cambiar un ajuste, pero en realidad hay que adaptar la marca de posición a ese rango más amplio y entrenar un poco más.
7Resumen en una línea
En resumenLa codificación posicional es como el número de asiento de una entrada de teatro: marca en qué lugar va cada trozo y devuelve el concepto de antes y después a una estructura que, por sí sola, no conoce el orden.
¿Has visto un error o tienes una analogía mejor? Sugerir una corrección · Última actualización2026-09-02