Laten we Stap voor Stap Synthetiseren: Iteratieve Dataset Synthese met Grote Taalmodellen door Fouten van Kleine Modellen te Extrapoleren
Let's Synthesize Step by Step: Iterative Dataset Synthesis with Large Language Models by Extrapolating Errors from Small Models
October 20, 2023
Auteurs: Ruida Wang, Wangchunshu Zhou, Mrinmaya Sachan
cs.AI
Samenvatting
*Datasynthese* is een veelbelovende manier om een klein model te trainen met zeer weinig gelabelde gegevens. Een benadering voor datasynthese is om de rijke kennis van grote taalmodelen te benutten om pseudo-trainingsvoorbeelden te synthetiseren voor kleine modellen, waardoor het mogelijk wordt om zowel gegevens- als rekenkundige efficiëntie tegelijkertijd te bereiken. Een belangrijke uitdaging bij datasynthese is echter dat de gesynthetiseerde dataset vaak lijdt onder een grote distributieverschil met de *echte taak* gegevensdistributie. Daarom stellen we in dit artikel *Synthesis Step by Step* (**S3**) voor, een datasynthese raamwerk dat deze distributiekloof verkleint door iteratief de fouten die een klein model maakt, getraind op de gesynthetiseerde dataset, te extrapoleren op een kleine real-world validatiedataset met behulp van een groot taalmodel. Uitgebreide experimenten op meerdere NLP-taken tonen aan dat onze aanpak de prestaties van een klein model verbetert door de kloof tussen de synthetische dataset en de echte gegevens te verkleinen, wat resulteert in een significante verbetering ten opzichte van verschillende baselines: 9,48% verbetering ten opzichte van ZeroGen en 2,73% ten opzichte van GoldGen, en maximaal 15,17% verbetering ten opzichte van het kleine model getraind op door mensen geannoteerde gegevens.
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.