Sinteticemos paso a paso: Síntesis iterativa de conjuntos de datos con modelos de lenguaje grandes mediante la extrapolación de errores de modelos pequeños
Let's Synthesize Step by Step: Iterative Dataset Synthesis with Large Language Models by Extrapolating Errors from Small Models
October 20, 2023
Autores: Ruida Wang, Wangchunshu Zhou, Mrinmaya Sachan
cs.AI
Resumen
La *Síntesis de Datos* es un enfoque prometedor para entrenar un modelo pequeño con muy pocos datos etiquetados. Una estrategia para la síntesis de datos consiste en aprovechar el conocimiento profundo de los modelos de lenguaje grandes para generar ejemplos de entrenamiento pseudoetiquetados para modelos pequeños, lo que permite lograr eficiencia tanto en datos como en cómputo simultáneamente. Sin embargo, un desafío clave en la síntesis de datos es que el conjunto de datos sintetizado suele presentar una gran discrepancia distribucional con respecto a la distribución de datos de la *tarea real*. Por ello, en este artículo proponemos *Síntesis Paso a Paso* (**S3**), un marco de síntesis de datos que reduce esta brecha distribucional al extrapolar iterativamente los errores cometidos por un modelo pequeño entrenado con el conjunto de datos sintetizado, utilizando un modelo de lenguaje grande sobre un pequeño conjunto de validación del mundo real. Experimentos exhaustivos en múltiples tareas de PLN demuestran que nuestro enfoque mejora el rendimiento de un modelo pequeño al reducir la brecha entre el conjunto de datos sintético y los datos reales, logrando una mejora significativa frente a varios métodos de referencia: un 9,48 % de mejora respecto a ZeroGen y un 2,73 % frente a GoldGen, y hasta un 15,17 % de mejora comparado con el modelo pequeño entrenado con datos anotados manualmente.
English
*Data Synthesis* is a promising way to train a small model with very little
labeled data. One approach for data synthesis is to leverage the rich knowledge
from large language models to synthesize pseudo training examples for small
models, making it possible to achieve both data and compute efficiency at the
same time. However, a key challenge in data synthesis is that the synthesized
dataset often suffers from a large distributional discrepancy from the *real
task* data distribution. Thus, in this paper, we propose *Synthesis Step by
Step* (**S3**), a data synthesis framework that shrinks this distribution gap
by iteratively extrapolating the errors made by a small model trained on the
synthesized dataset on a small real-world validation dataset using a large
language model. Extensive experiments on multiple NLP tasks show that our
approach improves the performance of a small model by reducing the gap between
the synthetic dataset and the real data, resulting in significant improvement
compared to several baselines: 9.48% improvement compared to ZeroGen and 2.73%
compared to GoldGen, and at most 15.17% improvement compared to the small model
trained on human-annotated data.