AI 文摘

指令微调数据的高效筛选方法-CaR(排序&聚类)





作者: AINLP 来源: AINLP

写在前面

大模型时代,指令微调是必不可少的技能。那么如何使用更少的数据,调出更好地效果,更节省训练资源&成本呢?之前已经给大家分享过几篇数据筛选的方法:DEITAMoDSIFD

今天给大家带来一篇通过专家模型排序和多样性聚类进行指令数据筛选的方法-CaR,全称《Clustering and Ranking: Diversity-preserved Instruction Selection through Expert-aligned Quality Estimation》。

Paper: https://arxiv.org/abs/2402.18191  
Github: https://github.com/IronBeliever/CaR  

CaR方法的核心是利用少量专家对齐数据训练一个数据质量排序模型,进行数据质量排序,再利用聚类方法保证高质量数据的多样性 ,最终利用较小的代价完成模型高质量微调,如下图所示,CaR方法仅利用1.96%的数据就达到较为优异的效果。

方法

CaR方法总览

Ranking

排序阶段主要是为了进行指令数据的质量评估,利用Sentence BERT模型进行专家偏好模型训练,其中3751条专家审核数据来自CoachLM,为了保证数据质量,有精心挑选了修订前后有显著差异的2541条指令数据**(根据编辑距离)** 。可以发现原始数据中会存在一些语义不流畅、歧义、冗余的现象,而专家修改过的数据更准确、简练,如下图所示。

PS:这里利用Sentence BERT模型做初始化,最终还是将instruction+input+output一起输入到模型中,进行回归打分。

对于排序模型,在测试集的准确率上达到了84.5%,而利用GPT-3.5 Turbo和gpt-4-1106-preview的准确率分别只有57.48%和63.19%,如下表所示。

其中GPT3.5或GPT4评分所需Prompt如下图所示。

Clustering

聚类阶段主要是为了进行指令数据的多样性保留,让指令微调数据涉及更多的任务,激发出原始语言模型更多的能力。利用sentence-transformers模型将指令数据映射到一个384维的向量空间上,再利用PCA降维保留95%的维度,最后利用K-Means算法进行向量聚类操作,簇的个数为178。

最后数据由打分排序后前Top-N1的指令数据和K个聚类簇中每个簇的Top-N2的指令数据总和再去重组成,即set(n1+k*n2)

实验结果

测试数据包含Self-instruct中252条测试集、Vicuna中80条测试集、PandaLM中70条数据集、CoachLM中150条测试集。

在7B、13B、30B模型上对比Alpaca、Alpaca-PandaLM、Alpaca-cleaned、Alpagasus、Vicuna方法,结果如下表所示AlpaCaR方法在四个数据集上均由明显优势。

利用不同方式选取排序前9k的数据集进行模型训练,可以发现不同排序模型对测试集的评分与生成结果打分成正比

数据质量分析,采用1k 、2k-42k数据训练LLaMa-7B模型,发现随着数据数量的提高、整体数据质量下降,模型效果随着下降。

数据多样性分析,当从每个簇中选择1个 指令数据时,模型效果最优。选择太多可能会影响数据的整体质量。

对比随机抽取结果,AlpaCaR方法更有竞争力。

成本分析,比较AlpaCaR相对于Alpaca和Alpagasus 在30B模型上进行指令评估和模型全参数微调 的成本,对于API方法进行质量评估参考GPT4的官方定价,模型训练推理服务参考leadergpu上租赁成本。

写在最后

大模型时代,大多数算法工程师已经变成了数据工程师,如何构造出让模型表现更好地数据,变成了大家的日常工作,但千万不要小看这份工作,往往细节决定成败。

进技术交流群请添加AINLP小助手微信(id: ainlp2)

请备注具体方向+所用到的相关技术点

![](https://api.allorigins.win/raw?url=https://mmbiz.qpic.cn/mmbiz_jpg/nW2ZPfuYqSJADkmZ2IX6Z23znAibuEevotDMq9iaMxiapK7jfMibiauGFkycicAJEs6x5U9SGyDJZ0S1tRed9TPNUUDQ/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1)

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括LLM、预训练模型、自动生成、文本摘要、智能问答、聊天机器人、机器翻译、知识图谱、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP小助手微信(id:ainlp2),备注工作/研究方向+加群目的。

  


![](https://api.allorigins.win/raw?url=https://mmbiz.qpic.cn/mmbiz_jpg/nW2ZPfuYqSKABHCqVVQkVYPrM4XY1vsd0iaeuXzyJnoFc8cibd5mYb4wdA3WMQtiaPVmr0XLZHMuVibqWncibpnTSnQ/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1)

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具