浙江大学学报(工学版), 2024, 58(12): 2531-2539 doi: 10.3785/j.issn.1008-973X.2024.12.012

计算机技术

基于轻量化迁移学习的云边协同自然语言处理方法

赵蕴龙,, 赵敏喆,, 朱文强, 查星宇

南京航空航天大学 计算机科学与技术学院,江苏 南京 211106

Cloud-edge collaborative natural language processing method based on lightweight transfer learning

ZHAO Yunlong,, ZHAO Minzhe,, ZHU Wenqiang, CHA Xingyu

School of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing 211106, China

收稿日期: 2024-01-7  

基金资助: 国家重点研发计划资助项目(2022ZD0115403);国家自然科学基金资助项目(62072236).

Received: 2024-01-7  

Fund supported: 国家重点研发计划资助项目(2022ZD0115403);国家自然科学基金资助项目(62072236).

作者简介 About authors

赵蕴龙(1975—),男,教授,博士.orcid.org/0000-0003-0870-5120.E-mail:zhaoyunlong@nuaa.edu.cn , E-mail:zhaoyunlong@nuaa.edu.cn

摘要

为了解决预训练语言模型(PLMs)由于参数量过大而无法在边缘设备上运行和训练的问题,引入轻量化的迁移模块,并将迁移模块和大型预训练语言模型分离部署,实现高效的云边协同迁移学习框架. 利用所提框架,可以在仅微调少量参数的条件下将大型预训练语言模型的表征迁移到下游任务,还可以进行跨领域的云边协同推理. 多个领域的下游任务可以协同共享同一个预训练语言模型,能有效节省计算开销. 任务可以高效地分离部署在不同的设备上,实现多个任务的分离部署和预训练模型共享. 在4项公开自然语言任务数据集上进行实验验证,结果表明,该框架的性能表现能达到完全微调BERT方法的95%以上.

关键词: 自然语言处理 ; 迁移学习 ; 云边协同 ; 计算效率 ; 模型部署

Abstract

A lightweight transfer module was introduced to re solve the problem that current pre-trained language models (PLMs) cannot be operated and trained on edge devices due to the excessive number of parameters. The deployment of the transfer module was separated from the large PLM, and an efficient cloud-side collaborative transfer learning framework was implemented, which could transfer PLM to downstream tasks with only a small number of parameters fine-tuned. Cross-domain cloud-side collaborative deployment was also supported. Downstream tasks in multiple domain can collaboratively share the same PLM, which effectively saves computing overhead. Tasks can be efficiently separated and deployed on different devices to realize the separate deployment of multiple tasks and the sharing of PLM. Experiments on four public natural language processing task datasets were conducted, and the results showed that the performance of this framework was over 95% of that of fully fine-tuned BERT methods.

Keywords: natural language processing ; transfer learning ; cloud-edge collaboration ; computation efficiency ; model deployment

