BART (Bidirectional and Auto-Regressive Transformer) es un autocodificador de denoising diseñado para el preentrenamiento de modelos de secuencia a secuencia en el procesamiento del lenguaje natural. Presentado por investigadores de Facebook AI en 2019, BART corrompe el texto con una función de noising arbitraria y aprende un modelo para reconstruir el texto original. Es notable por unificar varios objetivos de preentrenamiento, incluidos los utilizados en modelos como BERT y GPT, en un único marco que destaca tanto en tareas de comprensión como de generación.
La arquitectura de BART es un transformador estándar de secuencia a secuencia, con un codificador bidireccional similar a BERT y un decodificador autorregresivo similar a GPT. Este diseño permite que el codificador capture el contexto tanto de la izquierda como de la derecha, mientras que el decodificador genera la salida token a token. El objetivo de preentrenamiento implica corromper el texto de entrada y entrenar al modelo para minimizar la pérdida de entropía cruzada entre la salida del decodificador y el texto original sin corromper. La flexibilidad de BART para manejar diversas estrategias de noising, como el enmascaramiento de tokens, la eliminación de tokens, el relleno de texto, la permutación de oraciones y la rotación de documentos, lo convierte en un modelo general de gran potencia.
Desarrollo y lanzamiento
BART fue desarrollado por un equipo de Facebook AI, ahora parte de Meta AI, y se presentó en el artículo "BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension" en la reunión anual de 2020 de la Asociación de Lingüística Computacional (ACL). El modelo se publicó como software de código abierto, con implementaciones disponibles en la biblioteca Fairseq. El lanzamiento inicial incluía modelos preentrenados para inglés, con variantes base y grande, y posteriormente se amplió a versiones multilingües como mBART.
El desarrollo de BART estuvo motivado por la observación de que los métodos de preentrenamiento existentes a menudo estaban especializados en tareas de comprensión (como BERT) o de generación (como GPT). BART pretendía combinar las fortalezas de ambos mediante una arquitectura de secuencia a secuencia que pudiera ajustarse para una amplia gama de aplicaciones. Las funciones de noising utilizadas durante el preentrenamiento se diseñaron para imitar varios tipos de corrupción que ocurren en el texto del mundo real, lo que hace que el modelo sea robusto a entradas ruidosas.
Aplicaciones y rendimiento
BART logró resultados de última generación en varios puntos de referencia en el momento de su lanzamiento. Se desempeñó particularmente bien en tareas de diálogo abstractivo, respuesta a preguntas y resumen. Por ejemplo, en el conjunto de datos de resumen CNN/DailyMail, BART-large logró una puntuación ROUGE-1 de 47,6, superando a los modelos anteriores. En el conjunto de datos de respuesta a preguntas SQuAD, logró una puntuación F1 de 94,6, igualando o superando el rendimiento de los modelos especializados. BART también mostró un fuerte rendimiento en tareas de generación de lenguaje natural, como la generación de respuestas en sistemas de diálogo.
Una de las ventajas clave de BART es su capacidad para ajustarse tanto en tareas de comprensión como de generación con modificaciones mínimas específicas de la tarea. Para tareas de clasificación, se utiliza la misma representación del decodificador, mientras que para tareas de generación, el decodificador se utiliza para producir secuencias de salida. Esta versatilidad convirtió a BART en una opción popular para los profesionales en el campo de la inteligencia artificial y el aprendizaje automático.
Influencia y legado
BART ha tenido una influencia significativa en la investigación posterior sobre preentrenamiento para el procesamiento del lenguaje natural. Su enfoque de autocodificador de denoising inspiró a modelos posteriores como T5, que también utiliza un marco de texto a texto, y varios otros métodos de preentrenamiento basados en denoising. El concepto de corromper el texto de entrada y reconstruirlo se ha convertido en una técnica estándar en el desarrollo de modelos de lenguaje de gran tamaño. La arquitectura y la metodología de entrenamiento de BART también se utilizan en muchas aplicaciones específicas de dominio, como el resumen de textos biomédicos y el procesamiento de documentos legales.
El éxito del modelo contribuyó a la tendencia más amplia de utilizar modelos basados en transformadores en la investigación de aprendizaje profundo y redes neuronales. Demostró que las arquitecturas de secuencia a secuencia podían preentrenarse eficazmente en grandes corpus y luego adaptarse a una amplia variedad de tareas, allanando el camino para modelos más unificados en el campo. La publicación de código abierto de BART también facilitó su adopción tanto en entornos académicos como industriales, y muchas empresas lo integraron en sus canalizaciones de procesamiento del lenguaje natural.
Detalles técnicos
BART utiliza una arquitectura de transformador estándar con un codificador bidireccional y un decodificador autorregresivo. El modelo base tiene 6 capas tanto en el codificador como en el decodificador, con un tamaño oculto de 768 y 12 cabezales de atención, totalizando alrededor de 140 millones de parámetros. El modelo grande tiene 12 capas, un tamaño oculto de 1024 y 16 cabezales de atención, totalizando alrededor de 400 millones de parámetros. Los datos de preentrenamiento consistieron en texto de Wikipedia en inglés y libros, similar a los datos utilizados para BERT.
Las funciones de noising utilizadas en BART incluyen el enmascaramiento de tokens, donde los tokens aleatorios se reemplazan con un token de máscara; la eliminación de tokens, donde se eliminan tokens aleatorios; el relleno de texto, donde los tramos de texto se reemplazan con un único token de máscara; la permutación de oraciones, donde se barajan las oraciones; y la rotación de documentos, donde el documento se rota para comenzar en un token aleatorio. El modelo se entrena para reconstruir el texto original a partir de la versión corrupta, lo que lo obliga a aprender dependencias tanto locales como globales en el texto.