T5 (Text-to-Text Transfer Transformer) es una serie de modelos de lenguaje de gran escala desarrollados por Google AI e introducidos en 2019. Los modelos se basan en la arquitectura transformador, específicamente un diseño de codificador-decodificador donde el codificador procesa el texto de entrada y el decodificador genera el texto de salida. La innovación clave de T5 es su marco unificado de texto a texto, que trata cada tarea de procesamiento de lenguaje natural - desde la traducción hasta el resumen y la respuesta a preguntas - como un problema de texto a texto, donde tanto las entradas como las salidas son siempre cadenas de texto.
El artículo original de T5, "Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer", demostró que una única arquitectura de modelo podía lograr resultados de vanguardia en múltiples puntos de referencia de PLN mediante el preentrenamiento en un corpus masivo y el ajuste fino posterior para tareas específicas. Este enfoque influyó en desarrollos posteriores en la investigación de modelos de lenguaje de gran escala y contribuyó al campo más amplio de IA generativa.
Entrenamiento
Los modelos T5 originales se preentrenaron en el Colossal Clean Crawled Corpus (C4), un conjunto de datos que contiene texto y código extraídos de internet. Este proceso de preentrenamiento permitió que los modelos aprendieran habilidades generales de comprensión y generación de lenguaje. Después del preentrenamiento, los modelos T5 podían ajustarse finamente en tareas específicas posteriores, adaptando su conocimiento para funcionar bien en diversas aplicaciones.
El preentrenamiento utilizó un objetivo de eliminación de ruido donde el modelo aprendía a reconstruir texto corrupto. Por ejemplo, dado la entrada "Thank you <X> me to your party <Y> week", el modelo se entrenaba para generar "<X> for inviting <Y> last <Z>", donde <X> e <Y> denotan espacios en blanco a rellenar (llamados "centinelas" en el informe original) y <Z> marca el final de la salida. Los modelos también se preentrenaron en tareas como traducción (por ejemplo, "translate English to German: That is good." -> "Das ist gut.") y juicios de aceptabilidad gramatical (por ejemplo, "The course is jumping well." -> "not acceptable").
Arquitectura
La serie T5 abarca varios modelos con tamaños variables, todos utilizando la arquitectura de transformador codificador-decodificador. El artículo original informó de cinco variantes de modelo distinguidas por el número de parámetros: T5-small, T5-base, T5-large, T5-3B y T5-11B. El codificador y el decodificador siempre tienen el mismo número de capas; por ejemplo, T5-small tiene 6 capas tanto en el codificador como en el decodificador.
Los parámetros arquitectónicos clave incluyen el número de capas (n_layer), el número de cabezas de atención (n_head), la dimensión de los vectores de incrustación (d_model), la dimensión de la red de avance (d_ff) y la dimensión de los vectores de clave/valor (d_kv). A diferencia de los transformadores típicos, los modelos 3B y 11B no satisfacen la relación d_model = d_kv × n_head.
En comparación con el transformador original, T5 introdujo varias modificaciones menores: normalización de capas sin sesgo aditivo, colocación de la normalización de capas fuera de la ruta residual y uso de incrustaciones posicionales relativas. Todos los experimentos utilizaron un tokenizador WordPiece con un tamaño de vocabulario de 32,000, compartido entre entrada y salida, entrenado en una mezcla de datos de inglés, alemán, francés y rumano de C4 en una proporción de 10:1:1:1.
Variantes
Varios modelos posteriores utilizaron la arquitectura T5, con convenciones de nomenclatura no estandarizadas. Las variantes notables incluyen:
- T5 1.1 (small, base, large, XL, XXL): Versiones mejoradas con parámetros aproximadamente iguales, que utilizan activación GEGLU en lugar de ReLU, y renombran 3B/11B a XL/XXL con formas cambiadas.
- LM-adapted T5 (2021): Comenzó desde puntos de control de T5 y se entrenó adicionalmente en 100B tokens adicionales de C4.
- Switch Transformer (2021): Una variante de mezcla de expertos que reemplaza las capas de avance con capas de mezcla de expertos.
- T0 (2021): Comenzó desde puntos de control de LM-adapted T5 y se entrenó para seguir instrucciones de tareas en cero disparos.
- ByT5 (2021): Una versión a nivel de bytes que opera en bytes UTF-8 sin tokenizadores, entrenada en C4 multilingüe.
- Flan-T5-XL (2022): Ajustada por instrucciones en el conjunto de datos FLAN comenzando desde T5 XL.
- T5X (2022): Una reimplementación basada en JAX del código base original de TensorFlow.
- UL2 20B (2022): Escalado a 20B parámetros con un objetivo de "mezcla de eliminadores de ruido", entrenado en C4.
- Flan-UL2 20B (2022): UL2 20B ajustada por instrucciones en FLAN.
- Pile-T5 (2024): Misma arquitectura pero utilizando el tokenizador Llama, entrenado en The Pile.
Aplicaciones
Los modelos T5 se han empleado en diversas aplicaciones, incluyendo chatbots, sistemas de traducción automática, herramientas de resumen de texto, generación de código y robótica. El diseño de codificador-decodificador permite el seguimiento de instrucciones: el codificador procesa la instrucción y el decodificador genera autoregresivamente la respuesta.
El codificador de T5 también puede servir como un codificador de texto, similar a BERT, produciendo secuencias de vectores de números reales para aplicaciones posteriores. Por ejemplo, Google Imagen utiliza T5-XXL como codificador de texto para condicionar un modelo de difusión, y el modelo de difusión AuraFlow utiliza Pile-T5-XL. Estas aplicaciones demuestran la versatilidad de T5 más allá de las tareas tradicionales de PLN, contribuyendo a avances en aprendizaje automático y aprendizaje profundo.