使用多分类器的分布式模型重用技术

2022-10-16 05:50李新春詹德川
计算机与生活 2022年10期
关键词:异构分类器客户端

李新春,詹德川

1.南京大学 计算机科学与技术系,南京210023

2.南京大学 人工智能学院,南京210023

3.南京大学 计算机软件新技术国家重点实验室,南京210023

虽然机器学习技术,尤其是深度学习技术,在很多实际应用中得到了广泛的运用,例如计算机视觉中的图像识别任务。但是,这些技术通常假设不同用户、不同任务或者不同场景的数据可以集中到同一批设备上进行训练,即数据中心化训练,但是实际应用场景中有很多因素限制了数据的集中存储和集中训练。一方面,随着数据量的不断增加,将分散化的数据传输到同一批设备需要巨额的传输开销,然而某些场景下,例如通过无线网络连接的便携式设备,本身就不具备足够的传输带宽。另一方面,政府、企业和医疗等机密单位对数据隐私保护的要求非常高,并且相关法律条规,例如我国出台的《个人信息保护法》,明确规定不能在未获法律授权、未经本人许可或者超出必要限度的条件下披露他人个人信息。无论是因为传输带宽限制还是隐私保护要求,数据越来越呈现分散化、隔离化的特性,继而形成了“数据孤岛”现象。

分布式学习(distributed learning)技术主要为大数据和巨容量模型的训练提供解决方案。具体地,分布式学习将数据或者模型切分并分散到多个设备,然后通过一个服务器协调这些设备,采用分布式优化(distributed optimization)算法进行训练。虽然分布式学习为大数据和巨容量模型的训练提供了可行性方案,其初衷并非是为了解决“数据孤岛”问题,并且直接将其应用到“数据孤岛”问题中难以解决传输开销和隐私保护问题。

在分布式学习和分布式优化算法的基础之上,多方学习(multi-party learning)和联邦学习(federated learning)技术被提出,用来解决“数据孤岛”问题。作为联邦学习领域的经典技术,联邦平均(federated averaging,FedAvg)由McMahan 等人提出,使用传统的参数服务器架构,将分布式训练过程拆分为多轮迭代的客户端局部训练过程和服务器参数聚合过程。具体地,在客户端局部训练过程中,每个客户端从服务器下载模型,然后在本地数据集上训练多轮;在服务器参数聚合过程中,服务器接收来自客户端更新后的模型,使用参数平均的方式进行聚合。一方面,由于在本地引入了更多的迭代轮次,FedAvg 能显著降低分布式训练中的传输开销;另一方面,由于整个训练过程避免了直接传输数据,只在服务器和客户端之间传输模型和模型的梯度,因此符合基本的隐私保护要求。可以说,联邦学习为数据同分布下的分布式训练提供了更有效的解决方案,并且做到了基本的隐私保护。为了达到更高的隐私保护需要,可以结合差分隐私技术或者同态加密技术。

然而,分散化数据具有天然异构性,这给分布式训练带来了巨大的挑战。例如,在分布式推荐系统应用中,不同用户具有不同的喜好,其行为数据自然差异很大;在分布式医疗图像分割任务中,由于不同的医疗机构从事不同的疾病诊断,并且面向的患者群体也各不相同,收集到的图像数据分布差异自然很大。这种数据的天然异质性使得分布式训练面临的数据是非独立同分布的(not independently and identically distributed,Non-IID),给分布式训练带来了巨大的挑战。

模型重用(model reuse)技术基于Zhou 提出的学件(learnware)框架,可以为数据异构问题提供有效的解决方案。本文将模型重用技术融入分布式训练过程,从宏观愿景层面上提出了分布式模型重用(distributed model reuse,DMR)框架。分布式模型重用和传统的分布式训练有两点主要区别:其一,分布式模型重用强调为分布式训练过程中的数据异构寻求解决方案;其二,分布式模型重用的具体实施主要依赖于学件中的模型规约表征。

