InsCL:一种数据高效的连续学习范式,用于使用指令微调大型语言模型(NAACL2024)

1、写作动机:

指令微调有效地优化了大型语言模型(LLMs)用于下游任务。由于在实际应用中环境的变化,LLMs需要在不遗忘的情况下进行连续的任务特定适应。考虑到巨大的计算成本,基于重播的连续学习(CL)方法是解决LLMs遗忘问题的最简单和最广泛使用的方法。然而,传统的基于重播的方法未充分利用指令来定制重播策略。

2、主要贡献:

1)提出了一种称为基于指令的连续学习(InsCL)的新范式。InsCL根据使用指令计算的任务相似性(通过Wasserstein距离)动态重播先前的数据。

2)此外,进一步引入了一种指令信息度量(InsInfo),以量化指令的复杂性和多样性。根据InsInfo,InsCL更倾向于指导重播过程以获得高质量的数据。

3、方法:

将要学习的n个任务定义为一个序列D = {D1, . . . , Dn}。当LLMs进行第i个任务的微调时,通过从Dj中抽样示例形成一个重播数据集,其中j ∈ [1, i − 1]。形式上,增广了重播数据的训练数据定义为:

其中α是重播超参数,控制从先前任务中抽样的数量。

当LLMs在当前任务Di上进行微调时,第j个先前任务的动态重播数据量定义为:

其中Wj,i表示Dj和Di之间的Wasserstein距离:

同时,作者还提出了如下的InsInfo来量化指令信息:

其中N表示先前指令的总数。当任务进入流时,将所有先前的指令存储在内存中。对于每个指令,T表示标签数量,ft表示指令池中第t个标签的频率。

具体算法如下:

4、实验设置:

SuperNI 数据集:一个专注于特定 NLP 任务的综合基准。

模型:使用LLaMA-7B 模型。

评估:利用相对增益来关注遗忘问题。仅对每个单独任务训练专家 LLM,并使用它们各自的保留数据进行测试,将结果视为上界。

阶段 i 的相对增益可以定义为:

利用 Rouge-L计算和上界。

5、实验:

5.1比较的baseline:

• 无重播:在没有任何重播数据的情况下逐步训练 LLMs。

• 随机重播:从每个先前任务中随机抽样 α 个实例作为 Continual-T0 中的重播设置。

• 原型数据:使用 k-means 对训练数据嵌入空间进行聚类。对于每个先前任务,将聚类数设置为指令的数量。根据与相应中心的余弦距离按降序对数据进行排序,并将前 α 个作为重播数据。

• 原型指令:使用最优的轮廓系数对先前任务上的指令进行聚类,将最接近其相应中心的指令视为最具代表性的指令。随机选择具有原型指令的 α 个数据。

• 多样化指令:使用与当前任务指令最不相似的指令重播数据。通过计算与当前指令嵌入的余弦相似性矩阵,选择具有最小列和的最不相似指令,并为每个先前任务重播 α 相应数据。

5.2主要结果:

5.3:训练顺序分析:

5.4消融实验:

6、局限性:

InsCL表现出的良好性能依赖于高质量的指令。相反,模糊的指令可能会影响任务相似性的计算和InsInfo引导采样,这可能会误导InsCL。然而,如果基于指令的数据集不理想,则微调后的LLMs的性能也会受到很大影响。因此,最好倾向于在收集到高质量的基于指令的数据后使用InsCL方法,以进一步缓解灾难性遗忘。

相关推荐
胡乱编胡乱赢几秒前
关于在pycharm终端连接服务器
人工智能·深度学习·pycharm·终端连接服务器
木木子99991 分钟前
行业学习【电商】:直播电商的去头部化、矩阵号?
学习
聚客AI8 分钟前
⚠️Embedding选型指南:五步搞定数据规模、延迟与精度平衡!
人工智能·llm·掘金·日新计划
h_k1008633 分钟前
Manus AI与多语言手写识别
人工智能
就是一顿骚操作36 分钟前
mcp解读——概述及整体架构
人工智能·大模型
程序猿阿伟36 分钟前
《云原生边缘与AI训练场景:2类高频隐蔽Bug的深度排查与架构修复》
人工智能·云原生·bug
l1t36 分钟前
利用美团龙猫添加xlsx的sheet.xml读取sharedStrings.xml中共享字符串输出到csv功能
xml·c语言·数据结构·人工智能·算法·解析器
IT_陈寒1 小时前
Python 3.12 的这5个新特性,让我的代码性能提升了40%!
前端·人工智能·后端
先做个垃圾出来………1 小时前
传统模型RNN与CNN介绍
人工智能·rnn·cnn
流***陌1 小时前
扭蛋机小程序有哪些好玩的创新功能?
大数据·人工智能