Mecanismo de autoatención de arquitectura LLM Arquitectura de transformadores La atención es todo lo que necesita

La construcción de modelos de lenguaje a gran escala utilizando la arquitectura Transformers mejora significativamente el rendimiento de las tareas de lenguaje natural, superando a los RNN anteriores y provocando una explosión en las capacidades regenerativas.
inserte la descripción de la imagen aquí

El poder de la arquitectura Transformers radica en su capacidad para aprender la relevancia y el contexto de todas las palabras de una oración. No solo lo que ves aquí, cada palabra está al lado de sus vecinas, sino también todas las demás palabras de la oración. Se aplican ponderaciones de atención a estas relaciones para que el modelo aprenda cómo se relaciona cada palabra con otras palabras en la entrada, sin importar dónde se encuentren.
inserte la descripción de la imagen aquí

Esto permite que el algoritmo sepa quién es el propietario del libro, quién es probable que lo sea y si es relevante para el contexto más amplio del documento. Estos pesos de atención se aprenden durante la capacitación LLM, sobre la cual aprenderá más a finales de esta semana.
inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
Este gráfico se llama mapa de atención y se puede utilizar para ilustrar los pesos de atención de cada palabra en relación con todas las demás palabras. En este ejemplo estilizado, puedes ver que la palabra "libro" está fuertemente relacionada o relacionada con las palabras "maestro" y "estudiante".
inserte la descripción de la imagen aquí

Esto se llama autoatención, y esta capacidad de aprender a prestar atención a través de toda la entrada mejora significativamente la capacidad del modelo para codificar el lenguaje.
inserte la descripción de la imagen aquí

Ahora que ha visto una propiedad clave de la arquitectura de Transformers, la atención propia, echemos un vistazo de alto nivel a cómo funciona el modelo. Aquí hay un diagrama simplificado de la arquitectura de Transformers para que pueda concentrarse en dónde ocurren estos procesos en un alto nivel. La arquitectura de Transformers se divide en dos partes distintas, codificador y decodificador.
inserte la descripción de la imagen aquí

Estos componentes funcionan juntos y comparten muchas similitudes. Además, tenga en cuenta que el gráfico que ve aquí se deriva del documento original "La atención es todo lo que necesita". Tenga en cuenta que la entrada al modelo está en la parte inferior y la salida está en la parte superior; siempre que sea posible, intentaremos mantener esto durante todo el curso.

En este momento, los modelos de aprendizaje automático son simplemente grandes calculadoras estadísticas que usan números en lugar de palabras. Por lo tanto, primero debe tokenizar las palabras antes de pasar el texto al modelo para su procesamiento. En pocas palabras, esto convierte palabras en números, y cada número representa una posición en el diccionario de todas las palabras posibles que el modelo puede usar. Puede elegir entre varios métodos de tokenización.

Por ejemplo, para hacer coincidir dos palabras completas de ID de token,
inserte la descripción de la imagen aquí

O utilice ID de token para representar partes de palabras.
inserte la descripción de la imagen aquí

Como puedes ver aquí. Es importante destacar que una vez que haya elegido un tokenizador para entrenar el modelo, debe usar el mismo tokenizador al generar texto. Ahora que su entrada está representada como un número, puede pasarla a la capa de incrustación. Esta capa es un espacio de incrustación de vectores entrenable, un espacio de alta dimensión en el que cada token se representa como un vector y ocupa una posición única dentro del espacio.
inserte la descripción de la imagen aquí

Cada ID de token en el vocabulario se asocia con un vector multidimensional, y la intuición es que estos vectores aprenden a codificar el significado y el contexto de tokens individuales en la secuencia de entrada. La incrustación de espacios vectoriales se ha utilizado en el procesamiento del lenguaje natural durante algún tiempo, y los algoritmos de lenguaje de generaciones anteriores como Word2vec utilizaron este concepto. Si no estás familiarizado con esto, no te preocupes. Verá ejemplos de esto a lo largo del curso y hay algunos enlaces a otros recursos en los ejercicios de lectura de este fin de semana.