PDF (2690KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

赵蕴龙, 赵敏喆, 朱文强, 查星宇. 基于轻量化迁移学习的云边协同自然语言处理方法. 浙江大学学报(工学版)[J], 2024, 58(12): 2531-2539 doi:10.3785/j.issn.1008-973X.2024.12.012

ZHAO Yunlong, ZHAO Minzhe, ZHU Wenqiang, CHA Xingyu. Cloud-edge collaborative natural language processing method based on lightweight transfer learning. Journal of Zhejiang University(Engineering Science)[J], 2024, 58(12): 2531-2539 doi:10.3785/j.issn.1008-973X.2024.12.012

随着大型预训练语言模型(large pre-trained language model, LLM)[1-3]的快速发展,许多自然语言处理(natural language processing, NLP)的下游任务的性能得到了显著提升,如情感分析[4-5]、机器翻译[6-7]、文本摘要[8-9]和信息抽取[10-11]等. 在典型的设置下,将大型预训练语言模型应用在具体的下游任务的流行做法是直接在下游任务的有标注数据集上微调大型预训练语言模型[1,12-13]. 然而,大型预训练语言模型通常由百亿乃至千亿以上的参数组成,其对于计算资源(算力、内存、存储)的要求越来越高,使得大型预训练语言模型无法在包括移动设备在内的边缘设备上运行. 此外,由于深度学习中普遍存在的灾难性遗忘(catastrophic forgetting)问题[14-15]的存在,在多任务或者多领域场景下,须为每个不同的任务或领域创建一个独立的预训练语言模型的副本,并分别进行训练. 这样的模型需要极大的计算和存储开销,使得大型预训练语言模型无法有效地使用在多任务或多领域场景. 最近,参数高效的轻量化迁移学习(parameter efficient transfer learning, PETL)方法吸引了众多研究人员的注意. 参数高效的轻量化迁移学习[16-18]方法是基于大型预训练语言模型设计一个新的模型,并将新模型的参数分为2个部分:占绝大部分的被冻结的预训练语言模型参数和占少部分的轻量化可学习模块[19-20]. 在向下游任务迁移时,参数高效的轻量化学习方法只在下游任务数据集上微调轻量化可学习模块的参数,保持占绝大部分的预训练语言模型参数不变. 最终不同任务上获得的模型仅在少部分轻量化模块参数上存在差异,因此可以在多个任务或领域下共享大型预训练语言模型的参数,从而实现较高的计算和存储效率.

在边缘设备场景中,自然语言处理技术的快速推广带动了许多深入不同用户习惯和场景的应用的发展,如智能语音助手[21]. 在这类场景下一种简单的做法是直接将模型运行在计算资源丰富的云端,但是这种做法难以权衡计算和存储开销与模型性能表现. 如果为每个场景微调不同的模型,那么云端须为每个场景分别保存和运行不同的大型预训练语言模型;如果所有场景共享同一个模型,那么模型性能难以较好地泛化到所有场景,因此用户体验难以保证. 另一种做法是尝试在边缘设备上运行模型[22-23],这样的做法可以减轻云端的压力,充分利用分布在用户端的计算资源;但是大型预训练语言模型巨大的参数量所带来的高额计算开销是边缘设备难以提供的,轻量化的小模型又难以达到令人满意的性能. 参数高效的轻量化学习方法为大型预训练语言模型微调提供了一个高效的替代方案. 不过,目前典型的轻量化迁移学习方法仍然难以做到在边缘设备中运行. 这是因为轻量化迁移方法所引入或特化的轻量化可学习模块都会改变预训练语言模型的中间计算状态,这使得大型预训练语言模型与轻量化模块之间必须频繁交互,导致它们只能运行于同一个计算设备上,无法实现分布式部署.

针对上述问题,本研究提出支持云边分离部署的高效的迁移学习框架. 在此框架下,对计算资源要求较高的大型预训练语言模型可以部署在云端,而须针对特殊任务或场景微调的轻量化模块可以运行在边缘设备中. 通过少量的交互,所提出的框架可以实现所有边缘侧轻量化模块共享同一个云端大型预训练语言模型实例,从而实现高效的云边协同推理.

1. 相关工作

1.1. 基于 Transformer 架构的大型预训练语言模型

预训练语言模型通常是大型的神经网络模型,被广泛应用于自然语言处理领域. 预训练语言模型通常遵循“预训练-微调”的范式,即模型首先在大规模的无标注语料库上预训练,然后通过在下游任务的标注数据集上微调实现迁移. 随着 Transformer [24]模型结构的提出和发展,目前主流的预训练语言模型通常是基于Transformer 架构的. 这类模型完全通过自注意力机制实现上下文建模,被认为是优质的语言编码器,其产生的上下文语言表示具备丰富的知识,可以被迁移到下游任务. BERT[1]是基于 Transformer 架构的预训练语言模型的一个代表,BERT 利用 Transformer 模型的 Encoder 部分构建了一个双向编码器. 在输入部分,BERT 通过3种嵌入相加作为输入文本的嵌入,并在掩码语言模型(masked language model, MLM)预训练任务和下一句预测(next sentence prediction,NSP)预训练任务下经过大规模无标注语料库的预训练. 在BERT的基础上,RoBERTa[2]仅通过一些训练上的技巧以及使用更多的数据,在相同的模型结构上达到了远超BERT的效果,证明了其模型结构的巨大潜力. 与以BERT和RoBERTa为代表的编码器模型不同,GPT-1[25]以及GPT-2[26]、GPT-3[27]、GPT-4采用了另一种模型结构,即解码器模型. 具体地说,GPT系列模型采用Transformer模型的Decoder部分作为模型基础架构,采用下一词预测(next token prediction,NTP)的自回归式预训练任务进行预训练. 除了只利用Transformer模型的一半(Encoder或Decoder)的模型,也有一些工作同时利用了Encoder和Decoder. 如BART[3]和T5[28]采用Encoder-Decoder架构,同时通过类似MLM的文本去噪任务和类似NTP的回归式任务在大规模的语料库上预训练. 虽然预训练语言模型在众多自然语言处理任务上达到了先进的性能水平,其巨大的参数量对计算资源的要求很高,在资源受限的场景中往往无法有效应用.

1.2. 参数高效的轻量化迁移学习

参数高效的轻量化迁移学习如图1所示,这种方法的核心思想在于保持大型预训练语言模型中的绝大部分参数不变,在迁移过程中仅微调极少量的参数. 如 Adapter 方法[16,29-30]通过在预训练模型的每一个 Transformer [24]层(或部分层)中插入轻量化 Adapter 模块,并在微调时冻结预训练语言模型的参数,仅微调轻量化 Adapter 模块的参数实现向下游任务的迁移. 一些工作尝试在 Adapter 方法的基础上进一步提高参数效率. 例如 Compactor [31]提出使用hypercomplex multiplication 将参数矩阵分解,并在多个层中共享参数以实现更高的参数效率. AdapterDrop[30]则是通过去除最初几层中的 Adapter 模块实现训练参数量的减少. Prefix-tuning[18]是另一种参数高效的轻量化微调方法,与 Adapter 方法向 Transformer 层中插入轻量化模块不同,Prefix-tuning方法通过在模型的输入中向每一层激活向量中插入一些可训练的前缀向量来实现迁移学习. LoRA[17]方法则基于预训练语言模型迁移微调的低秩性假设,提出对 Transformer 模型自注意力部分的参数进行重参数化,通过矩阵低秩分解的方法实现高效的迁移. 虽然上述轻量化迁移方法已经达到了较高的参数效率,但是它们均须和预训练语言模型紧密耦合,无法实现分离式的部署. 本研究所提出的方法也具备参数高效的特点,然而与上述参数高效的轻量化学习方法不同,本研究专注于可分布式部署的轻量化迁移学习研究.

图 1

图 1   LLM微调和典型的参数高效的轻量化迁移图示

Fig.1   Illustration of LLM fine-tuning and typical parameter-efficient lightweight migration


1.3. 边缘端自然语言处理

随着自然语言处理技术的不断发展,自然语言处理方法也已经被大量使用在包括手机、IoT设备在内的移动设备中[21-22]. 边缘端自然语言处理主要的云边协同部署方法如图2所示. 相比于直接部署在云端的方法,部署在边缘侧的方法可以最大化利用分布在用户端的边缘设备算力,大大降低云端的计算和存储需求[32-33]. 目前的边缘端自然语言处理方法主要聚焦于如何使得大型的预训练语言模型能够在边缘设备中运行. 例如MobileBERT[22]提出降维压缩的BERT[1]模型变种,实现了对BERT模型的4倍以上压缩,使之能够运行在移动设备上. EdgeBERT[33]则提出基于熵的早退算法,具体地说,EdgeBERT在每一层使用基于熵的算法计算该层的输出能否满足任务的需要,即是否可以早退,这种机制使得可以BERT模型的前几层就退出计算,可以节省计算资源. 然而,上述方法均须对模型进行一定程度的压缩或剪枝,无法充分利用大型预训练语言模型的强大能力. 同时,常规的压缩或剪枝仅能做到个位数级别的压缩,边缘设备的计算和存储需求没有得到足够的缓解.

图 2

图 2   3种不同的云边协同部署模式示意图

Fig.2   Illustration of three types of cloud-edge collaborative deployment models


2. 基于轻量化迁移学习的云边协同推理框架

本研究提出的框架由3部分组成,如图3所示. 分别如下:1)大型预训练语言模型,采用BERT模型作为本框架的预训练语言模型;2)基于轻量化Adapter模块的文本嵌入模块;3)基于轻量化Adapter模块的任务迁移模块.

