©作者 | 毛乾任
单位 | 中关村实验室
研究方向 | 文本自动生成
本文主要介绍我们在半监督文本挖掘方向的工作 DisCo: Distilled Student Models Co-training for Semi-supervised Text Mining ,工作已被 EMNLP 2023 接收。许多文本挖掘模型是通过在下游任务中对大型预训练语言模型(PLM)进行微调构建的。然而,当前一个重大挑战是在使用标注样本有限的轻量级模型时依旧保持性能。
论文标题:
DisCo: Distilled Student Models Co-training for Semi-supervised Text Mining
https://arxiv.org/abs/2305.12074
https://github.com/LiteSSLHub/DisCo
本文提出了一个半监督协同训练(SSL)框架 DisCo,通过知识蒸馏的方式从大型 PLM 生成一组小型学生模型用于下游任务的微调。DisCo 采用了一种新颖的协同训练技术,通过促进学生在多样化视图下的知识共享来优化多个小型学生模型在下游任务上的微调性能。 具体而言,小型学生模型利用不同蒸馏策略产生的模型视图和由各种输入增强产生的数据视图分享互补知识,以提升它们的 SSL 效果。我们在半监督文本分类和摘要提取任务上评估了 DisCo。 实验结果表明,利用 DisCo 框架产生的学生模型比基线 PLM 小 7.6 倍,推理速度快 4.8 倍,同时保持了可比的性能。我们还展示了利用 DisCo 框架生成的学生模型在不同任务中的表现优于同等大小的微调模型。
研究背景 大型预训练语言模型(PLM),如 BERT、GPT-3,在自然语言处理应用的发展中扮演着至关重要的角色。为了将这些 PLM 应用于广泛的下游任务中,我们需要对其进行微调,以便将预训练阶段的知识泛化到具体的任务中去。 然而,尽管预训练和下游任务微调的范式为自然语言处理任务带来了显著的进步,在现实应用中,仍会面对一些资源上的限制,这就需要低资源技术的参与。例如,半监督学习解决了标注样本有限的挑战,而知识蒸馏(KD)则帮助缓解计算资源上的限制。 在本文的工作中,我们旨在将这两种低资源技术相结合,能够同时应对标注样本有限和‘计算资源受限设备的挑战。然而,直接将半监督学习与知识蒸馏结合起来存在挑战。首先,较浅的网络通常具有有限的容量,从而使得其相比于大型 PLM 更难优化。此外, 有限的标注数据 进一步限制了小模型有效优化的能力。 为了应对这些挑战,本文提出了半监督协同训练框架 DisCo(Distilled Student Models Co-training for Semi-supervised Text Mining)。该框架旨在通过使用蒸馏的小模型和少量标注样本来增强模型 SSL 性能。DisCo 中的学生模型从多个视图中获取互补信息,从而在模型较小且标注样本有限的情况下提高泛化能力。我们为协同训练引入了两种类型的视图多样性: 1. 模型视图多样性。 利用队列中学生模型的不同初始化。通过从教师模型中提取不同的任务无关知识来实现。 2. 数据视图多样性。 利用队列中的学生模型输入不同噪声样本。通过对输入样本进行不同的基于嵌入层的数据增强来实现。 本文实现了 DisCo 的半监督协同训练框架,并将其应用于文本分类和提取摘要任务。我们表明,通过仅协同训练两个学生模型,DisCo 可以提供更快的推理,同时保持大型 PLM 的性能水平。具体来说,DisCo 在提取摘要方面实现了比教师模型(12 层 BERT)更出色的 ROUGE 性能。此外,生成的学生模型比教师模型小 7.6 倍,推理时间快 4.8 倍。 此外,与之前采用 12 层 BERT 的 SOTA SSL 方法相比,DisCo 在保持轻量级架构的同时,实现了更好或相当的文本分类性能。我们还表明,与其他使用大小相同的模型的 SSL 基线方法相比,DisCo 能提供更高的准确度,从而优于其他 SSL 基线。
模型方法 本节介绍我们提出的半监督协同训练框架 DisCo。如下图所示,DisCo 协同训练一组蒸馏学生,以多样化的视图互补地提高框架中学生模型的性能。作为例子,我们使用双学生模型的 DisCo 框架来介绍所提出的方法。DisCo 在协同训练过程中引入了两种初始化视图。第一种是模型视图,即从教师模型蒸馏出的不同学生模型变体;第二种是数据视图,即由训练输入产生的不同数据增强实例。 图 1 左侧展示了 DisCo 首先使用同一教师蒸馏得到两个学生模型变体,这个过程帮助我们为之后的半监督协同训练预编码模型视图。此后,我们复制单个学生模型的副本,以便分别接收监督和非监督数据。在监督学习阶段,DisCo 使用标注样本优化两个学生。在非监督学习阶段,每个学生模型与其对应的通过监督学习训练的副本同时共享参数。随后使用无标注样本,通过一致性训练损失优化学生。 图 1 右侧展示了仅配备模型视图的 DisCo 变体,以便对 DisCo 进行消融比较。在这种变体中,标注和无标注数据是重复的,并直接输入给两个学生模型。DisCo 及其变体保证了蒸馏学生模型之间的相互协作,并通过一致性约束增强了学生模型的泛化能力。在本节的介绍中,我们将从知识蒸馏和协同训练策略两个方面来介绍 DisCo 框架。
2.1 知识蒸馏 1. 模型压缩: 首先,我们希望完成模型规模的压缩。我们通过知识蒸馏的方式从大型 PLM 生成小型学生模型。与 TinyBERT 的任务不可知蒸馏一样,我们使用未经微调的原始 BERT 作为教师模型来生成至少两个学生模型。任务不可知的蒸馏方法方便我们直接使用任何现有的预训练 PLM 作为教师模型。 我们使用大规模通用领域语料库 WikiText-103 作为蒸馏的训练数据。学生通过 BERT 层的表示蒸馏来模仿老师的行为: 1)嵌入层的输出;2)隐藏状态;3) 注意力矩阵。 然后,我们需要为之后的协同训练过程编码模型视图。为了确保不同的学生模型能够从教师模型中获取不同的知识,我们从教师模型 BERT 的不同层向学生模型蒸馏知识。模型视图编码通过利用教师的不同知识使学生个体多样化。我们为知识蒸馏过程提出了两种不同的策略: 1. 间隔层KD (SKD): 如下图左侧所示,学生从教师间隔的 k 层学习。例如,{3,6,9,12} 是 BERT 的 4 个间隔层。 2. 连续层 KD (CKD): 如下图右侧所示,学生从教师连续的 k 层学习。例如,{1,2,3,4} 是 BERT 的 4 个连续层。在双学生 DisCo 情况下,具有两种知识蒸馏策略的两个学生分别表示为 和 。协同训练框架将鼓励不同的学生模型在模型视图初始化的基础上以互补的方式相互教导。通过一致性约束,我们的协同训练框架可以在模型视图上获得有效的归纳偏差,使学生同伴能够相互教学并推广未见过的数据。 2.2 协同训练策略 在我们的框架中,协同训练策略过程同样有两个主要目的: 首先,我们在嵌入层利用各种数据增强技术来生成多样化的数据视图。我们的直觉是,高级数据增强可以引入额外的归纳偏差,因为它们是基于词符嵌入层的随机抽样,语义影响最小。 如下图所示,受 ConSERT 和 SimCSE 的启发,我们采用了四种的数据增强方法:
对抗性攻击 (AD)。 我们使用平滑诱导对抗正则化 (SIAR) 来实现它,它鼓励模型在向输入注入小扰动时,其输出不会改变太多;
词序打乱 (TS)。 我们通过将打乱后的词符位置 id 传递给嵌入层,同时保持词符 id 的顺序不变来实现它;
词符剪切 (CO)。 该方法在嵌入矩阵中随机擦除一些词符以进行词符剪切;
Dropout (DO)。 与 BERT 一样,该方案以特定的概率随机丢弃元素,并将其值设置为零。 DisCo 在协同训练中结合了两种形式的数据视图:硬形式和软形式。以双学生网络为例,我们使用两种不同的数据增强方法,如 AD 和 DO,来实现硬形式的数据视图。对于软形式的数据视图,我们应用相同的数据增强方法,如 AD 和 AD,但使用不同的初始化以确保不同的数据视图。在 DisCo 中,每个学生通过硬形式和软形式的各种组合来获得扰动差异。 2. 协同训练框架
形式上,我们提供了一个半监督数据集 。 是标注数据,相同的 将用于两个学生模型的有监督训练中。 是无标注数据,我们为两种学生制作两份相同的无标注数据副本。 对于 ,令 和 表示数据 的两个数据视图。 和 是两个蒸馏得到的学生模型,我们将其视为双学生 DisCo 的模型视图。学生 只使用 ,学生 只使用 。通过与学生 和 的协同训练,其优化目标使他们能够共享互补信息,从而提高网络的泛化能力。 对于 监督部分 ,我们分别使用分类交叉熵( )损失函数来优化学生 和学生 。它们使用从 中采样的标注数据 进行训练: 对于 无监督部分 ,在标准的协同训练中,我们期望多个分类器对无标注数据 提供一致的预测。无标注数据 的一致性损失利用两个学生输出 和 中计算。我们使用均方误差 (MSE) 来鼓励两个学生进行类似的预测: 最后的 总优化目标 ,我们将有监督交叉嫡损失与无监督一致性损失结合起来,通过最小化联合损失来训练模型: 其 中 , 表示从 0 开始,在最初 个训练步骤中线性增加的权值。 是用于平衡监督学习和无监督学习的超参数。 DisCo 框架还可以自然地扩展到 更多学生模型的协同训练 中。给定 个模型 ,则所有 的优化目标函数为:
双学生协同训练事实上是多学生模型协同训练的一个特例,即 。在队列中有两个以上的学生模型时,DisCo 的每个学生的学习策略需要其他 个学生同伴来提供模仿目标。也就是说,每个学生都要向同组的其他学生单独学习。 实验验证 如下表所示,本文在多个数据集上进行了实验。对于摘要提取任务,我们使用了 CNN/DailyMail 数据集。对于文本分类任务,我们使用了 Agnews、Yahoo!Answers 和 DBpedia 数据集。我们将提出的方法与一系列基线模型进行了严格的比较。
1. DisCo 产生的两个学生模型(使用 6 层 BERT 的学生模型和)在所有文本分类任务中始终优于 TinyBERT 和 UDATinyBERT; 2. 与 FLiText 相比,DisCo 在使用比 FLiText 少 0.7M 参数量的学生模型时,平均分类准确率提高了 1.9%; 3. 统一 SSL 基准(USB)中的大多数方法表现均不如使用相同标注数据量的 DisCo 的 6 层 BERT 学生模型。 1. 在半监督摘要提取任务中,我们的双学生 DisCo 超越了所有基线; 2. 尽管使用了较小的 4 层模型,DisCo 的表现仍然优于 12 层的 BERTSUM、UDA 和 CPSUM; 3. 无论是使用 10 个还是 1000 个标注数据,DisCo 在摘要提取中都取得了卓越的性能。 下表展示了通过 DisCo 框架训练得到的学生模型的 推理速度 。可以看到,与教师模型 BERTBASE 相比,所有 4 层学生模型在两个任务上的推理速度达到了 4.80 倍至 7.52 倍的提升。 我们还尝试在 DisCo 协同训练框架中 加入更多学生进行训练 ,将学生数量扩展到四个。下表可以看出,每个单独学生的性能相比于双学生的情况都有所提升。
最后,在消融实验中,我们还验证了本文 DisCo 半监督协同训练框架中 多视图设置的有效性 。下表展示了不同视图组合的性能比较,并可视化了数据视图对于模型优化的帮助。 1. 在 DisCo 中,硬形式的数据视图带来了最佳效果,即 DO 和 AD 编码数据视图的组合; 2. 在相同的模型视图下,结合软形式数据视图的 DisCo 略优于使用硬形式数据视图的 DisCo; 3. 通过模型视图和数据视图训练获得的最优解比仅通过模型视图获得的最优解更平坦。 总结
本文提出了 DisCo,这是一个使用有限标注数据的半监督蒸馏学生协同训练框架,用于针对半监督文本挖掘的轻量级模型。DisCo 利用模型视图和数据视图来提高模型在下游任务上的性能。我们通过将 DisCo 应用于文本分类和提取摘要任务,并将其与不同的基线方法进行比较来评估 DisCo。
实验结果表明,DisCo 在使用轻量级 SSL 模型的场景中获得了更好的性能。未来的工作包含评估我们的方法在更多类型的 PLM 以及不同模型架构上的表现。另外,如何在保持最少标注数据和轻量级推理模型的同时实现轻量级训练过程也是值得探究的方向。
#投 稿 通 道 #
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读 ,也可以是学术热点剖析 、科研心得 或竞赛经验讲解 等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品 ,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬 ,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱: hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02 )快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」 也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」 订阅我们的专栏吧