En los últimos años, BERT se ha convertido en la herramienta número uno en muchas tareas de procesamiento del lenguaje natural. Su extraordinaria capacidad para procesar, comprender información y construir incrustaciones de palabras con alta precisión alcanza un rendimiento de última generación.
Como es bien conocido, BERT se basa en el atención Mecanismo derivado de la arquitectura Transformer. La atención es el componente clave de la mayoría de los grandes modelos de lenguaje hoy en día.
Sin embargo, periódicamente surgen nuevas ideas y enfoques en el mundo del aprendizaje automático. Una de las técnicas más innovadoras en modelos tipo BERT apareció en 2021 e introdujo una versión de atención mejorada llamada “Atención desenredada”. La implementación de este concepto dio lugar a DeBERTa – el modelo que incorpora la atención desenredada. Aunque DeBERTa introduce sólo un par de nuevos principios de arquitectura, sus mejoras destacan en los principales puntos de referencia de PNL, en comparación con otros modelos grandes.
En este artículo nos referiremos al original. papel DeBERTa y cubrir todos los detalles necesarios para entender cómo funciona.
En el bloque Transformer original, cada token está representado por un único vector que contiene información sobre el contenido y la posición del token en forma de suma de incrustación de elementos. La desventaja de este enfoque es la posible pérdida de información: es posible que el modelo no diferencie si una palabra en sí o su posición da más importancia a un determinado componente vectorial incrustado.
DeBERTa propone un novedoso mecanismo en el que la misma información se almacena en dos vectores diferentes. Además, el algoritmo para el cálculo de la atención también se modifica para tener en cuenta explícitamente las relaciones entre el contenido y las posiciones de los tokens. Por ejemplo, las palabras “investigación” y “papel” son mucho más dependientes cuando aparecen cerca uno del otro que en diferentes partes del texto. Este ejemplo justifica claramente por qué es necesario considerar también las relaciones contenido-posición.
La introducción de la atención desenredada requiere modificaciones en el cálculo de la puntuación de atención. Resulta que este proceso es muy sencillo. El cálculo de las puntuaciones de atención cruzada entre dos incorporaciones, cada una de las cuales consta de dos vectores, se puede descomponer fácilmente en la suma de cuatro multiplicaciones por pares de sus subvectores:
La misma metodología se puede generalizar en forma matricial. En el diagrama, podemos observar cuatro tipos diferentes de matrices (vectores), cada una de las cuales representa una determinada combinación de contenido e información de posición:
- contenido a contenido matriz;
- contenido a posición matriz;
- posición-contenido matriz;
- posición a posición matriz.
Es posible observar que la matriz posición a posición no almacena ninguna información valiosa ya que no tiene ningún detalle sobre el contenido de las palabras. Ésta es la razón por la que este término se descarta en la atención desenredada.
Para los tres términos restantes, la matriz de atención de salida final se calcula de manera similar a la del Transformer original.
Aunque el proceso de cálculo parece similar, hay un par de sutilezas que deben tenerse en cuenta.
En el diagrama anterior, podemos notar que el símbolo de multiplicación * utilizado para la multiplicación entre Matrices Qc de contenido de consulta y Krᵀ de posición clave & Matrices Kc de contenido clave y Qrᵀ de posición de consulta difiere del símbolo de multiplicación de matrices normal X. En realidad, esto no se hace por casualidad, ya que los pares de matrices mencionados en DeBERTa se multiplican de una forma ligeramente diferente para tener en cuenta el posicionamiento relativo de los tokens.
- De acuerdo con las reglas normales de multiplicación de matrices, si C = A x Bentonces el elemento C[i][j] se calcula mediante la multiplicación por elementos de i-ésima fila de A por el j-ésima columna de B.
- En un caso especial de DeBERTa, si C = A * Bentonces C[i][j] se calcula como la multiplicación de i-ésima fila de A por δ(yo, j)-ésima columna de B dónde δ denota una función de distancia relativa entre índices i y j que se define mediante la siguiente fórmula:
k Puede considerarse como un hiperparámetro que controla la distancia relativa máxima posible entre índices. i y j. En DeBERTa, k se establece en 512. Para tener una mejor idea de la fórmula, tracemos un mapa de calor que visualice distancias relativas (k = 6) para diferentes índices de i y j.
Por ejemplo, si k = 6, yo = 15 y j = 13entonces la distancia relativa δ entre i y j es igual a 8. Para obtener una puntuación de contenido a posición para los índices yo = 15 y j = 13durante la multiplicación del contenido de la consulta control de calidad y posición clave kr matrices, la fila 15 de control de calidad debe multiplicarse por la octava columna de krᵀ.
Sin embargo, para las puntuaciones de posición respecto al contenido, el algoritmo funciona un poco diferente: en lugar de calcular la distancia relativa δ(yo, j)esta vez el algoritmo utiliza el valor de δ(j, yo) en la multiplicación de matrices. Como explican los autores del artículo: “esto es porque para una posición i dada, posición-contenido calcula el peso de atención del contenido clave en j con respecto a la posición de consulta en i, por lo que la distancia relativa es δ(j, i)”.
δ(i, j) ≠ δ(j, i), es decir, δ no es una función simétrica, lo que significa que la distancia entre i y j no es la misma que la distancia entre j e i.
Antes de aplicar la transformación softmax, las puntuaciones de atención se dividen por una constante √(3d) para un entrenamiento más estable. Este factor de escala es diferente al utilizado en el Transformer original (√d). Esta diferencia en √3 veces se justifica por magnitudes mayores resultantes de la suma de 3 matrices en el mecanismo de atención de DeBERTa (en lugar de una sola matriz en Transformer).
La atención desenredada sólo tiene en cuenta el contenido y el posicionamiento relativo. Sin embargo, no se considera ninguna información sobre el posicionamiento absoluto que realmente pueda desempeñar un papel importante en la predicción final. Los autores del artículo de DeBERTa dan un ejemplo concreto de tal situación: una frase “Se abrió una nueva tienda al lado del nuevo centro comercial.“que se le envía a BERT con las palabras enmascaradas”almacenar” y “centro comercial”para la predicción. Aunque las palabras enmascaradas tienen un significado y un contexto local similar (el adjetivo “nuevo”), tienen un contexto lingüístico diferente que no es captado por una atención desenredada. En un lenguaje pueden existir numerosas situaciones análogas, por lo que es crucial incorporar el posicionamiento absoluto al modelo.
En BERT, el posicionamiento absoluto se tiene en cuenta en las incrustaciones de entrada. Hablando de DeBERTa, incorpora posicionamiento absoluto después de todas las capas de Transformer pero antes de aplicar la capa softmax. Se demostró en experimentos que capturar el posicionamiento relativo en todas las capas de Transformer y solo después de introducir el posicionamiento absoluto mejora el rendimiento del modelo. Según los investigadores, hacerlo a la inversa podría impedir que el modelo aprenda suficiente información sobre el posicionamiento relativo.
Arquitectura
De acuerdo con la papelel decodificador de máscara mejorado (EMD) tiene dos bloques de entrada:
- h – los estados ocultos de la capa anterior del Transformador.
- I — cualquier información necesaria para la decodificación (por ejemplo, estados ocultos hincrustación de posición absoluta o salida de la capa EMD anterior).
En general, puede haber múltiples norte Bloques EMD dentro de un modelo. De ser así, se construyen con las siguientes reglas:
- la salida de cada capa EMD es la entrada I para la siguiente capa EMD;
- la salida de la última capa EMD se envía al cabezal del modelo de lenguaje.
En el caso de DeBERTa, el número de capas EMD se establece en norte = 2 con la posición de incrustación utilizada para I en la primera capa EMD.
Otra técnica utilizada con frecuencia en PNL es compartir pesos entre diferentes capas con el objetivo de reducir la complejidad del modelo (por ejemplo, ALBERTO). Esta idea también se implementa en los bloques EMD de DeBERTa.
Cuando I = H y n = 1, EMD se convierte en el equivalente de la capa decodificadora BERT.
Estudios de ablación
Los experimentos demostraron que todos los componentes introducidos en DeBERTa (atención de posición a contenido, atención de contenido a posición y decodificador de máscara mejorado) mejoran el rendimiento. Eliminar cualquiera de ellos daría como resultado métricas inferiores.
Ajuste fino invariante de escala
Además, los autores propusieron un nuevo algoritmo adversario llamado “Ajuste fino invariante de escala”para mejorar la generalización del modelo. La idea es incorporar pequeñas perturbaciones a las secuencias de entrada, haciendo que el modelo sea más resistente a ejemplos adversos. En DeBERTa, las perturbaciones se aplican a las incrustaciones de palabras de entrada normalizadas. Esta técnica funciona aún mejor para modelos DeBERTa más grandes y ajustados.
Variantes de DeBERTa
El artículo de DeBERTa presenta tres modelos. La comparación entre ellos se muestra en el siguiente diagrama.
Datos
Para el entrenamiento previo, las versiones básica y grande de DeBERTa utilizan una combinación de los siguientes conjuntos de datos:
- Wikipedia en inglés + BookCorpus (16 GB)
- OpenWebText (contenido público de Reddit: 38 GB)
- Historias (31 GB)
Después de la deduplicación de datos, el tamaño del conjunto de datos resultante se reduce a 78 GB. Para DeBERTa 1.5B, los autores utilizaron el doble de datos (160 GB) con un impresionante tamaño de vocabulario de 128K.
En comparación, otros modelos grandes como RoBERTa, XLNet y ELECTRA están preentrenados con 160 GB de datos. Al mismo tiempo, DeBERTa muestra un rendimiento comparable o mejor que estos modelos en una variedad de tareas de PNL.
Avanzando en el entrenamiento, DeBERTa está preentrenado para un millón de pasos con 2K muestras en cada paso.
Hemos recorrido los principales aspectos de la arquitectura DeBERTa. Al poseer una atención desenredada y algoritmos de codificación enmascarados mejorados en su interior, DeBERTa se ha convertido en una opción extremadamente popular en los procesos de PNL para muchos científicos de datos y también en un ingrediente ganador en muchas competiciones de Kaggle. Otro hecho sorprendente sobre DeBERTa es que es uno de los primeros modelos de PNL que supera a los humanos en el punto de referencia SuperGLUE. Esta única evidencia es suficiente para concluir que DeBERTa permanecerá durante mucho tiempo en la historia de los LLM.
Todas las imágenes, a menos que se indique lo contrario, son del autor.