XYZNOT

Artículos · arXiv 2109.01652

Finetuned Language Models Are Zero-Shot Learners

Publicado cs.CL arXivPDF

Leer con traducción e IA

Resumen en tres líneas

  1. 🎯 Los modelos de lenguaje grandes sin ajustar tienen dificultades en tareas zero-shot porque los prompts directos se desvían de la distribución de tokens del preentrenamiento.
  2. 🔧 Instruction tuning: ajustar un LM decodificador de 137B en 62 conjuntos de datos de PLN verbalizados mediante plantillas de lenguaje natural, reservando clústeres de evaluación.
  3. 📈 FLAN en zero-shot supera a GPT-3 de 175B en zero-shot en 20 de 25 conjuntos de datos evaluados y bate a GPT-3 few-shot en tareas como ANLI y BoolQ.

Resumen

Este artículo explora un método sencillo para mejorar las capacidades de aprendizaje zero-shot de los modelos de lenguaje. Demostramos que el instruction tuning —el ajuste fino de modelos de lenguaje en una colección de tareas descritas mediante instrucciones— mejora sustancialmente el rendimiento zero-shot en tareas no vistas. Tomamos un modelo de lenguaje preentrenado de 137B parámetros y le aplicamos instruction tuning sobre más de 60 tareas de PLN verbalizadas mediante plantillas de instrucciones en lenguaje natural. Evaluamos este modelo ajustado con instrucciones, al que llamamos FLAN, en tipos de tareas no vistos. FLAN mejora sustancialmente el rendimiento de su contraparte no modificada y supera a GPT-3 de 175B en zero-shot en 20 de las 25 tareas evaluadas. FLAN incluso supera a GPT-3 en few-shot por un amplio margen en ANLI, RTE, BoolQ, AI2-ARC, OpenbookQA y StoryCloze. Los estudios de ablación revelan que el número de conjuntos de datos de ajuste, la escala del modelo y las instrucciones en lenguaje natural son claves para el éxito del instruction tuning.

Resumen original (inglés)

This paper explores a simple method for improving the zero-shot learning abilities of language models. We show that instruction tuning -- finetuning language models on a collection of tasks described via instructions -- substantially improves zero-shot performance on unseen tasks. We take a 137B parameter pretrained language model and instruction-tune it on over 60 NLP tasks verbalized via natural language instruction templates. We evaluate this instruction-tuned model, which we call FLAN, on unseen task types. FLAN substantially improves the performance of its unmodified counterpart and surpasses zero-shot 175B GPT-3 on 20 of 25 tasks that we evaluate. FLAN even outperforms few-shot GPT-3 by a large margin on ANLI, RTE, BoolQ, AI2-ARC, OpenbookQA, and StoryCloze. Ablation studies reveal that number of finetuning datasets, model scale, and natural language instructions are key to the success of instruction tuning.

Guía de lectura

Problema y motivación

Los modelos de lenguaje grandes (como GPT-3 175B) destacan en el aprendizaje few-shot aprovechando ejemplos en el contexto. Sin embargo, sus capacidades zero-shot siguen siendo sustancialmente más débiles en benchmarks complejos de PLN como la comprensión lectora, la inferencia en lenguaje natural (NLI) y la respuesta a preguntas. Los modelos no ajustados dependen de prompts formateados como continuaciones de los datos de preentrenamiento, lo cual es un formato poco natural y frágil para tareas que típicamente se articulan como instrucciones o consultas explícitas.

Los autores exploran si el ajuste fino supervisado sobre una amplia colección de tareas diversas de PLN, formuladas explícitamente como instrucciones en lenguaje natural, permite que los modelos de lenguaje generalicen en zero-shot a tipos de tareas completamente no vistos durante la inferencia.

