Introducción a los transformers#
En el capítulo anterior, descubrimos múltiples aplicaciones de la librería Transformers de Hugging Face. Como su nombre indica, esta librería gestiona modelos transformers. Pero, ¿qué es exactamente un modelo transformer?
¿De dónde proviene el transformer?#
Hasta 2017, la mayoría de las redes neuronales para el procesamiento del lenguaje natural (NLP) utilizaban RNN (Recurrent Neural Networks). En ese año, investigadores de Google publicaron un artículo que revolucionó el campo del NLP y, más tarde, otras áreas del deep learning (visión, audio, etc.). Introdujeron la arquitectura transformer en su trabajo “Attention Is All You Need”.
Esta es la apariencia de la arquitectura del transformer:

A primera vista, parece bastante complejo. La parte izquierda se denomina codificador (encoder), mientras que la derecha es el decodificador (decoder).
Contenido del curso#
Primera parte: construyendo GPT desde cero#
La primera parte de este curso está fuertemente inspirada en el video “Let’s build GPT: from scratch, in code, spelled out.” de Andrej Karpathy. Aquí implementamos un modelo que predice el siguiente carácter basándose en los caracteres anteriores (similar al curso 5 sobre NLP). Esta sección nos ayudará a entender la importancia de la arquitectura transformer, especialmente desde la perspectiva del decodificador.
En esta parte, entrenaremos un modelo para generar texto al estilo de “Molière” de forma automática.
Segunda parte: teoría y codificador#
La segunda parte aborda conceptos más matemáticos y también presenta el decodificador de la arquitectura transformer.
Tercera parte: ViT, BERT y otras arquitecturas destacadas#
Esta tercera parte presenta brevemente adaptaciones de la arquitectura transformer para tareas distintas a las de GPT.
Cuarta parte: implementación del Vision Transformer#
En la cuarta parte, implementamos el Vision Transformer basado en el artículo An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale y lo entrenamos con el conjunto de datos CIFAR-10.
Quinta parte: implementación del Swin Transformer#
Esta quinta y última parte ofrece una explicación del artículo Swin Transformer: Hierarchical Vision Transformer using Shifted Windows, junto con una implementación simplificada.