在分布式模型重用框架的基础之上,本文首先基于布雷格曼散度(Bregman divergence)和学件规约表征对分布式训练进行理论分析,指出面对数据异构问题,分布式训练的最优解是一批模型的集成(ensemble)。在此理论分析的基础上,本文在分布式模型重用框架中引入了多分类器(multiple classifiers,Mc),从而解决了单一模型难以适用于所有异构客户端的难题。本文称这种框架为使用多分类器的分布式模型重用(distributed model reuse with multiple classifiers,McDMR)。然而在实际应用中,引入多分类器会带来额外的存储、计算和传输开销,因此为了得到更加切实可行的技术方案,本文提出了两种优化策略:其一,利用多头分类器(multi-head classifier,MH),在多个分类器之间共享数据的特征表示,只在最后分类器层引入多支;其二,利用随机分类器(stochastic classifier,SC),假设分类器服从某一个先验分布,然后从中采样分类器。这两种使用多分类器的分布式模型重用算法分别记为McDMR-MH 和McDMR-SC。

本文在Mnist、Cifar10 和Cifar100 上进行了实验验证。首先,利用这些公开数据集构造相应的分布式训练场景,通过性能收敛曲线验证了引入多分类器为分布式模型重用带来的性能提升。

总结一下,本文的贡献主要包括三点:

(1)从宏观层面上,提出分布式模型重用框架,为分布式训练中数据异构问题提供统一解决方案;

(2)从理论层面上,提出基于多分类器的分布式模型重用技术,为数据异构问题提供了具体方案;

(3)从效率层面上,提出基于多头分类器和随机分类器采样的分布式模型重用优化方案,解决了实际应用场景中的存储、计算和传输开销问题。

1 相关工作

针对分布式训练中的数据异构问题,现有技术主要包括基于公开数据、基于附加约束和基于私有模型的方法。基于公开数据的方法假设服务器上存在一个全局共享的数据集,通常假设这个数据集包含了大多数客户端上的数据分布情况。例如,文献[10]假设服务器上原本就存在部分标记数据;文献[11]假设客户端上少量数据可以传输到服务器。基于附加约束的方法一般会在客户端进行本地训练的时候对模型更新方向加以约束,防止更新结果和全局模型差异太大。例如,文献[12]提出了基于参数欧氏距离的二阶正则项;文献[13]提出了基于特征最大均值差异(maximum mean discrepancy)的正则项。基于私有模型的方法主要是在本地客户端引入私有模型来刻画本地数据分布。例如,文献[14]将分类器层私有化,文献[15]则私有整个模型。其余的方法包括使用控制变量和动量的方法,借助多任务学习(multitask learning)的方法,借助元学习(meta learning)的方法等。

集成学习作为一种提升模型性能和增强模型鲁棒性的方法,在很多应用中发挥了巨大的作用。传统的集成学习假设基分类器不能太差且基分类器之间必须有足够差异(diversity)。在深度学习发展起来之后,神经网络本身就具有较多的参数量,训练多个网络给实际应用带来了额外的存储、计算开销。为了缩减开销,文献[21]提出了知识蒸馏(knowledge distillation)技术,将一批模型的能力融合到一个模型;文献[22]提出了快照集成(snapshot ensemble),只需要训练一次就可以获得多个异质模型;文献[23]提出了多支结构,在多个模型之间共享部分参数。

模型重用技术是学件框架中最为核心的技术之一,其目的是快速地为新用户推荐合适的模型。学件框架为模型提供了统一的平台,学件商场包含了各种任务下的模型,并且赋予了模型可重用(reusable)、可演进(evolvable)和可理解(comprehensible)等性质。新用户根据当前面临的数据和任务进入学件商场挑选合适的模型,并将其应用到当前任务,从而避免了重新训练模型,减少了很多不必要的开销。现有研究将模型重用技术应用到了很多具体问题中,例如文献[24]提出了一种重用已有特征的深度模型重用技术;文献[25]提出了一种解决特征变动情况的模型重用技术;文献[26]提出了一种基于决策树模型重用来应对分布变化的解决方案;文献[27]将模型重用技术应用到自然语言处理领域,提出了一种快速重用词向量的方法。

