Transformers, la tecnología detrás de los LLM | Capítulo 5 de Deep Learning
Esta nota de insights de YouTube fue creada con LilysAI. Regístrate gratis y obtén insights 10× más rápidos y profundos de los videos.
Q: ¿Qué es un Transformer y cómo funciona un LLM por dentro?
¿Qué son los Transformers y por qué son clave para los LLM? Son un tipo de red neuronal que procesa texto dividiéndolo en vectores, permitiendo que cada palabra se impregne de un significado rico en contexto para predecir la siguiente.
1. Los Transformers y los Modelos de Lenguaje Grandes (LLM)
Los Transformers son un tipo de red neuronal que impulsa el auge actual de la IA, especialmente en los Modelos de Lenguaje Grandes (LLM) como ChatGPT, al procesar texto para predecir la siguiente palabra.1.1. ¿Qué son los Transformers?
- Los Transformers son un tipo específico de red neuronal y un modelo de aprendizaje automático que es fundamental para el auge actual de la IA .
- El acrónimo GPT significa "Generador Preentrenado Transformer" .
- "Generativo" se refiere a la capacidad de los modelos para crear textos nuevos .
- "Preentrenado" indica que el modelo ha aprendido de una gran cantidad de datos, con la posibilidad de un ajuste adicional para tareas específicas .
- Los Transformers se utilizan en diversas aplicaciones de IA :
- Modelos que transcriben audio a texto o generan habla sintética a partir de texto .
- Herramientas como DALL·E y Midjourney, que crean imágenes a partir de descripciones de texto .
- El Transformer original, presentado por Google en 2017, fue diseñado para traducir texto entre idiomas .
- La variante de Transformer en la que se basan herramientas como ChatGPT predice la siguiente sección de texto, a veces acompañada de imágenes o sonidos .
1.2. Cómo los LLM generan texto
- La predicción de la siguiente sección de texto se presenta como una distribución de probabilidad sobre las muchas opciones posibles .
- Un modelo de predicción de la siguiente palabra puede generar textos nuevos repitiendo el proceso de predicción y selección .
- Por ejemplo, GPT-2 en una laptop puede generar una historia, pero a menudo carece de sentido .
- Sin embargo, un modelo mucho más grande como GPT-3 puede producir historias con mayor coherencia y creatividad .
- Este proceso de predicción y selección es lo que ocurre cuando se interactúa con ChatGPT, generando texto palabra por palabra .
1.3. Flujo de datos a través de un Transformer
- La entrada se divide en pequeñas piezas llamadas tokens, que suelen ser palabras, partes de palabras o combinaciones de caracteres comunes .
- Para imágenes o sonido, los tokens serían porciones de la imagen o pequeñas secciones del sonido .
- Cada token se asocia con un vector, una lista de números que codifica su significado .
- Los vectores actúan como coordenadas en un espacio multidimensional, donde las palabras con significados similares tienen vectores cercanos .
- La secuencia de vectores pasa por un bloque de atención, que permite a los vectores intercambiar información y actualizar sus valores .
- El bloque de atención determina qué palabras del contexto son relevantes para actualizar el significado de otras palabras .
- Por ejemplo, el significado de "modelo" cambia en "un modelo de aprendizaje automático" frente a "una modelo de moda" .
- Después, los vectores pasan por una operación diferente, llamada perceptrón multicapa o capa "feed-forward" .
- En este bloque, los vectores no interactúan entre sí; todos pasan por la misma operación en paralelo .
- Este paso es como hacer una serie de preguntas sobre cada vector y actualizarlos según las respuestas .
- Todas estas operaciones se realizan mediante multiplicaciones de matrices, y el objetivo es entender cómo leer estas matrices .
- El proceso se repite, alternando entre bloques de atención y bloques de perceptrón multicapa, hasta que el significado esencial del pasaje se incorpora en el último vector de la secuencia .
1.4. Generación de texto con un Transformer
- Una operación final en el último vector produce una distribución de probabilidad sobre todos los posibles tokens siguientes .
- Para generar texto, el modelo predice la siguiente palabra, selecciona una de la distribución, la añade al texto y repite el proceso .
- Para convertir un modelo en un chatbot, se utiliza un "prompt" del sistema que establece el escenario de un usuario interactuando con un asistente de IA .
- La pregunta inicial del usuario se usa como la primera parte del diálogo, y el modelo predice la respuesta del asistente .
1.5. Conceptos fundamentales del aprendizaje profundo
- Este capítulo se enfoca en los detalles iniciales y finales de la red, así como en ideas básicas del aprendizaje automático .
- El aprendizaje profundo es un enfoque del aprendizaje automático donde se utilizan datos para determinar el comportamiento de un modelo .
- En lugar de programar explícitamente cómo realizar una tarea, se establece una estructura flexible con parámetros ajustables .
- Se usan muchos ejemplos de entradas y salidas deseadas para ajustar estos parámetros y que el modelo imite el comportamiento .
- Un ejemplo simple es la regresión lineal, donde se encuentran dos parámetros (pendiente e intersección con Y) para una línea de mejor ajuste que predice precios de casas .
- Los modelos de aprendizaje profundo son mucho más complejos; GPT-3, por ejemplo, tiene 175 mil millones de parámetros .
- El aprendizaje profundo describe una clase de modelos que han demostrado escalar bien en las últimas dos décadas .
- Todos utilizan el mismo algoritmo de entrenamiento, llamado retropropagación .
- Para que este algoritmo funcione a gran escala, los modelos deben seguir un formato específico .
2. La arquitectura interna de los Transformers
La arquitectura de los Transformers se basa en transformar progresivamente arreglos de números reales a través de capas, utilizando multiplicaciones de matrices con parámetros ajustables para codificar el significado y predecir la siguiente palabra.
2.1. Formato de datos y parámetros en el aprendizaje profundo
- La entrada de cualquier modelo debe formatearse como un arreglo de números reales, conocido como tensor .
- Los datos de entrada se transforman progresivamente a través de múltiples capas, cada una estructurada como un arreglo de números reales, hasta llegar a una capa final que representa la salida deseada .
- Por ejemplo, la capa final de un modelo de procesamiento de texto es una lista de números que representa la distribución de probabilidad de los siguientes tokens .
- Los parámetros del modelo se llaman pesos y interactúan con los datos mediante sumas ponderadas .
- Estas sumas ponderadas se empaquetan como el resultado de un producto entre una matriz y un vector .
- Es útil pensar en matrices llenas de parámetros ajustables que transforman vectores extraídos de los datos .
- Los 175 mil millones de parámetros de GPT-3 están organizados en casi 28,000 matrices distintas, divididas en ocho categorías .
2.2. Pesos del modelo vs. datos procesados
- Es crucial distinguir entre los pesos del modelo y los datos que se procesan .
- Los pesos (representados en azul o rojo) son el "cerebro" del modelo, aprendidos durante el entrenamiento, y determinan su comportamiento .
- Los datos procesados (representados en gris) codifican cualquier entrada específica que se introduce en el modelo, como una parte de texto .
2.3. La matriz de embeddings
- El primer paso es dividir la entrada en tokens y convertirlos en vectores .
- Aunque los tokens pueden ser partes de palabras o puntuación, para facilitar la comprensión, se considerarán como palabras .
- El modelo tiene un vocabulario predefinido (por ejemplo, 50,000 palabras), y la primera matriz, llamada matriz de embeddings (W_E), tiene una columna para cada palabra .
- Estas columnas determinan en qué vector se convierte cada palabra .
- Los valores de esta matriz comienzan siendo aleatorios, pero se aprenden a partir de los datos durante el entrenamiento .
- La conversión de palabras en vectores (conocida como embeddings de palabras) es una práctica común en el aprendizaje automático .
2.4. Embeddings de palabras y significado semántico
- Los embeddings de palabras se visualizan geométricamente como puntos en un espacio multidimensional .
- En GPT-3, los embeddings tienen 12,288 dimensiones, lo que permite muchas direcciones distintas .
- Para visualizarlo, se puede proyectar los vectores de palabras en una "rebanada" tridimensional de este espacio .
- Durante el entrenamiento, el modelo ajusta los pesos de manera que las palabras se "incrustan" como vectores en un espacio donde las direcciones tienen significado semántico .
- Por ejemplo, las palabras con significados similares, como las relacionadas con "torre", tienen embeddings cercanos .
- Un ejemplo clásico es que la diferencia entre los vectores de "mujer" y "hombre" es similar a la diferencia entre "rey" y "reina" .
- Esto sugiere que el modelo aprende a codificar información de género en una dirección específica del espacio .
- Otro ejemplo es que la diferencia entre "Alemania" y "Japón" añadida a "sushi" se acerca a "bratwurst" .
- El producto punto de dos vectores mide qué tan bien se alinean .
- Computacionalmente, es la suma de los productos de los componentes correspondientes .
- Geométricamente, es positivo si los vectores apuntan en direcciones similares, cero si son perpendiculares y negativo si apuntan en direcciones opuestas .
- Por ejemplo, el producto punto de la dirección de pluralidad ("gatos" menos "gato") con sustantivos en plural es mayor que con sustantivos en singular, indicando una mayor alineación .
2.5. Conteo de parámetros y contexto
- La matriz de embeddings es el primer conjunto de pesos del modelo .
- En GPT-3, con un vocabulario de 50,257 tokens y una dimensión de embedding de 12,288, esto suma aproximadamente 617 millones de pesos .
- Los vectores en el espacio de embedding no solo representan palabras individuales, sino que también codifican información posicional y tienen la capacidad de impregnarse del contexto .
- Un vector que comienza como el embedding de "rey" puede ser modificado por la red para codificar un significado más preciso, como "un rey que vivía en Escocia, que alcanzó su puesto tras asesinar al rey anterior, y que está siendo descrito en lenguaje shakesperiano" .
- El objetivo principal de la red es permitir que cada vector se impregne de un significado más rico y específico que el de las palabras individuales .
- La red solo puede procesar un número fijo de vectores a la vez, conocido como su tamaño de contexto .
- GPT-3 se entrenó con un tamaño de contexto de 2048, lo que significa que los datos fluyen como una matriz de 2048 columnas, cada una con 12,288 dimensiones .
- Este límite explica por qué los chatbots a veces "pierden el hilo" en conversaciones largas .
2.6. La matriz de desencajamiento y la función Softmax
- La salida deseada es una distribución de probabilidad sobre todos los tokens que podrían venir a continuación .
- Por ejemplo, si el contexto es "profesor menos favorito" en una historia de Harry Potter, el modelo podría asignar una alta probabilidad a "Snape" .
- Esto implica dos pasos :
- Usar otra matriz, la Matriz de Desencajamiento (W_U), que mapea el último vector del contexto a una lista de 50,000 valores (uno por cada token) .
- Aplicar una función llamada Softmax para convertir esta lista en una distribución de probabilidad .
- La Matriz de Desencajamiento tiene una fila por cada palabra del vocabulario y el mismo número de elementos que la dimensión de embedding .
- Esto añade otros 617 millones de parámetros a la red, sumando un total de poco más de mil millones hasta ahora .
- La función Softmax convierte una lista arbitraria de números en una distribución de probabilidad válida, donde los valores más grandes se acercan a 1 y los más pequeños a 0 .
2.7. Funcionamiento de Softmax y la temperatura
- Para que una secuencia de números actúe como una distribución de probabilidad, cada valor debe estar entre 0 y 1, y todos deben sumar 1 .
- La función Softmax logra esto elevando "e" a la potencia de cada número (haciéndolos positivos) y luego dividiendo cada término por la suma de todos los valores positivos (normalizándolos para que sumen 1) .
- Si un número es significativamente mayor que el resto, su término correspondiente domina la distribución .
- Sin embargo, es más "suave" que simplemente elegir el máximo, ya que otros valores grandes también obtienen un peso considerable .
- En algunas situaciones, como cuando ChatGPT genera una palabra, se puede añadir una constante T (temperatura) al denominador de los exponentes de la función Softmax .
- Una temperatura más alta da más peso a los valores más bajos, haciendo la distribución más uniforme y permitiendo la elección de palabras menos probables .
- Una temperatura más baja hace que los valores más grandes dominen más agresivamente; con T=0, todo el peso va al valor máximo, resultando en una historia predecible .
- Por ejemplo, una historia generada con temperatura cero sobre "Érase una vez un" podría ser una versión trillada de Ricitos de Oro .
- Una temperatura más alta puede llevar a historias más originales, pero también a un sinsentido .
2.8. Logits y la base para la atención
- Los componentes de la salida cruda y no normalizada de la multiplicación final con la matriz de desencajamiento se conocen como logits .
- Comprender los embeddings de palabras, la función Softmax, cómo el producto punto mide la similitud y la premisa de que la mayoría de los cálculos son multiplicaciones de matrices con parámetros ajustables, es fundamental para entender el mecanismo de atención .
Comprende grandes cantidades de material como un genio — con LilysAI
Más de 1.000.000 de exploradores del conocimiento usan Lilys AI.