Ideas clave

  • Instruction Tuning: Convertir conjuntos de datos existentes de PLN a formatos de instrucción-respuesta utilizando plantillas de prompts en lenguaje natural, combinando la supervisión multitarea con el prompting.
  • Exclusión de clústeres de tareas (Task Cluster Holdout): Agrupar conjuntos de datos en clústeres temáticos (p. ej., NLI, Closed-Book QA, traducción, análisis de sentimiento). Al evaluar la generalización zero-shot en un clúster objetivo , todos los conjuntos de datos pertenecientes a (y los clústeres estrechamente vinculados) se excluyen del entrenamiento para garantizar una evaluación cruzada verdaderamente zero-shot.
  • Clasificación con opciones: Para tareas de clasificación, añadir un sufijo OPTIONS: que lista directamente las etiquetas candidatas válidas en el prompt, guiando la distribución de salida del modelo generativo sin restringirlo puramente a comparaciones de logits de clasificación por rangos.

Método

El modelo base es LaMDA-PT, un transformer denso, de izquierda a derecha y de solo decodificador con 137 mil millones de parámetros, preentrenado con 2,49 billones () de tokens BPE a partir de documentos web, código, Wikipedia y datos de diálogo (aproximadamente un 10% no inglés).

  1. Agregación de datos: 62 conjuntos de datos de TensorFlow Datasets se agrupan en 12 clústeres. Para cada conjunto de datos, se redactan 10 plantillas únicas de instrucciones en lenguaje natural (incluyendo hasta 3 plantillas «invertidas», p. ej., generar texto a partir del sentimiento).
  2. Configuración del entrenamiento: El límite de ejemplos de entrenamiento por conjunto de datos es de 30k. Los lotes se construyen mediante un esquema de mezcla proporcional a los ejemplos con una tasa máxima de mezcla de 3.000 para evitar que los conjuntos de datos grandes dominen. El entrenamiento se ejecuta durante 30k pasos de gradiente con un tamaño de lote de 8.192 tokens usando el optimizador Adafactor (tasa de aprendizaje de ), longitud de secuencia de 1024 (entrada) y 256 (objetivo), con empaquetado de secuencias (sequence packing).
  3. Protocolo de evaluación: Para evaluar a través de clústeres reservados, se entrenan modelos FLAN distintos. El rendimiento se reporta tanto como el promedio entre todas las plantillas de instrucción como con la mejor plantilla seleccionada en un conjunto de validación.
  4. Inferencia con ejemplos Few-Shot: Cuando se dispone de ejemplos , las entradas se formatean como: donde representa la concatenación con un token separador, con un límite máximo de 16 ejemplos y 960 tokens.

Resultados

  • Comparación Zero-Shot frente a GPT-3: Utilizando la mejor plantilla del conjunto de desarrollo, FLAN 137B en zero-shot supera a GPT-3 175B en zero-shot en 20 de los 25 benchmarks evaluados y supera a GPT-3 few-shot en 10 conjuntos de datos, incluyendo ANLI R1–R3, RTE, BoolQ, OpenbookQA y StoryCloze.
  • Tipos de tareas: Se observan grandes mejoras en tareas formuladas naturalmente como instrucciones (p. ej., NLI, comprensión lectora, closed-book QA, traducción). En RTE, FLAN alcanza un 84,1% (mejor plantilla de desarrollo) frente al 63,5% de GPT-3 zero-shot y el 72,9% de GPT-3 few-shot. En BoolQ, FLAN alcanza el 82,9% frente al 60,5% de GPT-3 zero-shot y el 77,5% few-shot.
  • Dependencia de la escala: Las ablaciones en 422M, 2B, 8B, 68B y 137B parámetros revelan que el instruction tuning perjudica la generalización zero-shot en tareas no vistas para modelos de parámetros. La transferencia positiva solo emerge a gran escala ( y ).
  • Importancia de las instrucciones: El ajuste fino sin plantillas de instrucción (solo entrada-salida: 37,3% de promedio en 4 clústeres) o solo con nombres de conjuntos de datos (46,6%) produce un rendimiento zero-shot significativamente peor que las instrucciones naturales (55,2%).
  • Compatibilidad con Prompt Tuning: El prompt tuning eficiente en parámetros aplicado a FLAN produce una mayor precisión en SuperGLUE que cuando se aplica al modelo base LaMDA-PT sin ajustar, especialmente en regímenes de pocos recursos de 32 ejemplos.