本文主要是利用模型重用技术来解决分布式训练过程中的数据异构问题,提出了分布式模型重用框架。在此基础之上,引入了多分类器作为一种具体的解决方案。为了解决存储、计算和传输开销,又提出了基于多头分类器和随机分类器采样的优化方案。

2 分布式模型重用框架

本章首先介绍以联邦学习为代表的分布式训练的具体做法和缺陷,然后从宏观层面上基于学件提出分布式模型重用框架并分析其优势。

2.1 分布式训练

某些现实场景中,数据是分散化、隔离化的。假设有个客户端,每个客户端上的数据采样自数据分布D=P(,),其中代表输入,代表输出,下标表示客户端索引。由于隐私保护的要求,客户端上的数据不能传输到其他设备,只能在本地进行训练。以联邦学习为代表的分布式训练技术,例如FedAvg,采取了参数服务器架构,由服务器来协调客户端之间的训练,并且只在服务器和客户端之间传输模型和梯度。具体地,FedAvg 将训练过程划分为客户端局部训练过程和服务器参数聚合过程。记服务器上的模型为,其参数为。记θ为第个迭代轮次开始时服务器上的模型参数。

这两个子过程会重复轮,直到最终的模型收敛。在数据异构的场景中,大部分客户端之间的数据分布差异都很大,即客户端和客户端的分布距离(D,D)>0 的情况普遍存在,此时局部训练过程会偏移全局目标,造成最终参数汇聚得到的模型和理想的模型偏差过大。其中(·,·)是衡量分布之间距离的函数。本文引入模型重用技术来解决这个问题。

2.2 学件和模型重用

从宏观愿景上来说,学件为模型的互通互用提供了一整套合理的技术方案。在机器学习具体任务中,给定一个数据集,在假设空间H 里寻找合适的假设:X ↦Y,训练得到的模型记为。X 为输入空间,Y 为输出空间。学件假设存在映射:D ↦R以及:M ↦R可以分别将数据集∈D 和模型∈M映射到一个维向量空间,从而分别得到数据集和模型的规约表征()和()。学件假设这个维向量空间满足某些特性:(1)功能相似的模型映射之后距离较近;(2)任一模型在该空间内近邻点所对应数据集上的性能不会太差。这些特性本质上说明可以利用规约表征来评估模型和数据集的适配程度,从而可以为新用户快速寻求合适的模型。

基于学件的框架,每个客户端可以将本地数据D通过映射得到相应的数据集表示(D)。在分布式训练第个迭代轮次开始时,将全局模型M通过映射获得其相应的模型表示(M)。通过合适的距离度量,可以选择M预期适配的客户端进行训练。该过程避免了分布式训练过程中因当前全局模型并不适配所选择客户端而造成的误差累计。相反地,通过在每个训练周期动态地选择当前模型适配的客户端进行训练,一方面避免了训练目标的偏移,另一方面可以隐式地对客户端进行聚类从而挖掘潜在的用户相似性。将这个框架称为分布式模型重用,过程示意图如图1 所示,和传统的分布式训练主要有两点区别:其一,分布式模型重用强调为分布式训练过程中的数据异构寻求解决方案;其二,分布式模型重用的具体技术路线主要依赖于学件提供的规约表征。本文着重关注利用分布式模型重用技术解决分布式训练过程中的数据异构问题。

图1 分布式模型重用示意图Fig.1 Illustration of distributed model reuse

3 基于多分类器的分布式模型重用技术

本章通过理论分析提出了一种基于多分类器的分布式模型重用技术,并且结合具体应用中的效率问题分别提出了基于多头分类器和随机分类器的两种优化方案。

3.1 理论分析

3.2 基于多分类器的分布式模型重用

