Decodificar LLMs Creando Codificadores Trasnformadores y Capas de Atención Multicabeza en Python desde cero
Decodificando LLMs Construyendo Codificadores, Transformadores y Capas de Atención Multicabeza en Python desde cero
Explorando las intrincacias de codificación de posicionamiento, encabezado múltiple y distribución semántica en grandes modelos de lenguaje
Este artículo fue coescrito con Rafael Nardi.
Introducción
Hoy en día, el Procesamiento Computacional del Lenguaje Natural (NLP) es un esfuerzo en constante evolución en el que la potencia de la computación se encuentra con la lingüística. El aspecto lingüístico se atribuye principalmente a la teoría de la Semántica Distributiva de John Rupert Firth. Él dijo una vez lo siguiente:
“Conocerás una palabra por las compañías que tiene”
Entonces, la representación semántica de una palabra se determina por el contexto en el que se está usando. Es precisamente en atención a esta premisa que el artículo “La atención es todo lo que necesitas” de Ashish Vaswani et. al. [1] asume su relevancia innovadora. Establece la arquitectura del transformador como el núcleo de muchas de las herramientas de rápido crecimiento como BERT, GPT4, Llama, etc.
- Bienvenido a una nueva era de construcción en la nube con IA generativa en AWS
- Ser un líder en análisis de datos con Rajan Sethuraman
- Desbloqueando el Futuro La Radiante Promesa de GPT-4 en Radiología
En este artículo, examinamos las operaciones matemáticas clave en el corazón del segmento codificador en la arquitectura del transformador.
![Figura 1: La auto-atención es compleja (imagen por el autor)](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*YeXHeZ6NufKf2YbnWDXt5Q.png)
Como siempre, el código está disponible en nuestro GitHub.
Tokenización, Embeddings y Espacios Vectoriales
La primera tarea a la que uno se enfrenta al tratar con problemas de NLP es cómo codificar la información contenida en una oración para que la máquina pueda manejarla. Las máquinas solo pueden trabajar con números, lo que significa que las palabras, sus significados, puntuación, etc., deben traducirse a una representación numérica. Este es básicamente el problema del embedding.
Antes de adentrarnos en qué son los embeddings, debemos dar un paso intermedio y discutir la tokenización. Aquí, los bloques de palabras o partes de palabras se definen como los bloques de construcción básicos (llamados tokens) que luego se representarán como números. Una nota importante es que no podemos caracterizar una palabra o parte de palabra con un solo número y, por lo tanto, usamos listas de números (vectores). Esto nos da un mayor poder de representación.
We will continue to update Zepes; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Investigadores de la Universidad Nacional de Seúl presentan LucidDreamer un enfoque revolucionario de IA para la generación de escenas en 3D sin restricciones de dominio en realidad virtual utilizando modelado basado en difusión.
- Explora las relaciones semánticas en textos de corpora con modelos de embedding
- Técnicas de muestreo y comparación prácticas, en Python
- Guía completa para el almacenamiento en caché en Python
- Esta investigación de IA presenta MeshGPT Un enfoque novedoso para la generación de formas que produce mallas directamente en forma de triángulos
- Evaluar modelos de lenguaje grandes en cuanto a calidad y responsabilidad
- Construye fácilmente una búsqueda de imágenes semántica utilizando Amazon Titan