Sintetizziamo Passo dopo Passo: Sintesi Iterativa di Dataset con Modelli Linguistici di Grande Scala Estrapolando Errori da Modelli Piccoli
Let's Synthesize Step by Step: Iterative Dataset Synthesis with Large Language Models by Extrapolating Errors from Small Models
October 20, 2023
Autori: Ruida Wang, Wangchunshu Zhou, Mrinmaya Sachan
cs.AI
Abstract
*Sintesi dei Dati* rappresenta un approccio promettente per addestrare un modello di piccole dimensioni con una quantità molto limitata di dati etichettati. Una strategia per la sintesi dei dati consiste nello sfruttare la ricca conoscenza dei modelli linguistici di grandi dimensioni per generare esempi di addestramento pseudo-labelati per modelli più piccoli, rendendo possibile ottenere sia efficienza nei dati che nel calcolo contemporaneamente. Tuttavia, una delle principali sfide nella sintesi dei dati è che il dataset sintetizzato spesso presenta una significativa discrepanza distributiva rispetto alla distribuzione dei dati del *compito reale*. Pertanto, in questo articolo, proponiamo *Sintesi Passo dopo Passo* (**S3**), un framework di sintesi dei dati che riduce questo divario distributivo estrapolando iterativamente gli errori commessi da un modello di piccole dimensioni addestrato sul dataset sintetizzato, utilizzando un piccolo dataset di validazione reale e un modello linguistico di grandi dimensioni. Esperimenti estesi su molteplici task di NLP dimostrano che il nostro approccio migliora le prestazioni di un modello di piccole dimensioni riducendo il divario tra il dataset sintetico e i dati reali, ottenendo un miglioramento significativo rispetto a diverse baseline: un miglioramento del 9,48% rispetto a ZeroGen e del 2,73% rispetto a GoldGen, e un miglioramento massimo del 15,17% rispetto al modello di piccole dimensioni addestrato su dati annotati 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.