论文阅读:Self-Evolved Diverse Data Sampling for Efficient Instruction Tuning 数据子集挑选方法

论文链接:https://arxiv.org/abs/2202.06417
GitHub 仓库:https://github.com/OFA-Sys/DiverseEvol

提高大型语言模型(LLM)的指令遵循能力主要需要大量的指令调整数据集。然而,这些数据集的庞大数量带来了相当大的计算负担和标注成本。为了研究一种标注效率高的指令调整方法,使模型本身能够主动采样同样有效甚至更有效的子集,作者引入了一种自进化机制 DIVERSEEVOL。在这一过程中,模型会反复增强其训练子集,以完善自身性能,而无需人类或更高级 LLM 的干预该数据采样技术的关键在于提高所选子集的多样性,因为模型会根据其当前的嵌入空间选择与任何现有数据点最不同的新数据点。三个数据集和基准的广泛实验证明了 DIVERSEEVOL 的有效性。与在全部数据上进行微调相比,在不到 8% 的原始数据集上训练的模型保持或提高了性能。作者还提供了经验证据来分析指令数据多样性的重要性,以及迭代方案相对于一次性采样的重要性。

方法:DIVERSEEVOL

迭代指令数据选择

目标是将指令数据挖掘正规化,使其成为一个迭代过程,按照一定的策略从庞大的源指令数据集中逐步提取指令。给定一个指令响应对集合,表示为 Z = { ( x i , y i ) } i ∈ N Z = \{(x_i, y_i)\}_{i \in N} Z={(xi,yi)}iN ,其中每个 (xi, yi) 代表一个特定的指令响应对,定义 N = { 1 , … , n } N = \{1, \ldots, n\} N={ 1,,n} 为初始源代码指令数据集的大小。

迭代过程围绕两个数据容器展开:截至迭代步骤 t 的训练数据池 P t P_t Pt 和未选择数据点容器 Q t Q_t Qt。在每次迭代 t 中,选择函数(即策略)A 决定将哪些数据点 S = { s j } j ∈ K ,   K = { 1 , … , k } S = \{s_j\}_{j \in K}, \ K = \{1, \ldots , k\} S={ sj}jK, K={ 1,,k},被整合到下一步的训练数据池 P t + 1 P_{t+1} Pt+1中。扩大后的模型库将作为下一次模型迭代 M t + 1 M_{t+1}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值