分布式模型重用框架依赖于学件中对数据和模型的规约表征,然而寻求合适的映射和并非一件容易的事情。但是,上述基于布雷格曼散度和学件规约表征的理论分析表明数据异构情况下,分布式训练的最优解是一批分类器的集成。因此,在分布式模型重用框架下引入多分类器来捕获客户端数据异构的成分是一种合理的解决方案。本文称提出的基于多分类器的分布式模型重用为McDMR,示意图如图2。

图2 使用多分类器的分布式模型重用示意图Fig.2 Illustration of multiple classifiers based distributed model reuse

3.3 基于多头分类器和随机分类器采样的优化方案

上述基于多分类器的分布式模型重用将一个模型变成了多个模型的集成,因此会带来额外的存储、计算和传输开销。这里提出两种优化方案来节省存储、计算和传输开销。

另一方面,可以将最后的分类器层看作从某个分类器分布中进行采样的过程。具体地,假设某一个分类器的参数θ~P(θ),在客户端本地训练时只需要从该分布中采样进行训练即可。本文采用最简单的高斯分布将分类器参数的采样过程表示为~N(μ,Σ),其中是分类器中所有参数组成的向量,μΣ是这些参数服从的多维高斯分布的均值向量和协方差矩阵。这里简化Σ为对角矩阵,并且记其对角矩阵组成的向量为σ。其中,为了端到端地学习参数μσ,引入重参数(reparametrization)技巧。为了从高斯分布里面采样数据,生成一个随机向量ϵ,其维度和μ一致,这个随机向量的每一个元素都服从标准高斯分布N(0,1.0),从而可以直接对分类器参数进行采样,即=μ+ϵσ。采样分类器参数之后,使用神经网络的前向过程计算损失,然后使用梯度回传过程即可获得参数μσ的梯度。在客户端本地训练过程中采样次分别计算损失,最后使用损失的平均值进行优化。参数服务器聚合过程会对特征提取器的参数、分类器服从高斯分布的均值和方差分别进行参数平均。由于采用了随机分类器采样,将这种方法称为McDMR-SC。

本文将McDMR 特别指代3.2 节中使用多个完整模型的分布式模型重用;McDMR-MH 和McDMR-SC则分别是本节中提出的两种基于多头分类器和随机分类器采样的优化方案,这里的分类器相对于完整神经网络而言只代表最后一层或者最后几层。图3展示了所提方法使用的网络结构的示意图,很直观地可以看出McDMR 使用了多个完整的模型,McDMRMH 使用了共享的特征提取器和多个分类器层,McDMR-SC 则利用重参数技巧采样分类器。

图3 所提算法使用的网络结构示意图Fig.3 Illustration of networks in proposed methods

4 实验与结果

本文在Mnist、Cifar10 和Cifar100 上进行实验验证。主要回答以下两个问题:(1)使用基于多分类器的分布式模型重用,即McDMR,相较于现有的分布式训练方法,能否带来更好的性能?(2)使用基于多头分类器和随机分类器采样的分布式模型重用,即McDMR-MH 和McDMR-SC,相较于McDMR 能否缩减开销的同时保持较好的性能?

4.1 数据集构造和参数设置

本文使用Mnist、Cifar10 和Cifar100 数据集,在这些数据集上构造不同分布式训练场景进行实验验证。具体地,本文将每个数据集根据数据是否独立同分布各自构造了两个场景。对于Mnist 数据集,其包括55 000 个训练样本,10 000 个测试样本。首先,将所有测试样本放在服务器端,用来评测分布式训练得到的模型。其次,将训练样本分散到100 个客户端,对于数据同分布的场景,每个客户端上约有10×55 个样本,包括10 个类别,每个类别约55 个样本;对于数据异构的场景,本文主要按照类别进行划分,每个客户端上约有2×275 个样本,每个客户端上仅有2 个类别的数据,每个类别约275 个样本,客户端上类别的选取是均匀随机从10 个类中采样的。对于Cifar10 数据集,同样地,将10 000 个测试样本用来评测,将50 000 个训练样本划分到100 个客户端,对于数据同分布场景,每个客户端10 个类,每个类约50个样本;对于数据异构场景,每个客户端2 个类,每个类约250 个样本。对于Cifar100 数据集,同样地,将10 000 个测试样本用来评测,将50 000 个训练样本划分到100 个客户端,对于数据同分布场景,每个客户端100个类,每个类约5个样本;对于数据异构场景,每个客户端20个类,每个类约25个样本。本文记这6种场景分别为M-IID、M-NonIID、C10-IID、C10-NonIID、C100-IID、C100-NonIID。例如,C100-NonIID 情况下每个客户端上的类别分布示意图如图4,颜色越深代表某个类别的样本数目越多,可以看出每个客户端上平均分配有20 个类,且客户端之间的类别分布差异很大。

