SynthesizRR: Generating Diverse Datasets with Retrieval Augmentation
作者: Abhishek Divekar, Greg Durrett
分类: cs.CL, cs.AI, cs.LG
发布日期: 2024-05-16 (更新: 2024-11-13)
备注: Published as a main conference paper at EMNLP 2024. Code available at https://github.com/amazon-science/synthesizrr
🔗 代码/项目: GITHUB
💡 一句话要点
SynthesizRR:提出检索增强的数据集生成方法,提升小模型蒸馏效果
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱六:视频提取与匹配 (Video Extraction) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 数据集合成 检索增强 知识蒸馏 大型语言模型 文本分类
📋 核心要点
- 现有数据集合成方法依赖LLM的参数知识,导致生成样本缺乏多样性,存在重复和偏见。
- SynthesizRR通过检索增强,利用不同的检索段落引导LLM生成样本,增加数据集的多样性。
- 实验表明,SynthesizRR在词汇、语义多样性、与人类文本相似性以及蒸馏性能方面均优于现有方法。
📝 摘要(中文)
由于计算和内存的限制,通常需要将大型语言模型(LLM)的能力提炼到较小的学生模型中。对于分类任务,一种方法是通过数据集合成来实现,即从LLM生成每个标签的示例。以往的合成方法使用少样本提示,依赖于LLM的参数知识来生成可用的示例。然而,这导致了重复、偏向于流行实体以及与人类文本的风格差异等问题。本文提出了通过检索和细化进行合成(SynthesizRR),它使用检索增强来为数据集合成过程引入多样性:随着检索到的段落变化,LLM被不同的内容引导以生成其示例。我们对六个数据集的合成进行了实证研究,涵盖主题分类、情感分析、语调检测和幽默,这些都需要复杂的合成策略。与32-shot提示和四种先前方法相比,我们发现SynthesizRR极大地提高了词汇和语义多样性、与人类书写文本的相似性以及蒸馏性能。我们发布了代码以执行所有步骤。
🔬 方法详解
问题定义:论文旨在解决将大型语言模型(LLM)知识蒸馏到小型学生模型时,使用数据集合成方法生成训练数据时存在的问题。现有方法,特别是基于少样本提示的方法,生成的样本缺乏多样性,容易重复,偏向于常见实体,并且在风格上与人类文本存在差异,从而限制了蒸馏效果。
核心思路:SynthesizRR的核心思路是通过检索增强来引入多样性。不同于直接依赖LLM的参数知识,SynthesizRR首先从外部知识库检索相关文本,然后利用这些检索到的文本作为LLM生成样本的上下文。通过改变检索到的文本,可以引导LLM生成更多样化的样本,从而提高蒸馏效果。
技术框架:SynthesizRR的整体框架包含以下几个主要步骤:1) 检索:对于每个类别,从外部知识库(例如Wikipedia)检索相关的文本段落。2) 提示构建:将检索到的文本段落与类别标签组合成提示。3) 生成:使用LLM(例如GPT-3)根据提示生成样本。4) 细化 (可选):对生成的样本进行后处理,例如过滤掉不符合要求的样本。
关键创新:SynthesizRR的关键创新在于将检索增强引入到数据集合成过程中。这使得生成的样本不再仅仅依赖于LLM的参数知识,而是能够利用外部知识库中的信息,从而显著提高样本的多样性和质量。与现有方法相比,SynthesizRR能够生成更接近人类文本的样本,并且能够更好地泛化到未见数据。
关键设计:论文中没有详细说明具体的参数设置和网络结构,因为SynthesizRR主要是一个框架,可以与不同的LLM和检索方法结合使用。关键的设计在于如何有效地利用检索到的文本来引导LLM生成样本。例如,可以使用不同的提示模板,或者对检索到的文本进行预处理,以提高生成样本的质量。
🖼️ 关键图片
📊 实验亮点
实验结果表明,SynthesizRR在六个不同的数据集上均优于现有的数据集合成方法,包括32-shot prompting和其他四种基线方法。SynthesizRR显著提高了生成样本的词汇和语义多样性,与人类书写文本的相似度,以及蒸馏后的学生模型的性能。具体性能提升数据未知,但整体效果显著。
🎯 应用场景
SynthesizRR可应用于各种文本分类任务的数据集生成,尤其适用于领域知识密集型或需要高多样性的场景。该方法能够降低对人工标注数据的依赖,加速小模型的训练和部署,在资源受限的环境下具有重要价值。未来可进一步探索如何结合领域知识图谱和更先进的检索技术,提升生成样本的质量和相关性。
📄 摘要(原文)
It is often desirable to distill the capabilities of large language models (LLMs) into smaller student models due to compute and memory constraints. One way to do this for classification tasks is via dataset synthesis, which can be accomplished by generating examples of each label from the LLM. Prior approaches to synthesis use few-shot prompting, which relies on the LLM's parametric knowledge to generate usable examples. However, this leads to issues of repetition, bias towards popular entities, and stylistic differences from human text. In this work, we propose Synthesize by Retrieval and Refinement (SynthesizRR), which uses retrieval augmentation to introduce variety into the dataset synthesis process: as retrieved passages vary, the LLM is seeded with different content to generate its examples. We empirically study the synthesis of six datasets, covering topic classification, sentiment analysis, tone detection, and humor, requiring complex synthesis strategies. We find that SynthesizRR greatly improves lexical and semantic diversity, similarity to human-written text, and distillation performance, when compared to 32-shot prompting and four prior approaches. We release our code to perform all steps at https://github.com/amazon-science/synthesizrr