La arquitectura Transformer ha revolucionado el campo de la IA y constituye la base no solo para ChatGPT, sino que también ha dado lugar a un rendimiento sin precedentes en el reconocimiento de imágenes, la comprensión de escenas y la robótica. Desafortunadamente, la arquitectura del transformador en sí misma es bastante compleja, lo que dificulta detectar lo que realmente importa, en particular si eres nuevo en el aprendizaje automático. La mejor manera de entender Transformers es pensar en un problema tan simple como generar nombres aleatorios, carácter por carácter. En un artículo anterior, expliqué todas las herramientas que necesitará para dicho modelo, incluidos los modelos de entrenamiento en Pytorch y Batch-Processing, centrándome en el modelo más simple posible: predecir el siguiente carácter en función de su frecuencia dado el carácter anterior. en un conjunto de datos de nombres comunes.
En este artículo, nos basamos en esta línea de base para presentar un modelo de última generación, el Transformer. Comenzaremos proporcionando un código básico para leer y preprocesar los datos, luego presentaremos la arquitectura de Atención centrándonos primero en su aspecto clave: la similitud del coseno entre todos los tokens en una secuencia. Luego agregaremos consulta, clave y valor para construir…