图 3

图 3   所提云边协同推理框架

Fig.3   Proposed cloud-edge collaborative reasoning framework


模型结构如图4所示,将大型预训练语言模型部署在云端,同时冻结其参数,并在边缘设备端部署2个轻量化模块,即轻量化文本嵌入模块和轻量化任务迁移模块. 对于输入文本,如图2(c)和图4所示,首先将其送入边端的轻量化文本嵌入模块计算其文本嵌入表示,然后将该嵌入表示发送到云端的大型预训练语言模型,由云端运行的大型预训练语言模型为其计算上下文表示. 在计算完成后,具有丰富知识的文本表示将被发送到边端的轻量化任务迁移模块进行最后的迁移,任务迁移模块的输出即为最终结果.

图 4

图 4   轻量化云边协同模型结构示意图

Fig.4   Lightweight cloud-edge collaborative model architecture diagram


2.1. BERT模型

采用BERT[1]模型作为骨干网络. 如图4(左侧)所示,BERT模型是基于 Transformer[24] 结构的神经网络模型,Transformer 层是其基本结构. 在BERT模型中,输入文本首先经过嵌入层转换为文本嵌入表示,然后经过若干层结构相同的Transformer层进行双向语义建模. 具体来说,对于输入文本$ {\boldsymbol{X}} $,BERT首先为其计算嵌入表示$ {\boldsymbol{H}}_t^0 $

$ {\boldsymbol{H}}_t^0 = {{\boldsymbol{E}}_{{\text{w}}t}}+{{\boldsymbol{E}}_{{\text{p}}t}} . $

式中:$ t $表示token下标,0表示嵌入层(第0层),$ {{\boldsymbol{E}}_{{\text{w}}t}} $$ {{\boldsymbol{E}}_{{\text{p}}t}} $分别表示$ {{\boldsymbol{X}}_t} $的词嵌入和位置嵌入. 对于嵌入表示$ {\boldsymbol{H}}_t^0 $,其随后被送入若干层的Transformer层. 在每一层中,多头注意力子层(multi-head self-attention sub-layer,MHA)为输入文本的嵌入向量学习上下文表示:

$ {\boldsymbol{H}}_t^{1{\text{out}}} = {\text{LN}}\;({\text{FFN}}\;({\boldsymbol{H}}_t^{1{\text{in}}})+{\boldsymbol{H}}_{{t}}^{1{\text{in}}}) , $

$ {\boldsymbol{H}}_t^{1{\text{in}}} = {\text{LN}}\;({\text{MHA}}\;({\boldsymbol{Q}}_t^0,{{\boldsymbol{K}}_t^0},{{\boldsymbol{V}}_t^0})+{\boldsymbol{H}}_t^0) , $

$ {{\boldsymbol{Q}}_t^0} = {{\boldsymbol{H}}_t^0}{{\boldsymbol{W}}_t^{\boldsymbol{Q}}}, $

$ {{\boldsymbol{K}}_t^0}={{\boldsymbol{H}}_t^0}{{\boldsymbol{W}}_t^{\boldsymbol{K}}},\;{{\boldsymbol{V}}_t^0} = {{\boldsymbol{H}}_t^0}{{\boldsymbol{W}}_t^{\boldsymbol{V}}}. $