图4 C100-NonIID 场景下客户端数据类别分布图Fig.4 Illustration of clients'class distributions in C100-NonIID

对于Mnist,本文采用简单的卷积神经网络,特征提取器包含两层卷积层,卷积核数目分别为6 和16,卷积核大小均为5×5,步长为1,填充长度为1,每个卷积层后面使用ReLU 激活函数和步长为2 的最大池化层。分类器包括三层全连接层,输入维度为256,中间层维度分别为120 和84,最后一层输出为10 分类结果。对于Cifar10 和Cifar100,本文使用卷积神经网络,特征提取器包括三层卷积层,卷积核数目分别为32、64、64,卷积核大小都是3×3,步长为1,填充长度为1,每个卷积层后面使用ReLU 激活函数和步长为2 的最大池化层。分类器包括两层全连接层,输入大小为1 024,中间层为128,输出层为类别数目10或者100。训练时使用交叉熵损失,采用的深度学习软件库为PyTorch。

在所有的实验中,采用随机梯度下降(stochastic gradient descent,SGD)进行优化,使用的动量大小为0.9,使用恒定的学习率0.03,批大小为64。对于Mnist的两个场景,采用最大迭代轮次=200,每隔2轮在服务器上的测试集测试一次;对于Cifar10 和Cifar100 的场景,采用最大迭代轮次=1 000,每隔10 轮在服务器上的测试集测试一次。在所有的场景中,每次客户端局部训练过程随机选取10%的客户端进行训练,每个客户端在本地数据集上迭代2轮。

在本文提出的方法中,主要的超参数是集成模型的数量,即前文提及的。对于McDMR 来说,代表的是神经网络的数量;对于McDMR-MH 来说,代表的是分类器的数量;对于McDMR-SC 来说,代表的是分类器采样的次数。

4.2 性能比较

本节主要通过实验结果说明提出的基于多分类器的分布式模型重用相较于现有算法可以提升模型性能。这里的性能指的是每个迭代轮次之后服务器得到的模型在全局测试集上的准确率。具体地,对比的算法包括:经典联邦学习算法FedAvg,基于正则约束的联邦学习算法FedProx,基于私有-共享模型的联邦学习算法FLDA(federated learning for domain adaptation)。本文的方法包括McDMR、McDMRMH 和McDMR-SC。在本文的方法中采用=4。

这些方法在构造的分布式训练场景下的收敛曲线分别在图5~图7 中展示,分别展示了基于数据集Mnist、Cifar10 和Cifar100 的收敛曲线,图中左右分别展示了IID 和NonIID 场景下的收敛趋势。首先,McDMR 基本上可以取得最好的性能,尤其是在Cifar10 和Cifar100 数据集上。一方面,McDMR 引入了多个模型,使用多分类器进行综合预测可以提高预测的准确率是非常合理的;另一方面,这也在一定程度上验证了使用基于多分类器的分布式模型重用技术的合理性。另外,在M-NonIID 情形下,McDMR表现略微差一些,且在M-IID 场景下相较于现有算法并没有明显的优势。一方面,这主要是因为Mnist 数据集过于简单,不同算法之间的性能差异本来就很小,在图中表现为不同算法曲线收敛后基本重合;另一方面,在M-NonIID 情形下,如果只看前半段曲线,可以发现本文的方法具有更快的收敛速度。从McDMRMH 和McDMR-SC 的角度来观察,McDMR-MH 的性能会低于McDMR,McDMR-SC 会更低,但是二者都会优于FedAvg。这在一定程度上验证了这两种优化方案的有效性,但是受限于优化方式过程中采用的一些近似求解,例如McDMR-SC 中引入的重参数技巧,其性能提升空间尚有待提高。未来的工作是通过更高效的优化方式将McDMR-MH 和McDMR-SC的性能尽可能地逼近McDMR。