Volviendo a observar la secuencia de muestra, puede ver que en este caso simple, cada palabra coincide con un ID de token y cada token se asigna a un vector. En el artículo original de Transformers, el tamaño del vector es en realidad 512, mucho más grande de lo que cabe en esta imagen.
inserte la descripción de la imagen aquí

Para simplificar, si imagina un vector de tamaño tres, puede trazar las palabras en un espacio 3D y ver la relación entre esas palabras. Ahora puedes ver cómo se asocian las palabras que están cerca unas de otras en el espacio de incrustación.
inserte la descripción de la imagen aquí

y cómo calcular la distancia entre palabras como un ángulo,
inserte la descripción de la imagen aquí

Esto le da al modelo la capacidad de comprender el lenguaje matemáticamente. Cuando agrega un vector de token a la base de un codificador o decodificador, también agrega codificación posicional.
inserte la descripción de la imagen aquí

El modelo procesa cada token de entrada en paralelo. Entonces, al agregar codificación posicional, se conserva la información sobre el orden de las palabras y no se pierde la relevancia de dónde están las palabras en la oración. Una vez que agrega los tokens de entrada y las codificaciones posicionales, pasa el vector resultante a la capa de autoatención.

inserte la descripción de la imagen aquí

Aquí, el modelo analiza la relación entre tokens en la secuencia de entrada. Como vio anteriormente, esto permite que el modelo se centre en diferentes partes de la secuencia de entrada para capturar mejor las dependencias contextuales entre palabras. Los pesos de autoatención aprendidos durante el entrenamiento y almacenados en estas capas reflejan la importancia de cada palabra en la secuencia de entrada en comparación con todas las demás palabras de la secuencia.

inserte la descripción de la imagen aquí

Pero esto no sucede sólo una vez, la arquitectura de Transformers en realidad tiene autoatención de múltiples cabezas. Esto significa que se aprenden de forma independiente y en paralelo varios conjuntos de pesas o cabezas de autoatención. La cantidad de cabezas de atención incluidas en una capa de atención varía de un modelo a otro, pero lo común es un rango entre 12 y 100.
inserte la descripción de la imagen aquí

La intuición es que cada cabeza atenta aprenderá un aspecto diferente del idioma. Por ejemplo, un líder podría ver la relación entre las entidades persona en nuestras oraciones.
inserte la descripción de la imagen aquí

Y otro encabezado podría centrarse en la actividad de la frase.
inserte la descripción de la imagen aquí

Mientras que otra cabeza podría centrarse en otros atributos, como si una palabra rima o no.
inserte la descripción de la imagen aquí

Es importante tener en cuenta que no se especifica de antemano qué aspectos del lenguaje aprenderá la cabeza de atención. Los pesos de cada cabeza se inicializan aleatoriamente y, con suficientes datos y tiempo de entrenamiento, cada cabeza aprende un aspecto diferente del idioma. Si bien algunos mapas de atención son fáciles de interpretar, como los ejemplos que se analizan aquí, es posible que otros no.

Ahora que se han aplicado todos los pesos de atención a sus datos de entrada, la salida se procesa a través de una red de alimentación directa completamente conectada.
inserte la descripción de la imagen aquí

La salida de esta capa es un vector de logits proporcional a la puntuación de probabilidad de cada token en el diccionario del tokenizador.

Luego puede pasar estos logits a una capa softmax final donde se normalizan a una puntuación de probabilidad para cada palabra. Este resultado incluye probabilidades para cada palabra del vocabulario, por lo que podría haber miles de puntuaciones aquí.
inserte la descripción de la imagen aquí

Un solo token tendrá una puntuación más alta que todos los demás tokens. Esta es la señal más probable y predecible. Sin embargo, como verá más adelante en la lección, puede utilizar una variedad de métodos para elegir su elección final de este vector de probabilidades.

referencia

https://www.coursera.org/learn/generative-ai-with-llms/lecture/3AqWI/transformers-architecture

Supongo que te gusta

Origin blog.csdn.net/zgpeace/article/details/132391611
Recomendado
Clasificación