式中:${\boldsymbol{H}}_t^{1{\text{out}}}$为从第1层Transformer层输出的嵌入表示,$ {\boldsymbol{H}}_t^{1{\text{in}}} $为经过多头注意力子层与层归一化后的嵌入表示,$ {\boldsymbol{Q}}、 $$ {\boldsymbol{K}}、{\boldsymbol{V}} $分别为注意力机制的查询(query)、键(key)和值(value),${{\boldsymbol{W}}^{\boldsymbol{Q}}}$${{\boldsymbol{W}}^{\boldsymbol{K}}}$${{\boldsymbol{W}}^{\boldsymbol{V}}}$分别为$ {\boldsymbol{Q}}、{\boldsymbol{K}}、{\boldsymbol{V}} $的特征矩阵,${\text{MHA}}\;({\text{ }})$${\text{LN ( )}}$${\text{FFN}}\;({\text{ }})$分别为多头注意力子层、层归一化(layer normalization)[34]和前馈神经网络子层. 经过L层Transformer层之后,最终的模型输出如下:

$ {{\boldsymbol{H}}^L} \in {{\bf{R}}^{T \times d}}. $

式中:T为输入文本序列的长度,d为模型的嵌入维度. 在所提出的框架中,将BERT模型的嵌入层也移至边缘设备上运行,并在其后添加轻量化Adapter模块作为文本嵌入表示的迁移模块,以最大化迁移效果和减轻云端计算压力,因此本研究中BERT模型的计算过程如下:

$ [{{\boldsymbol{H}}^1},{{\boldsymbol{H}}^2}, \cdots ,{{\boldsymbol{H}}^L}] = {\text{BERT}}\;({{\boldsymbol{H}}^0}). $

式中:${\text{BERT}}$表示BERT模型运算,${{\boldsymbol{H}}^0}$为来自于边缘设备的文本嵌入表示,${{\boldsymbol{H}}^1}\sim {{\boldsymbol{H}}^L}$分别为BERT模型中第1~L层Transformer层的输出.

2.2. 基于轻量化Adapter模块的文本嵌入模块

为了实现大型预训练语言模型向下游任务的迁移,引入特定于任务的可训练迁移模块,迁移模块的参数将在下游任务数据集上经过监督训练得到最优参数. 考虑到特定于任务的迁移模块须部署在计算资源缺乏的边缘设备中,基于Adapter模块设计轻量化的文本嵌入模块和任务迁移模块,分别实现文本嵌入表示向下游任务的迁移和文本上下文表征向下游任务的迁移. 如图4右侧所示,对于文本嵌入模块,具体地说,将输入文本${\boldsymbol{X}}$首先经过嵌入层计算得到文本嵌入向量${\boldsymbol{E}} \in {{\bf{R}}^{T \times d}}$, 随后将该向量送入N层轻量化Adapter模块:

$ \left.\begin{split} &{{\boldsymbol{H}}^0} = {\text{Adapter}}\;({\boldsymbol{E}});\\&{\text{ Adapte}}{{\text{r}}_i}\;({\boldsymbol{x}}) = {{\boldsymbol{W}}_{\text{u}}}\;\left[ {{\text{RELU}}\;({{\boldsymbol{W}}_{\text{d}}}{\boldsymbol{x}}+{{\boldsymbol{b}}_{\text{d}}})} \right]+{{\boldsymbol{b}}_{\text{u}}}.\end{split}\right\} $

式中:i为Adapter层的下标,$ i \in (0,N] $$ {{\boldsymbol{W}}_{\text{u}}} $为上投影层的权重矩阵,${{\boldsymbol{W}}_{\text{u}}} \in {{\bf{R}}^{d \times \tfrac{d}{r}}}$${{\boldsymbol{b}}_{\text{u}}}$为上投影层的偏置项参数,${{\boldsymbol{b}}_{\text{u}}} \in {{\boldsymbol{R}}^{\text{d}}}$$ {{\boldsymbol{W}}_{\text{d}}} $为下投影层的权重矩阵,${{\boldsymbol{W}}_{\text{d}}} \in {{\bf{R}}^{\tfrac{d}{r} \times d}}$${{\boldsymbol{b}}_{\text{d}}}$为下投影层的偏置项参数,${{\boldsymbol{b}}_{\text{d}}} \in {{\bf{R}}^{\tfrac{d}{r}}}$$ r $为缩放因子;${\text{RELU}}\;({\text{ }})$表示ReLU激活函数.

经过轻量化文本嵌入模块,文本将被编码为任务相关的嵌入表示. 紧接着将该嵌入表示送入云端的BERT模型的堆叠Transformer层中进行上下文文本表征计算.

2.3. 基于轻量化Adapter模块的任务迁移模块

经过大型预训练语言模型BERT的上下文表征计算,得到含有丰富上下文信息的文本表征H${\boldsymbol{H}} \in {{\bf{R}}^{L \times T \times d}}$. 将该文本表示从云端发送到边缘端,并接着以H为输入进行下游任务的迁移. 具体来说,首先将H馈送到N层堆叠的轻量化Adapter模块进行表征迁移:

$ \left.\begin{split} &{\boldsymbol{Z}} = {\text{Adapter}}\;({\boldsymbol{H}}) ;\\& {\text{ Adapte}}{{\text{r}}_i}\;({\boldsymbol{x}}) = {{\boldsymbol{W}}_{\text{u}}}\;\left[ {{\text{RELU}}\;({{\boldsymbol{W}}_{\text{d}}}{\boldsymbol{x}}+{{\boldsymbol{b}}_{\text{d}}})} \right]+{{\boldsymbol{b}}_{\text{u}}}.\end{split}\right\}$

