AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


数据增强框架 LLM2LLM
发布日期:2024-04-14 14:22:12 浏览次数: 1883


一、结论写在前面   

论文提出了LLM2LLM,这是一种自适应和迭代的基于LLM的数据增强框架,使用LLM来扩展较小的微调数据集,而不是手动生成更多数据。该框架大大减少了所需的真实数据量,并允许论文使用合成数据高效扩展数据集,其效果可以媲美甚至超过手工收集更多数据。该方法之所以有效,是因为其迭代和有针对性的过程性质,使论文能够增强LLM在错误数据点上的信号。

         

 


二、论文的简单介绍  

2.1 论文的背景  

成功的微调需要足够的训练数据。对于一些只能获取少量特定任务数据的应用而言,这可能具有挑战性。通常,收集、清理和标注额外数据会耗费大量成本和时间。因此,关键问题是:论文应如何增加用户的训练数据,使其足以进行微调?

数据增强是一种已知的可以有效扩展训练数据集的方法。对于自然语言处理(NLP)任务,人们可以使用同义词替换、字符替换(如有意引入拼写错误)、随机交换和反向翻译等方法。    

为了解决这一问题,最近的一些论文探索了使用LLM来扩展微调数据集。这种方法被证明比传统的数据增强方法更有效。然而,这些方法通常会在所有可用的训练数据集上应用基于LLM的数据增强,而不考虑LLM对各个训练数据点的预测准确性。论文观察到,对于算术和阅读理解等各种推理任务,LLM可以正确解决微调数据集中较简单的示例,但可能难以解决较难的示例。对于LLM已经取得高精度的数据点继续进行数据增强是次优的。

         

 


2.2 论文的方法  

         

 


         

 

   


假设论文有一个大型语言模型 M(如 GPT-3.5 或 LLaMA2-7B),它是在某些源数据集(如 Common Crawl)上预训练的。目标是通过使用一个小的种子数据集 D 来调整 M(从此称为学生模型)以适应一个新的目标领域,其中 D 与预训练数据集相比可能具有未见过的特征(例如具有特定术语的医疗数据集,或具有特定特征的私有数据库)。在这种情况下,模型的零射击或微调性能可能不尽人意。虽然已探索了解决这一挑战的策略,例如通过第 2 节中讨论的增强的few-shot学习方法,但在这里论文严格关注如何使用 LLM 来丰富给定的目标数据集 D。这种方法与上述技术是正交的,提供了一种可与它们一并应用的补充解决方案。

需要注意的是,LLM2LLM与知识蒸馏不同。知识蒸馏通常适用于教师模型在目标数据上具有高精度的情况。然而,在这种情况下,教师模型在目标数据上的表现也可能不佳(例如,在私有数据库的情况下,教师缺乏特定领域知识)。但是,如果教师模型具有足够的推理能力,当给定提示和答案时,可以生成概念相似但语义不同的示例,那么论文的框架就可以提高性能。

2.2.1 LLM2LLM  

         

 

   


LLM2LLM的端到端算法如算法1所示。受Self-Instruct[55]的启发,论文使用教师模型Mteacher从训练期间模型预测错误的数据点生成合成数据,以针对学生模型中的这些缺陷。更详细地说,论文首先在给定的目标数据D0上训练基线学生模型Mstudent,并评估其性能(算法1的第4-5行)。然后论文过滤结果,保留学生模型难以正确回答的错误训练示例(第6行的Ei)。接下来,论文提示教师模型创建在概念上一致但在语义上不同的额外训练数据点(第7行,具体提示见附录B.4)。教师模型不一定需要更大,尽管这可能会提高性能。对教师模型的主要要求是具有推理能力,能够遵循数据增强指令,并能够创建与错误示例相似的数据点。该过程在图1中有示意性说明。

2.3 论文的效果  

2.3.1 实验设置  

为评估LLM2LLM的性能,论文将该框架应用于在GSM8K、CaseHOLD、SNIPS、TREC和SST-2等各种目标数据集上微调LLaMA2-7B。论文对这些数据集进行了不同采样率(0.02%到50%)的子采样,以评估不同低资源数据领域的性能。对于教师模型,论文考虑了包括GPT-3.5、GPT-4-Turbo、LLaMA2-70B[53]和Airoboros-L2-70B[17]在内的多个模型。另外,论文进行了额外实验,以确保教师模型生成的增强数据与评估最终模型精度所用的测试数据集不同。这解决了如果教师模型训练时使用了类似数据,可能导致测试数据泄露的问题。    

2.3.2 主要结果  

论文将讨论在使用GPT-3.5作为教师模型,对LLaMA2-7B在GSM8K数据集上进行微调时,LLM2LLM在不同训练数据量下的表现,然后讨论这些趋势如何扩展到其他数据集(表1)。

         

 


