Volver al archivo
#ai#llm#glossary#aigen

Enmascaramiento causal

Enseñas al modelo a añadir «gato» después de «Ana tiene un». En el ejemplo preparado, la palabra «gato» ya existe. Si el modelo pudiera verla mientras predice, la tarea parecería fácil, pero no se parecería a crear una respuesta nueva.

Causal Masking bloquea el flujo de información de las posiciones posteriores del texto a las anteriores. Un token es un fragmento de texto. Cuando la posición que contiene «un» debe ayudar a predecir el siguiente token, puede usar «Ana», «tiene» y «un», pero el futuro «gato» no puede influir en su resultado.

Es un bloqueo del acceso, no solo una reducción de la importancia del fragmento futuro. Su contribución a la mezcla de información tiene que ser cero. Esto permite procesar muchas posiciones simultáneamente durante el entrenamiento, conservando las condiciones de predicción solo a partir del pasado disponible.

La máscara no informa sobre el significado de las palabras ni sustituye a la señal de posición. La tabla y el experimento siguientes muestran qué conexiones siguen permitidas.

Mecanismo y detalles

La máscara actúa sobre qué conexiones se permiten, no sobre el significado de las palabras. No se asigna simplemente un peso algo menor a una posición descartada: su contribución al resultado de la atención debe ser cero. La implementación de TensorFlow muestra esta condición y compara los resultados de una secuencia completa y una acortada.

Qué posiciones están disponibles

Para tres posiciones obtenemos:

Posición de consultaClave 1Clave 2Clave 3
1sínono
2sísíno
3sísísí

Al entrenar la predicción del siguiente token, la entrada [start, A, B] puede emparejarse con los objetivos [A, B, C]. La segunda posición ve start y A cuando tiene que predecir B. Por tanto, acceder a la posición actual de la entrada no revela la respuesta. Esto ilustra el desplazamiento de los objetivos un paso.

En la atención por producto escalar escalado, los resultados de comparación prohibidos se sustituyen matemáticamente por infinito negativo antes de softmax. Vaswani et al., §3.1 y §3.2.3 describen la máscara y el desplazamiento.

La codificación posicional informa del orden, pero no bloquea por sí sola el acceso. La máscara de padding resuelve otro problema: omite el relleno artificial de la secuencia, independientemente de si está en el futuro.

Véase también: Sequence Packing —al combinar ejemplos independientes, bloquear únicamente las posiciones futuras no conserva los límites entre ellos—.