式中:Z为经过Adapter模块调整后的迁移表征. 最后将该表征送入到下游任务的任务头进行实际的分类或生成:

$ {\boldsymbol{P}} = {\text{Head}}\;({\boldsymbol{Z}}) . $

式中:P为模型最终的输出结果,Head为该任务的任务头.

3. 实验分析

3.1. 实验数据集

在4个公开任务数据集上验证所提方法的有效性,任务数据集分别为RTE[35-38]、CoLA[39]、MRPC[40]、STSB[41]. 这4个数据集的详细介绍如下.

1)RTE (the recognizing textual entailment):RTE数据集来自一系列的年度文本蕴含挑战赛,该数据集的收集者结合了RTE-1[36]、RTE-2[37]、RTE-3[38]和RTE-5[35]的数据. 其中的数据样本根据新闻和维基百科文本构建而成.

2)CoLA (the corpus of linguistic acceptablity):CoLA任务是一项英文语法可接受性判断任务,其中的数据来自语言学理论方面的书籍和期刊文章. CoLA任务的每个样本都是一个单词序列,标签是该单词序列是否符合语法规则.

3)MRPC (the microsoft research paraphrase corpus):MRPC是从在线新闻资源中自动提取的句子对语料库,其标注是1个句子对中的2个句子是否在语义上等价.

4)STSB (the semantic textual similarity benchmark):STSB是一个从新闻标题、视频和图像说明以及自然语言推理数据中提取的句子对集合,标注信息是句子对中的2个句子的语义相似度分数,分值为1~5.

在实验中使用由Huggingface[42]托管的上述公开数据集的数据副本,由于其中没有提供测试集,从每个任务的训练集中分出10%的样本作为开发集,并将原来的开发集作为测试集使用. 经过数据分割后的数据集详细统计信息如表1所示. 表中,${T_{\text{r}}}$表示训练集数据量,$D$表示开发集数据量,$ {T_{\text{e}}} $表示测试集数据量.

表 1   实验数据集统计信息和测评指标

Tab.1  Statistics and evaluation metrics of experimental datasets

数据集${T_{\text{r}}}$/K$D$/K$ {T_{\text{e}}} $/K评估指标
RTE2.240.250.28Accuracy
CoLA7.700.861.00Mathews Correlation Coefficients
MRPC3.300.370.41Accuracy、F1-Score
STSB5.180.571.50Pearson / Spearman Correlation Coefficients

新窗口打开| 下载CSV


3.2. 评价指标及基准模型

主要关注模型2个方面的评价指标: 模型在下游任务上的性能表现、模型在分离部署时的推理速度. 在基准模型上,主要与2类模型迁移方法进行对比,对比模型如下.

1) BERT[1]模型微调:在下游任务上微调是预训练BERT模型向下游任务迁移的主流做法,但是由于BERT模型运行需要的计算开销过大,通常无法直接在边缘设备中运行.

2) 参数高效的轻量化迁移方法:以Adapter[16]、LoRA[17]、Prefix-tuining[18]等模型为代表的轻量化迁移方法为大型预训练语言模型全量微调的迁移方法提供了高效且强力的替代,但这类方法向预训练语言模型的每一层中插入新的模块,其对预训练语言模型每一层的计算结果都会带来改变,因此这种方法是一种与预训练语言模型紧密耦合的架构,无法与预训练语言模型分离部署.

所提方法中包含文本嵌入模块与任务迁移模块2个轻量化迁移模块,为了验证这2个模块的有效性,实验中设置了2个对比模型,与所提方法相比分别去除了文本嵌入模块与任务迁移模块.

3.3. 实验环境配置

基于Huggingface维护的Transformer代码库[43]中BERT模型实现作为基准模型中BERT模型微调的代码实现,并使用bert-base模型权重初始化模型. 同时,基于该实现构建本研究所提模型. 对于参数高效的轻量化迁移基准模型,采用AdapterHub[44]中的代码实现. 对于每个基线模型与每个任务,使用不同的随机数种子进行3组实验,并汇报3组实验结果的平均值和标准偏差. 所有实验在Nvidia Geforce 1080TI GPU上完成,使用的Pytorch版本为1.12.0,CUDA版本为12.1. 在超参数方面,使用对应论文中所使用的超参数训练基准模型. 对于所提方法,训练过程中使用的超参数如下:学习率为5×10−4,最大样本长度为128,批次大小为32,丢弃率为0.5,周期为10,Adapter层数为1.

3.4. 实验结果与分析

3.4.1. 性能表现

先在上述4个任务上训练并测试基线模型与本研究所提方法,4个任务上的性能指标如表2所示. 对于RTE任务汇报的指标是准确率A;对于CoLA任务汇报马修斯相关性系数M;对于MRPC任务汇报准确率和F1-Score的平均值F;对于STSB任务汇报皮尔逊-斯皮尔曼相关系数P. 实验结果数据为3次随机实验的平均值,括号中的数据为3组数据的标准偏差$\sigma $.

表 2   本研究所提方法与基线模型在4个公开数据集上的实验结果

Tab.2  Experimental results of proposed method compared with baseline model on four public datasets