应用10次LLM2LLM迭代后的最终模型精度如表1所示。在低资源数据情况下,即仅有74个可用示例(GSM8K训练数据集的1%),普通微调只能达到0.99%的测试精度。然而,LLM2LLM通过基于模型错误的数据点迭代生成391个额外示例,将精度提高到19.56%。如果略微增加可用数据至149个种子示例(训练数据集的2%),论文就可以达到25.70%的精度。如表2所示,如果只依赖普通微调,论文需要10倍以上的训练数据点才能匹配这一精度。    

在图2中,论文还展示了在GSM8K和CaseHOLD数据集上,基线精度如何随着每次应用LLM2LLM而提高。论文可以观察到,在LLM2LLM的前几次迭代中,尤其是在低资源数据领域,测试精度会出现急剧增加。

         

 


2.3.3 与其他增强方法的比较  

在表2中,论文将论文的方法与其他增强技术进行了比较,包括EDA和AugGPT。论文还将结果与从未见训练集添加更多数据的情况进行了比较。

在GSM8K数据集上,LLM2LLM比朴素微调方法高出20%以上,比EDA高8%以上,比AugGPT高5%以上。类似地,在CaseHOLD数据集上,LLM2LLM比微调基线高约35%,比EDA高2.3%,比AugGPT高1.1%。这些改进,尤其是与AugGPT相比,可归因于LLM2LLM根据模型遇到困难的地方生成更有针对性的示例的能力,而AugGPT则是毫无区别地增强数据。这使得LLM2LLM能够更有效和更针对性地利用增强数据量。    

2.3.4 教师模型的选择  

到目前为止,论文已经展示了使用GPT-3.5作为教师模型时LLM2LLM的性能,但其他LLM也可以扮演这个角色。预计更强大的教师模型会产生更高质量的增强数据,从而带来更高的准确性。表A.1展示了在GSM8K数据集上,使用GPT-4-Turbo、LLaMA2-70B和Airoboros-L2-70B作为教师模型时LLM2LLM的精度。对于74个种子数据示例,LLM2LLM在使用LLaMA2-70B时只能达到11.8%的精度,而使用Airoboros时为15.0%,使用GPT-4-Turbo时为19.8%。这与论文的预期一致,因为GPT-4-Turbo在数学推理方面的能力被公认优于其他模型,大致与GPT-4相当。

2.3.5 消融研究  

在这里,论文提供一些消融研究来证明论文在LLM2LLM中所做的设计决策。

         

 

   


2.3.5.1 迭代增强与一次性增强  
论文首先评估了迭代增强与一次性添加所有增强数据的效率。为此,论文将经过10次迭代增强后达到的最终精度,与一次性添加等量增强数据后的精度进行了比较,分别在GSM8K和CaseHOLD数据集上进行。如表3所示,与进行10次迭代增强相比,一次性添加大量增强数据的效果明显较差。特别是在GSM8K数据集上,每个示例经过10步迭代增强一个数据点,比一次性增强五个数据点的精度高7.4%。
类似地,在CaseHOLD数据集上,对每个示例进行10次迭代增强一个数据点,比一次性增强四个数据点的精度高4.6%。这证明了LLM2LLM采用的对每个回答错误的示例进行一次迭代增强一个数据点的方法是合理的。
2.3.5.2 使用种子数据与增强数据进行数据增强  
在每次迭代中,LLM2LLM仅在原始种子数据集上评估学生模型的性能,并从错误的种子示例中生成增强数据。但是,另一种可能的替代方案是使用种子数据和先前的增强数据进行评估和数据增强。如表4所示,后者往往会导致性能子优和过多的总增强数据点。

在GSM8K数据集上,从上一次迭代的增强数据中生成增强数据得到的精度为18.3%,而使用种子数据进一步增强则可将精度提高到23.75%。在CaseHOLD数据集上论文观察到类似的趋势。正如3.1节所讨论的,当使用增强数据进行进一步增强时,性能下降的一个潜在原因是偏离了原始数据分布。    

2.3.5.3 从头微调与连续微调  
LLM2LLM的另一个关键决策是,是否继续从上一次迭代的检查点进行微调(即连续微调),还是在每次迭代时都从预训练模型重新开始微调(即从头微调)。考虑到优化目标的非凸性和复杂的损失景观,这个决策并非显而易见。然而,如表5所示,论文观察到从头微调始终显著优于连续微调,精度提高高达9%。连续微调性能较差可能是因为在多次微调迭代中,尤其是在低资源数据情况下种子数据较少时,过度拟合了小的种子数据。通过在每次迭代中从头开始微调,并将足够的增强数据附加到种子数据中形成训练数据集,可以缓解这一问题。




53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询