Limitaciones y preguntas abiertas

  • Tareas de completar oraciones: El instruction tuning aporta un beneficio mínimo (y a veces perjudicial) en tareas de tipo modelado de lenguaje donde las instrucciones son redundantes, como Winogrande o la compleción de oraciones en razonamiento de sentido común.
  • Complejidad de las instrucciones: El artículo solo investiga instrucciones breves de una sola oración en lugar de directrices de prompts largas y elaboradas como las que típicamente se proporcionan a evaluadores humanos.
  • Ventana de contexto y cómputo: La longitud de contexto de 1024 tokens de FLAN impidió una evaluación rigurosa de tareas de resumen. Además, ejecutar y servir un modelo denso de 137B parámetros requiere recursos de cómputo elevados.

Términos clave

instruction tuning
Ajuste fino de un modelo de lenguaje preentrenado sobre una colección diversa de conjuntos de datos formateados mediante plantillas de instrucciones en lenguaje natural para mejorar la generalización a tareas no vistas.
FLAN
Finetuned Language Net; el modelo de 137B parámetros ajustado mediante instrucciones basado en la arquitectura de solo decodificador LaMDA-PT.
task clusters
Agrupaciones de conjuntos de datos de PLN por tipo de tarea (p. ej., NLI, Closed-Book QA) utilizadas para aplicar particiones estrictas de evaluación excluyendo un clúster completo para pruebas zero-shot.
LaMDA-PT
Un transformer denso, de izquierda a derecha y de solo decodificador de 137B parámetros, preentrenado con 2,49T de tokens de documentos web, código, Wikipedia y datos de diálogo.
classification with options
Una estrategia de formateo de salida donde se añade el token 'OPTIONS:' seguido de las clases candidatas posibles a los prompts de clasificación para guiar la generación de texto libre.
examples-proportional mixing
Estrategia de ponderación de conjuntos de datos durante el entrenamiento multitarea donde el muestreo de cada conjunto es proporcional a su tamaño hasta un límite máximo de mezcla especificado (3.000 ejemplos).
data contamination analysis
Evaluación a posteriori que mide el solapamiento de n-gramas entre el corpus de preentrenamiento y los conjuntos de prueba de los benchmarks para verificar que las mejoras de rendimiento no se deban a la memorización.

Preguntas

¿En qué se diferencia el instruction tuning del ajuste fino multitarea estándar?

El ajuste fino multitarea tradicional busca optimizar el rendimiento en tareas de entrenamiento específicas o adaptarse a nuevos dominios. El instruction tuning utiliza instrucciones en lenguaje natural para entrenar al modelo a comprender descripciones de tareas, apuntando a la generalización zero-shot en tipos de tareas no vistos y totalmente excluidos durante el entrenamiento.

¿Por qué el instruction tuning perjudica el rendimiento en modelos de lenguaje más pequeños?

En modelos con 8B de parámetros o menos, aprender aproximadamente 40 tareas distintas de instruction tuning parece consumir toda la capacidad de parámetros del modelo, degradando la generalización en tareas no vistas. Solo a partir de y 137B de parámetros la capacidad permite aprender tanto la ejecución de tareas como el seguimiento general de instrucciones.

¿En qué tareas FLAN no logra superar al modelo base sin ajustar?

El instruction tuning muestra poco beneficio en tareas formuladas directamente como compleciones de modelado de lenguaje, como la resolución de correferencias (p. ej., Winogrande) y benchmarks de sentido común de continuación de oraciones, donde los prompts instructivos son en gran medida redundantes respecto al objetivo básico de preentrenamiento.

¿Cómo se abordó la contaminación de datos en el corpus de preentrenamiento?

Los autores buscaron solapamientos de 13-gramas entre los ejemplos de prueba y el conjunto de datos de preentrenamiento de 2,49T tokens, creando subconjuntos limpios sin colisiones. El rendimiento en los subconjuntos limpios no mostró correlación con caídas de rendimiento, lo que indica que la memorización no fue la causa de las mejoras zero-shot de FLAN.

La explicación de esta página la escribió una IA a partir del artículo y puede contener errores. Consulte el artículo para los detalles.

Leer con traducción e IA