方法AσMσFσPσ
BERT Fine-tuning61.85(2.92)55.21(0.94)86.97(2.85)88.27(0.17)
Adapter61.97(3.11)55.14(0.39)85.21(0.39)88.51(0.15)
Prefix-tuning58.84(0.36)38.91(0.51)76.59(0.36)79.16(0.24)
LoRA66.06(1.25)56.24(1.94)86.49(0.30)88.61(0.16)
Cloud-Edge Collaborative Model (本方法)60.17(1.03)48.06(1.26)80.62(0.40)87.48(0.16)
w/o the text embedding module58.21(0.95)46.13(0.63)78.64(0.31)84.26(0.09)
w/o the task transfer module58.86(0.22)47.14(1.24)78.87(0.50)85.78(0.94)

新窗口打开| 下载CSV


表2所示,所方法在4项任务上的性能表现均达到或超过BERT完全微调的87%的水平,平均指标达到了完全微调BERT方法的93%. 在具体的任务方面,所提方法在RTE任务和STSB任务上分别达到了完全微调97%和99%的水平. 这说明本研究方法在性能指标上已经达到了目前的主流水平. 与目前最为先进的参数高效轻量化微调方法LoRA对比,发现本研究方法也在平均指标上达到了其92%的性能,在STSB任务上更是达到了其98%的性能. 当去除文本嵌入模块或任务迁移模块时,模型的平均性能表现分别有2.27和1.42的下降,在STSB任务上下降最多,分别为3.22和1.70. 这说明本研究所引入的2个轻量化迁移模块对模型的性能表现起到了增强作用,是本框架实现向下游任务的高效迁移至关重要的组件.

3.4.2. 系统分离部署时运行速度

为了验证本研究所提框架分离部署的可行性,在模拟环境下实验并测量了系统在不同样本长度下的运行时间. 具体来说,本研究考虑一个理想的网络带宽模型,即不对网络带宽进行限制的条件下分别将预训练语言模型和本研究所提出的轻量化迁移模块分为2个进程运行,并通过 TCP 协议实现两端的通信.

须注意的是,具体的通信实现方法有很多,如分布式计算、远程过程调用(RPC)、消息队列(MQ)等. 这类方法的设计和选择不在本研究的研究范围内. 因此本节中采取最为朴素的通信方式:将待发送的文本表征向量简单序列化为字节序列后直接通过基于 TCP 的 socket API 发送. 在接收端,将接收到的字节序列反序列为表征向量.

在实验中,使用2个进程分别模拟云端和边缘端. 云端模拟进程使用Nvidia Geforce 1080TI GPU运行BERT模型;边缘端模拟进程则须模拟低计算资源场景,因此不使用GPU,而是只在CPU上运行. 分别设置输入文本长度为64和128,并分别测量样本数目Ns为1、5、10、50、100、500、1000时系统运行耗时Tc,以及其中网络IO耗时所占的比例TIO/Tc,结果如图5所示. 从图中的运行时间结果可以看出,在样本数目少于100的情况下,文本长度为64和128的场景都可以在5 s之内运行完成,说明本研究所提出的系统在分离部署时可以做到在合理的延时内完成计算. 须注意的是,本研究所提供的耗时数据是在模拟平台上实验得到的,其与真实平台上的表现可能存在偏差. 虽然现实世界中的网络带宽有限,会对运行时间带来一定程度的下降,但是可以通过使用压缩算法对网络传输的文本表征进行压缩以大幅降低须网络传输的数据量;同时,当考虑多任务多领域场景,即多个边缘端模型对应一个云端模型时,可以在云端使用批处理策略实现更加高效的并行化,同样可以降低系统的运行时间. 将在未来的研究工作中探索这些策略和方法. 此外,图5中的结果表明在样本数较少时网络IO时间占比较大,而在样本数较多时网络IO的时间占比通常约为20%. 这一现象的原因可能是当样本较少时,网络的连接建立所花费的额外开销较大. 而这些网络额外开销相对固定,因此在样本较多时,模型的计算时间上升导致网络额外开销占比缩小.

图 5

图 5   样本长度为64和128 个 tokens 时系统处理不同数量样本所需的运行时间

Fig.5   System’s running time when processing different number of samples with sample length of 64 and 128 tokens


4. 结 语

本研究提出松散的大型预训练语言模型迁移框架. 在这种框架下,模型可以分离为对计算资源要求较高的预训练参数部分和对计算资源要求较低的轻量化迁移模块,并支持2类模块的分离部署,从而实现支持云边协同的大型预训练语言模型迁移方法. 在多任务或多领域场景中,部署在不同任务或领域中的多个轻量化迁移模块可以共享同一个云端预训练语言模型,这种跨任务跨领域的模型共享大大节省了计算开销,使得预训练语言模型能够被利用在众多低成本的边缘设备上. 在4个公开数据集上的实验结果表明本研究所提方法能够达到完全微调方法超过95%的性能,证明了所提出方法的有效性.

本研究设置的网络实验环境较为简单,暂未考虑实际网络环境中存在的诸如传输延迟之类的影响因素,未来将继续探究复杂网络环境下的模型性能表现及优化方法.

参考文献

DEVLIN J, CHANG M W, LEE K, et al. BERT: pre-training of deep bidirectional transformers for language understanding [C]// Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies . Minneapolis: Association for Computational Linguistics, 2019: 4171–4186.

[本文引用: 6]

LIU Y, OTT M, GOYAL N, et al. RoBERTa: a robustly optimized BERT pretraining approach [EB/OL]. (2019-07-26). https://arxiv.org/pdf/1907.11692.pdf.

[本文引用: 1]