图5 基于Mnist数据集的性能对比Fig.5 Performance comparison on Mnist

图6 基于Cifar10 数据集的性能对比Fig.6 Performance comparison on Cifar10

图7 基于Cifar100 数据集的性能对比Fig.7 Performance comparison on Cifar100

最后,从数据IID 和NonIID 的对比来看,NonIID情形下曲线波动更加明显,尤其是Cifar10 上的结果,这说明了数据异构的确会给分布式训练的稳定性带来巨大的挑战。但是基于多分类器的分布式模型重用为数据异构提供了有效的解决方案,因而提出的方法在数据异构的情形下也会表现出较好的效果。

此外,对于超参数,本文也进行了深入的研究。具体地,在M-IID 和C10-NonIID 两个场景下分别针对McDMR-MH 和McDMR 中的超参数进行了实验。设置超参数的取值为1、2、4、8、12、16。每种设置下对应的收敛曲线展示在图8 中,可以看出设置大于1 的情况基本上都会比单一的模型性能要好,但是并没有随着的增大而呈现性能递增的趋势。的增大会导致模型容量变大,会带来两方面的问题:其一,容易发生过拟合现象,尤其是在Mnist 这种简单数据集上;其二,模型容量增大会给优化过程带来困难,导致假设空间变大之后在相同时间下搜索到一个合适解的过程更加困难。一般地,建议设置为4 或者8。

图8 对S 具体设置的扰动实验Fig.8 Ablation studies on settings of S

4.3 开销分析

由于McDMR-MH 在多个分类器之间共享了特征提取器,在模型传输和具体运算时可以节省开销。对于McDMR-SC,其参数量相较于一个单独的模型只多出了分类器部分的σ,因而也具有较小的存储和传输开销。为了进一步比较算法运行效率,本文在相同硬件设置下比较C10-NonIID上执行5 000次通信迭代所需的运行时间,运行时间单位为分钟(min)。实验所使用CPU 为8 核的Intel Xeon Silver 4110,GPU 为1 块GeForce RTX 2080。运行效率对比如表1,可以发现FedAvg 所用训练时间最短;由于FedProx 和FLDA 分别引入了额外的正则项以及私有模型,具有更长的训练时间;McDMR 引入了多个模型,需要的训练时间更多,是FedAvg 训练时间的1.51倍;而McDMR-MH 和McDMR-SC 则可以大幅度减少McDMR 的运行时长,提高了基于多分类器分布式模型重用技术的运行效率。

表1 C10-NonIID 上算法运行效率比较Table 1 Running time comparison on C10-NonIID

5 结束语

本文针对分布式训练过程中的数据异构问题提出了分布式模型重用框架,然后基于布雷格曼散度和学件中的规约表征进行理论分析,并提出了一种基于多分类器的分布式模型重用技术McDMR。为了提高McDMR 的实用性,本文提出了基于多头分类器和随机分类器采样的优化方案McDMR-MH 和McDMR-SC 来解决存储、计算和传输开销问题。实验结果验证了所提方法的有效性。基于分布式模型重用框架提出更有效的算法是未来主要的研究内容。

猜你喜欢
异构分类器客户端
你的手机安装了多少个客户端
ETC拓展应用场景下的多源异构交易系统
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
试论同课异构之“同”与“异”
学贯中西(6):阐述ML分类器的工作流程
基于朴素Bayes组合的简易集成分类器①
多源异构数据整合系统在医疗大数据中的研究
一种自适应子融合集成多分类器方法
吴健:多元异构的数字敦煌
媒体客户端的发展策略与推广模式