LEWIS M, LIU Y, GOYAL N, et al. BART: denoising sequence-to-sequence pre-training for natural language generation, translation, and comprehension [C]// Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics . [s.l.]: Association for Computational Linguistics, 2020: 7871–7880.

[本文引用: 2]

YAN H, DAI J, JI T, et al. A unified generative framework for aspect-based sentiment analysis [C]// Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing . [s.l.]: Association for Computational Linguistics, 2021: 2416–2429.

[本文引用: 1]

ZHAO Q, MA S, REN S. KESA: a knowledge enhanced approach for sentiment analysis [EB/OL]. (2022-02-24). https://arxiv.org/pdf/2202.12093.pdf.

[本文引用: 1]

BAHDANAU D, CHO K, BENGIO Y. Neural machine translation by jointly learning to align and translate [EB/OL]. (2016-05-19). https://arxiv.org/pdf/1409.0473.pdf.

[本文引用: 1]

BAPNA A, FIRAT O. Simple, scalable adaptation for neural machine translation [C]// Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing . Hong Kong: Association for Computational Linguistics, 2019: 1538–1548.

[本文引用: 1]

AKIYAMA K, TAMURA A, NINOMIYA T. Hie-BART: document summarization with hierarchical BART [C]// Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistic . [s.l.]: North American Chapter of the Association for Computational Linguistics, 2021: 159–165.

[本文引用: 1]

SHI T, KENESHLOO Y, RAMAKRISHNAN N, et al. Neural abstractive text summarization with sequence-to-sequence models[EB/OL]. (2020-09-18). https://arxiv.org/pdf/1812.02303.pdf.

[本文引用: 1]

GUI A, XIAO H. HiFi: high-information attention heads hold for parameter-efficient model adaptation [EB/OL]. (2023-05-08). https://arxiv.org/pdf/2305.04573.pdf.

[本文引用: 1]

KOLLURU K, AGGARWAL S, RATHORE V, et al. IMoJIE: iterative memory-based joint open information extraction [C]// Proceedings of the 58th Annual meeting of the Association for Computational Linguistics . [s.l.]: Association for Computational Linguistics, 2020: 5871–5886.

[本文引用: 1]

DODGE J, ILHARCO G, SCHWARTZ R, et al. Fine-tuning pretrained language models: weight initializations, data orders, and early stopping [EB/OL]. (2020-02-15). https://arxiv.org/pdf/2002.06305.pdf.

[本文引用: 1]

HOWARD J, RUDER S. Universal language model fine-tuning for text classification [C]// Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics . Melbourne: Association for Computational Linguistics, 2018: 328–339.

[本文引用: 1]

FRENCH R

Catastrophic forgetting in connectionist networks

[J]. Trends in Cognitive Sciences, 1999, 3 (4): 128- 135

DOI:10.1016/S1364-6613(99)01294-2      [本文引用: 1]

DYER E, LEWKOWYCZ A, RAMASESH V. Effect of scale on catastrophic forgetting in neural networks [EB/OL]. (2022-01-29). https://openreview.net/pdf?id=GhVS8_yPeEa.

[本文引用: 1]

DYER E, LEWKOWYCZ A, RAMASESH V. Effect of scale on catastrophic forgetting in neural networks [EB/OL]. (2022-01-29). https://openreview.net/pdf?id=GhVS8_yPeEa.

[本文引用: 1]

HOULSHY N, GIURGIU A, JASTRZEBSKI S, et al. Parameter-efficient transfer learning for NLP [EB/OL]. (2019-06-13). https://arxiv.org/pdf/1902.00751.pdf.

[本文引用: 3]

HU E J, SHEN Y, WALLIS P, et al. LoRA: low-rank adaptation of large language models [EB/OL]. (2021-10-16). https://arxiv.org/pdf/2106.09685.pdf.

[本文引用: 2]

LI X L, LIANG P. Prefix-tuning: optimizing continuous prompts for generation [C]// Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing . [s.l.]: Association for Computational Linguistics, 2021: 4582–4597.

[本文引用: 3]

CHEN J, ZHANG A, SHI X, et al. Parameter-efficient fine-tuning design spaces [EB/OL]. (2023-06-04). https://arxiv.org/pdf/2301.01821.pdf.

[本文引用: 1]

HE J, ZHOU C, MA X, et al. Towards a unified view of parameter-efficient transfer learning [EB/OL]. (2022-02-02). https://arxiv.org/pdf/2110.04366.pdf.

[本文引用: 1]

DE BARCELOS SILVA A, GOMES M M, DA COSTA C A, et al

Intelligent personal assistants: a systematic literature review

[J]. Expert Systems with Applications, 2020, 147: 113193

DOI:10.1016/j.eswa.2020.113193      [本文引用: 2]

SUN Z, YU H, SONG X, et al. MobileBERT: a compact task-agnostic BERT for resource-limited devices [C]// Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics . [s.l.]: Association for Computational Linguistics, 2020: 2158–2170.

[本文引用: 3]

GUO L, CHOE W, LIN F X. STI: turbocharge NLP inference at the edge via elastic pipelining [C]// Proceedings of the 28th ACM International Conference on Architectural Support for Programming languages and Operating Systems . New York: Association for Computing Machinery, 2023: 791–803.

[本文引用: 1]

VASWANI A. Attention is all you need [J]. Advances in Neural Information Processing Systems. 2017, 30: 5998–6008.

[本文引用: 3]

RADFORD A, TIM S, ILYA S. Improving language understanding by generative pre-training [EB/OL]. [2024-01-01]. https://www.semanticscholar.org/paper/Improving-Language-Understanding-by-Generative-Radford-Narasimhan/cd18800a0fe0b668a1cc19f2ec95b5003d0a5035.

[本文引用: 1]

RADFORD A, WU J, CHILD R, et al. Language models are unsupervised multitask learners [EB/OL]. [2024-01-01]. https://insightcivic.s3.us-east-1.amazonaws.com/language-models.pdf.

[本文引用: 1]

BROWN T, MANN B, RYDER N, et al. Language models are few-shot learners [C]// LAROCHELLE H, RANZATU M, HADSELL R, et al. Advances in Neural Information Processing Systems: Vol. 33 . [s.l.]: Curran Associates, Inc. , 2020: 1877–1901.

[本文引用: 1]

RAFFEL C, SHAZEER N, ROBERTS A, et al

Exploring the limits of transfer learning with a unified text-to-text transformer

[J]. Journal of Machine Learning Research, 2020, 21 (140): 1- 67

[本文引用: 1]

MOOSAVI N S, DELFOSSE Q, KERSTING K, et al. Adaptable Adapters [EB/OL]. (2022-05-03). https://arxiv.org/pdf/2205.01549.pdf.

[本文引用: 1]

RUCKLE A, GEIGLE G, GLOCKNER M, et al. AdapterDrop: on the efficiency of adapters in transformers [C]// Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing . [s.l.]: Association for Computational Linguistics, 2021: 7930–7946.

[本文引用: 2]

KARIMI MAHABADI R, HENDERSON J, RUDER S. Compacter: efficient low-rank hypercomplex adapter layers [C]// Advances in Neural Information Processing Systems: Vol. 34 . [s.l.]: Curran Associates, Inc. , 2021: 1022–1035.

[本文引用: 1]

CARTAS A, KOCOUR M, RAMAN A, et al. A reality check on inference at mobile networks edge [C]// Proceedings of the 2nd International Workshop on Edge Systems, Analytics and Networking . New York: Association for Computing Machinery, 2019: 54–59.

[本文引用: 1]

TAMBE T, HOOPER C, PENTECOST L, et al. EdgeBERT: sentence-level energy optimizations for latency-aware multi-task NLP inference [C]// MICRO-54: 54th Annual IEEE/ACM International Symposium on Microarchitecture . New York: Association for Computing Machinery, 2021: 830–844.

[本文引用: 2]

BA J L, KIROS J R, HINTON G E. Layer normalization [EB/OL]. (2016-07-21). https://arxiv.org/pdf/1607.06450.pdf.

[本文引用: 1]

BENTIVOGLI L, CLARK P, DAGAN I, et al. The fifth PASCAL recognizing textual entailment challenge [J]. TAC . 2009, 7(8): 1.

[本文引用: 2]

DAGAN I, GLICKMAN O, MAGNINI B. The PASCAL Recognising textual entailment challenge [M]// QUIÑONERO-CANDELA J, DAGAN I, MAGNINI B, et al. Machine learning challenges. evaluating predictive uncertainty, visual object classification, and recognising tectual entailment . Berlin: Springer Berlin Heidelberg, 2006: 177–190.

[本文引用: 1]

BAR-HAIM R, DAGAN I, DOLAN B, et al. The second pascal recognising textual entailment challenge [C]// Proceedings of the 2nd PASCAL Challenges Workshop on Recognising Textual Entailment . [s.l.]: MSRA, 2006: 1.

[本文引用: 1]

GIAMPICCOLO D, MAGNINI B, DAGAN I, et al. The third PASCAL recognizing textual entailment challenge [C]// Proceedings of the ACL-PASCAL Workshop on Textual Entailment and Paraphrasing . Prague: Association for Computational Linguistics, 2007: 1–9.

[本文引用: 2]

WARSTADT A, SINGH A, BOWMAN S R. Neural network acceptability judgments [EB/OL]. (2019-10-01). https://arxiv.org/pdf/1805.12471.pdf.

[本文引用: 1]

DOLAN W B, BROCKETT C. Automatically constructing a corpus of sentential paraphrases [C]// Proceedings of the third International Workshop on Paraphrasing . [s.l.]: IWP, 2005.

[本文引用: 1]

CER D, DIAB M, AGIRRE E, et al. SemEval-2017 task 1: semantic textual similarity multilingual and crosslingual focused evaluation [C]// Proceedings of the 11th International Workshop on Semantic Evaluation . Vancouver: Association for Computational Linguistics, 2017: 1–14.

[本文引用: 1]

LHONEST Q, VILLANOVA DEL MORAL A, JERNITE Y, et al. Datasets: a community library for natural language processing [C]// Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing: System Demonstrations . [s.l.]: Association for Computational Linguistics, 2021: 175–184.

[本文引用: 1]

WOLF T, DEBUT L, SANH V, et al. Transformers: state-of-the-art natural language processing [C]// Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: System Demonstrations . [s.l.]: Association for Computational Linguistics, 2020: 38–45.

[本文引用: 1]

PFEIFFER J, RUCKLE A, POTH C, et al. AdapterHub: a framework for adapting transformers [EB/OL]. (2020-10-06). https://arxiv.org/pdf/2007.07779.pdf.

[本文引用: 1]

/