动态网络配置的制作方法

文档序号:26937487发布日期:2021-10-12 11:29阅读:139来源:国知局
动态网络配置的制作方法

1.本公开涉及机器学习。具体地,本公开涉及用于训练机器学习模型的网络的动态配置。


背景技术:

2.本节旨在为本公开中描述的本发明的各种实施例提供背景。因此,除非本文另有说明,否则本节中描述的内容不应仅通过其被包含在本节中而被解释为现有技术。
3.在计算机科学中,人工智能(ai)是由机器演示的智能。典型的ai系统采取如下动作:通过使用计算方法自动地根据数据和经验进行学习和改进,从而最大限度地提高成功地实现特定目标的机会,而无需被明确编程。这被称为机器学习。为了彻底地训练计算模型,需要模型对许多不同的数据集执行多次训练迭代。然后,可以基于来自其所进行的执行的反馈来更新模型。一般而言,可以被访问以用于训练机器学习模型的数据越多,模型将变得越精确。
4.执行这种训练所需的计算能力是巨大的。因此,已经开发了一种分散式机器学习方法。在分散式学习中,网络中的设备使用其各自的训练数据协作地训练共享模型,而该训练数据不会离开设备。这具有许多优点。在网络中使用大量设备显著地提高了可用于训练的计算能力。通过基于本地存储在训练设备中的数据来训练模型,这些敏感数据可以在训练中使用而无需通过网络传送。此外,这种方法允许减轻上行链路带宽和网络覆盖的限制。
5.已经提出了若干种算法来实现分散式学习。google提出的名为“联邦平均(federatedaveraging)”的算法催生了“联邦学习”一词。该算法解决了若干个现实世界的挑战:处理不平衡和非iid(独立同分布)数据、大规模分布数据(其中设备数量多于每个设备可用于训练的数据样本的平均数量)的能力、训练所需通信的减少以及设备连接的限制。实验结果表明联邦平均算法适用于不同的模型架构:多层感知、卷积神经网络和递归神经网络。
6.在联邦平均算法中,服务器首先初始化神经网络模型的权重。对于每个训练回合,服务器将模型权重发送到可参与训练的部分客户端设备,并且客户端设备返回其对模型性能的评估。作为训练的一部分的每个客户端使用接收到的权重初始化神经网络模型的本地副本,并且运行一个或多个周期(epoch)(其中,1个周期=所有可用训练样本的1轮正向传播(forward pass)+1个反向传播(backward pass)),从而产生更新权重集。然后,客户端返回对模型执行状况的某种评估以及更新权重的某种指示(例如,从服务器接收的权重与更新权重之间的差)。然后,服务器可以决定如何更新模型以提高其性能。
7.尽管上述分散式学习方法具有诸多优点,但是仍存在一些局限性。例如,当前的框架基于在现实部署中无效或不适合的假设或决策。作为一个示例,训练所需的客户端设备的数量通常被设置为客户端设备的总数的固定比例,其中该比例由预先进行的实验来确定。这在现实场景中可能是有问题的,因为充分训练模型所需的客户端设备的数量可以在不同的部署中以及随时间而变化。作为另一示例,选择哪些客户端设备参与训练通常在所
有客户端中随机进行。然而,实际上,并非所有的客户端都必须适合于训练机器学习模型。
8.本公开中描述的方法、设备和系统旨在减轻这些问题中的至少一些并且提供对分散式机器学习的改进。


技术实现要素:

9.本公开的方法允许动态地调整用于训练机器学习模型的客户端设备的数量,并且还能够确定在多个客户端设备可用的情况下应当使用哪些设备。所公开的方法可以检测模型的性能何时低于可接受的水平。这种检测将触发对在训练中使用不同数量的设备的情况的评估,然后可以对数量进行任何必要的调整。这确保了使用正确数量的客户端设备来训练机器学习模型,使得该模型被充分地训练而不浪费计算资源或传输容量。本质上,所期望的是找到对于特定用例用于实现充分性能所需的客户端计算设备104的最小数量。如果训练模型的设备的数量被最小化,则网络100的剩余计算容量增加。此外,参与训练的设备越少,需要在这些设备与控制该过程的设备之间发送的消息就越少,从而也节省了网络100的传输容量。该系统可以适应诸如数据分布变化或客户端设备被添加到系统或从系统中移除客户端设备之类的变化。此外,可以确保被选择用于训练的那些设备是最适合进行训练的设备。
10.本公开还允许在电信网络中实现这种分散式学习系统,其中计算资源从核心网中位于中央的节点一直分布到接入网的最边缘的基站。电信网络涉及大量节点(虚拟的和物理的),其理想地适合于需要大量客户端设备来教导机器学习算法以学习任务的分散式学习场景。此外,电信网络基础设施由固定链路组成、由电网供电并且具有高可用性。这允许放宽当前方法中存在的限制,其中电池优化、覆盖限制、可用性限制和隐私问题是关键因素。
11.根据本公开的第一方面,提供了一种用于动态地配置用于训练机器学习模型的网络的方法,网络包括被配置为执行机器学习模型的训练的服务器计算设备和多个客户端计算设备,该方法在通信地耦合到网络的计算设备处执行,并且该方法包括:选择多个客户端计算设备中的用于参与训练机器学习模型的客户端计算设备的数量;基于所选择的数量个客户端计算设备确定机器学习模型的评估度量的第一值;确定调整触发的存在;响应于确定调整触发的存在而调整用于确定评估度量的值的客户端计算设备的数量;基于调整后的数量个客户端计算设备确定评估度量的第二值;以及基于评估度量的第二值设置参与训练机器学习模型的客户端计算设备的数量。
12.可选地,确定调整触发的存在包括确定评估度量的第一值指示机器学习模型的性能低于阈值水平,并且调整用于确定评估度量的值的客户端计算设备的数量包括增加参与训练机器学习模型的客户端计算设备的数量。可选地,该方法还包括在确定评估度量的第二值之前,使增加后的数量个客户端计算设备训练机器学习模型。可选地,设置参与训练的客户端计算设备的数量包括:如果评估度量的第二值等于或小于评估度量的第一值,则恢复到客户端计算设备的所选择的数量;如果评估度量的第二值指示机器学习模型的性能高于阈值水平,则维持客户端计算设备的增加后的数量;或者如果评估度量的第二值指示机器学习模型的性能高于评估度量的第一值并且低于阈值水平,则进一步增加参与训练机器学习模型的客户端计算设备的数量。
13.可选地,确定调整触发的存在包括:确定评估度量的第一值指示机器学习模型的性能高于阈值水平;以及,确定自先前对用于确定评估度量的值的客户端计算设备的数量进行调整以来已经经过了预定时段。
14.可选地,调整用于确定评估度量的值的客户端计算设备的数量包括使用所选择的数量个客户端计算设备的子集来确定评估度量的值。可选地,设置参与训练的客户端计算设备的数量包括:如果评估度量的第二值指示机器学习模型的性能低于阈值水平,则维持客户端计算设备的所选择的数量;或者如果评估度量的第二值指示机器学习模型的性能高于阈值水平,则将参与训练的客户端计算设备的数量减少到子集中的客户端计算设备的数量。
15.可选地,调整用于确定评估度量的值的客户端计算设备的数量包括减少参与训练机器学习模型的客户端计算设备的数量。可选地,该方法还包括在确定评估度量的第二值之前,使减少后的数量个客户端计算设备训练机器学习模型。可选地,设置参与训练的客户端计算设备的数量包括:如果评估度量的第二值指示机器学习模型的性能低于阈值水平,则恢复到客户端计算设备的所选择的数量;或者如果评估度量的第二值指示机器学习模型的性能高于阈值水平,则维持客户端计算设备的减少后的数量。
16.可选地,该方法还包括在确定评估度量的第一值之前,使所选择的数量个客户端计算设备训练机器学习模型。可选地,网络包括电信网络,并且多个客户端计算设备包括电信网络的多个接入节点。
17.可选地,该方法还包括:确定至少一个客户端计算设备的资源容量;以及基于所确定的资源容量选择用于参与训练机器学习模型的客户端计算设备。可选地,确定至少一个客户端计算设备的资源容量包括预测在机器学习模型将被训练的将来时间处的资源容量。
18.可选地,执行该方法的计算设备包括服务器计算设备。可选地,执行该方法的计算设备包括多个计算设备。可选地,训练机器学习模型包括使用联邦学习。可选地,确定机器学习模型的评估度量的第一值是周期性地执行的。
19.根据本公开的第二方面,提供了一种包括指令的计算机程序,该指令当在处理电路上执行时使处理电路执行所述方法。
20.根据本公开的第三方面,提供了一种计算机程序产品,其上存储有包括指令的计算机程序,该指令当在处理电路上执行时使处理电路执行所述方法。
21.根据本公开的第四方面,提供了一种用于动态地配置用于训练机器学习模型的网络的计算设备,网络包括被配置为执行机器学习模型的训练的服务器计算设备和多个客户端计算设备,计算设备通信地耦合到网络并且包括处理电路和存储器,存储器包含可由处理电路执行的指令,由此计算设备可操作用于:选择多个客户端计算设备中的用于参与训练机器学习模型的客户端计算设备的数量;基于所选择的数量个客户端计算设备确定机器学习模型的评估度量的第一值;确定调整触发的存在;响应于确定调整触发的存在而调整用于确定评估度量的值的客户端计算设备的数量;基于调整后的数量个客户端计算设备确定评估度量的第二值;以及基于评估度量的第二值设置参与训练机器学习模型的客户端计算设备的数量。
22.可选地,计算设备还被配置为通过确定评估度量的第一值指示机器学习模型的性能低于阈值水平来确定调整触发的存在,并且通过增加参与训练机器学习模型的客户端计
算设备的数量来调整用于确定评估度量的值的客户端计算设备的数量。可选地,计算设备还被配置为在确定评估度量的第二值之前,使增加后的数量个客户端计算设备训练机器学习模型。可选地,该计算设备还被配置为通过以下操作来设置参与训练的客户端计算设备的数量:如果评估度量的第二值等于或小于评估度量的第一值,则恢复到客户端计算设备的所选择的数量;如果评估度量的第二值指示机器学习模型的性能高于阈值水平,则维持客户端计算设备的增加后的数量;或者如果评估度量的第二值指示机器学习模型的性能高于评估度量的第一值并且低于阈值水平,则进一步增加参与训练机器学习模型的客户端计算设备的数量。
23.可选地,计算设备还被配置为通过以下操作来确定调整触发的存在:确定评估度量的第一值指示机器学习模型的性能高于阈值水平;以及确定自先前对用于确定评估度量的值的客户端计算设备的数量进行调整以来已经经过了预定时段。
24.可选地,计算设备还被配置为通过使用所选择的数量个客户端计算设备的子集确定评估度量的值来调整用于确定评估度量的值的客户端计算设备的数量。可选地,计算设备还被配置为通过以下操作来设置参与训练的客户端计算设备的数量:如果评估度量的第二值指示机器学习模型的性能低于阈值水平,则维持客户端计算设备的所选择的数量;或者如果评估度量的第二值指示机器学习模型的性能高于阈值水平,则将参与训练的客户端计算设备的数量减少到子集中的客户端计算设备的数量。
25.可选地,计算设备还被配置为通过减少参与训练机器学习模型的客户端计算设备的数量来调整用于确定评估度量的值的客户端计算设备的数量。可选地,计算设备还被配置为在确定评估度量的第二值之前,使减少后的数量个客户端计算设备训练机器学习模型。可选地,计算设备还被配置为通过以下操作来设置参与训练的客户端计算设备的数量:如果评估度量的第二值指示机器学习模型的性能低于阈值水平,则恢复到客户端计算设备的所选择的数量;或者如果评估度量的第二值指示机器学习模型的性能高于阈值水平,则维持客户端计算设备的减少后的数量。
26.可选地,计算设备还被配置为在确定评估度量的第一值之前,使所选择的数量个客户端计算设备训练机器学习模型。可选地,网络包括电信网络,并且多个客户端计算设备包括电信网络的多个接入节点。
27.可选地,计算设备还被配置为:确定至少一个客户端计算设备的资源容量;并且基于所确定的资源容量选择用于参与训练机器学习模型的客户端计算设备。可选地,计算设备还被配置为通过预测在机器学习模型将被训练的将来时间处的资源容量来确定至少一个客户端计算设备的资源容量。
28.可选地,执行该方法的计算设备包括服务器计算设备。可选地,执行该方法的计算设备包括多个计算设备。可选地,训练机器学习模型包括使用联邦学习。可选地,计算设备还被配置为周期性地确定机器学习模型的评估度量的第一值。
29.根据本公开的另一方面,提供了一种用于训练机器学习模型的网络,网络包括被配置为执行机器学习模型的训练的服务器计算设备和多个客户端计算设备,其中通信地耦合到网络的计算设备被配置为:选择多个客户端计算设备中的用于参与训练机器学习模型的客户端计算设备的数量;基于所选择的数量个客户端计算设备确定机器学习模型的评估度量的第一值;确定调整触发的存在;响应于确定调整触发的存在而调整用于确定评估度
量的值的客户端计算设备的数量;基于调整后的数量个客户端计算设备确定评估度量的第二值;并且基于评估度量的第二值设置参与训练机器学习模型的客户端计算设备的数量。通信地耦合到网络的计算设备可以可选地是服务器计算设备。
附图说明
30.这些和其他方面、特征和优点将根据以下参考附图对各种实施例的描述变得清楚并且被阐明,在附图中:
31.图1示出了根据实施例的用于分散式学习的网络;
32.图2示出了描绘根据实施例的动态地配置用于训练机器学习模型的网络的方法的流程图;
33.图3示出了描绘根据另一实施例的动态地配置用于训练机器学习模型的网络的方法的流程图;
34.图4示出了描绘根据另一实施例的动态地配置用于训练机器学习模型的网络的方法的流程图;
35.图5示出了描绘根据另一实施例的动态地配置用于训练机器学习模型的网络的方法的流程图;
36.图6示出了根据本公开的通信系统的示意图;以及
37.图7示出了装置的示例实现。
38.在整个说明书中,相同的附图标记指代相同的元件。
具体实施方式
39.现在将在下文更全面地描述本发明。然而,本发明可以以许多不同的形式实施并且不应被解释为限于本文阐述的实施例;相反,这些实施例是通过示例的方式提供的,使得本公开将是彻底和完整的,并且将本发明的范围完全地传达给本领域技术人员。
40.参考图1,示出了用于分散式学习的网络100。该系统包括服务器计算设备102和多个客户端计算设备104a至104d。在一些实施例中,服务器计算设备102控制和/或协调训练机器学习模型的过程。客户端计算设备104参与训练模型和/或在推理阶段使用机器学习模型,其中在现实应用期间执行学习。应当理解,并非网络100中的所有客户端计算设备104都必须使用机器学习模型。类似地,并非网络100中的所有客户端计算设备104都必须参与训练模型。在一些实施例中,客户端计算设备104可以既使用模型又参与训练模型。尽管图1中示出了四个客户端计算设备104,但是应当理解,网络100中可以存在任何合适数量的客户端计算设备。例如,训练部署中的客户端计算设备104的数量可以从仅少量到数万或更多不等。在一些实施例中,网络100可以是电信网络,并且客户端计算设备104可以是电信网络的边缘计算资源。具体地,客户端计算设备104可以是电信网络的接入节点。这将结合图6更详细地讨论。
41.在客户端计算设备104由服务器计算设备102控制的实施例中,即,在服务器计算设备102中执行关于何时执行训练以及哪些客户端计算设备104应当参与的所有决策,网络100被认为是以同步模式操作。在其他实施例中,客户端计算设备104自己决定何时执行训练以及是否参与。在这种情况下,网络100被认为是以异步模式操作。
42.服务器计算设备102和客户端计算设备104使用合适的通信协议彼此通信,从而允许它们向彼此发送具有信息的消息。这种通信协议的示例包括websocket和http/2,尽管可以设想可以同等地使用任何合适的通信协议。
43.本公开在涉及机器学习模型的训练时考虑两个主要问题。其中第一个问题是确定需要多少个客户端计算设备104参与每个训练回合。如上所述,用于训练机器学习模型的客户端计算设备104的最合适数量是确保模型被充分训练而不浪费计算资源的数量。本质上,所期望的是找到对于特定用例实现充分性能所需的客户端计算设备104的最小数量。如果训练模型的设备的数量被最小化,则网络100的剩余计算容量增加。此外,参与训练的设备越少,需要在这些设备和控制该过程的设备之间发送的消息就越少,从而也节省了网络100的传输容量。第二个问题是确定每个回合中哪些客户端计算设备104应当参与训练。由于并非网络100中的所有客户端计算设备104都需要用于训练机器学习模型,因此期望确保被选择用于训练的那些设备是最适合进行训练的设备。
44.构成充分性能水平的内容因用例而异。可以使用模型的一个或多个评估度量来确定充分性能。评估度量可以反映模型的精确性或一些其他可测量的特性。示例评估度量有均方误差(mse)、平均绝对误差(mae)、f1分数、对数损失或对称平均绝对百分比误差(smape),尽管很容易设想其他合适的评估度量。如上所述,网络100可以是电信网络。相关用例的一些示例有:链路自适应,其中任务是基于无线电信道质量调整每个ue的调制方案;带宽预测,其中任务是能够预测未来带宽需求;波束选择,其中任务是预测哪个波束最适合于ue;以及异常检测,用于检测数据中的“非正常”模式。
45.参考图2,示出了动态地配置用于训练机器学习模型的网络(例如,网络100)的方法200。方法200允许将客户端计算设备104的数量调整到合适的数量,即,实现充分性能所需的客户端计算设备104的最小数量。该方法由通信地耦合到网络100的计算设备执行。在一些实施例中,执行该方法的计算设备是服务器计算设备102。如上所述,在这些实施例中,网络100以同步模式操作。在一些实施例中,服务器计算设备102向客户端计算设备104发送初始模型参数,然后,客户端计算设备104在本地执行模型的训练,并且将评估指标连同更新模型参数一起发送回服务器计算设备102。然后,服务器计算设备102可以聚合参数并且将新的更新模型参数发送到客户端计算设备104以供进一步训练。这是使用联邦学习来训练机器学习模型的示例。在其他实施例中,执行方法200的计算设备可以是客户端计算设备104之一,或者可以是通信地耦合到网络100的某一其他计算设备。在其他实施例中,通信地耦合到网络100的多个计算设备可以执行方法200,使得方法200以分布式方式执行。
46.在步骤202,选择参与训练模型的客户端计算设备104的数量。参与训练的客户端计算设备104的数量可以小于网络100中存在的客户端计算设备104的总数。在一些实施例中,参与训练的客户端计算设备104的初始数量是任意设置的。例如,初始数量可以被设置为网络100中的客户端计算设备104的总数的10%,尽管不同的场景可能需要不同的值。在其他实施例中,可以基于在将网络100部署到现实世界中之前执行的实验来设置初始数量。实验可以基于从预期部署场景收集的并且反映真实数据分布的数据样本。实验的目的是找到客户端计算设备104的所需数量与机器学习模型的合适性能之间的合适的平衡。在一些实施例中,所确定的初始数量可以由额外数量的客户端计算设备104补充,以便在任何客户端计算设备104发生故障或客户端计算设备104与服务器计算设备102之间的通信路径有损
耗的情况下提供缓冲器。然后,当启动网络100时,客户端计算设备104的初始数量被用作基线。在一些实施例中,网络100之外的计算设备也可以用于训练模型。例如,在网络100是电信网络的情况下,电信网络中的基站之外的数据中心也可以用于训练。
47.在步骤204,基于所选择的数量个客户端计算设备104确定机器学习模型的评估度量的第一值。在一些实施例中,执行该方法的计算设备可以指示或使所选择的数量个客户端计算设备104使用其本地数据运行模型并且反馈评估度量的值。然后,可以根据由客户端计算设备104返回的值确定评估度量的第一值。据此,评估度量的第一值基于模型当由所选择的数量个客户端计算设备104训练时性能如何。在一些实施例中,所选择的数量个客户端计算设备104基于初始权重集来训练模型并且将更新权重集返回给服务器计算设备102。客户端计算设备还例如周期性地向服务器计算设备102或控制该过程的其他计算设备发送评估度量的值。据此,也可以周期性地确定第一评估度量。收集评估度量的频率是可动态配置的并且可以由服务器计算设备102来设置。为此使用的策略的一个示例是在训练的早期阶段当模型在每次训练迭代中改进很多时更经常地发送评估度量。然后,当模型稳定时,反馈的频率可以降低。如果模型性能开始下降,则反馈的频率可以再次增加。控制该过程的计算设备可以既在聚合的层面上也按照每个客户端来收集和存储评估度量。这些评估度量将在调整训练期间所需的客户端的数量时使用。
48.在步骤206,确定调整触发的存在。在一些实施例中,调整触发可以与机器学习模型的第一评估度量的值相关。例如,如果评估度量跨越阈值水平(从充分性能到不充分性能),则这可以构成需要增加参与训练模型的客户端计算设备104的数量的触发,如将关于图3所讨论的。在其他实施例中,如将关于图4和图5所讨论的,可以通过自先前调整以来经过预定时段来触发调整。
49.在步骤208,响应于确定调整触发的存在而调整用于确定评估度量的值的客户端计算设备104的数量。调整可以是增加或减少用于确定评估度量的值的客户端计算设备104的数量。所做的调整的类型取决于所确定的调整触发的类型,如将关于图3至图5所讨论的。在一些实施例中,可以调整用于训练模型的客户端计算设备104的数量,这进而将调整可以用于确定评估度量的值的客户端计算设备104的数量,如将关于图3和图5所讨论的。在其他实施例中,可以保持用于训练模型的客户端计算设备104的数量不变,而调整用于确定评估度量的值的数量,如将关于图4所讨论的。
50.在步骤210,基于调整后的数量个客户端计算设备104确定评估度量的第二值。这构成了评估度量的更新值,其示出基于新数量的客户端计算设备模型性能如何。在一些实施例中,将评估度量的第二值与评估度量的第一值进行比较。在一些实施例中,将评估度量的第二值与阈值进行比较。该阈值可以是或可以不是与在步骤206中使用的阈值相同的阈值。
51.在步骤212,基于评估度量的第二值设置参与训练机器学习模型的客户端计算设备104的数量。该数量可以被设置为相对于初始数量的增加数量、相对于初始数量的减少数量或被维持在与初始数量相同的水平。会发生这其中的哪一种情况取决于在调整之后模型性能如何,并且将关于图3至图5更详细地讨论。
52.可以迭代地执行方法200,也就是说,当在步骤212设置了参与训练机器学习模型的客户端计算设备104的数量时,该数量就成为在步骤202中使用的初始数量。以此方式,网
络100可以被连续且动态地更新以使用最合适数量的客户端计算设备104。
53.通过定期地监测模型性能并且动态地更新客户端计算设备104的数量,方法200允许使用用于实现充分性能所需的最小数量个客户端计算设备104来训练机器学习模型。这确保了在不浪费网络100中的计算资源或传输容量的情况下适当地训练模型。该方法可以适应诸如数据分布变化或客户端计算设备104被添加到系统或从系统中移除客户端计算设备104之类的变化。
54.图3示出了动态地配置用于训练机器学习模型的网络(例如,网络100)的方法300。方法300是方法200的特定实施例,其中在步骤208处执行的调整是增加参与训练模型的客户端计算设备104的数量。
55.在步骤302,监测评估度量的值。如上所述,可以周期性地执行确定机器学习模型的评估度量的第一值的步骤204。如果模型呈现充分性能,则评估度量的第一值将高于某一预定性能阈值,如上所述。
56.在步骤304,检测模型性能的劣化。这可以通过评估度量的第一值的减小来指示。然后,网络100可以处于警戒状态以查看评估度量是否保持高于阈值。
57.在步骤306,确定评估度量是否已经低于阈值。如果否,则方法300返回到在其中监测评估度量的值的步骤302。然而,如果评估度量低于阈值,则模型的性能不再处于充分水平。这是如在方法200的步骤206中所述的确定调整触发的存在的示例。
58.在步骤308,增加参与训练机器学习模型的客户端计算设备104的数量。这是由增加客户端计算设备104的数量将提高模型的性能(因为它将能够访问更多的训练数据)的概念所激发的。这是如在方法200的步骤208中所述的调整用于确定评估度量的值的客户端计算设备104的数量的示例。然后,使用增加后的数量个客户端计算设备104来训练机器学习模型。在一些实施例中,增加的客户端计算设备104的数量是任意的。在其他实施例中,增加的客户端计算设备104的数量可以基于初始或先前数量,例如增加参与训练模型的客户端计算设备104的初始或先前数量的10%。
59.然后,可以基于增加后的数量个客户端计算设备104来确定评估度量。这是如在方法200的步骤210中所述的基于调整后的数量个客户端计算设备104确定评估度量的第二值的示例。在步骤310,确定新的评估度量是否指示模型的改进的性能。如果性能没有改进,则方法300移动到步骤312,在其中网络恢复到基于先前数量的客户端计算设备104训练模型。这样做是因为:如果增加训练模型的客户端计算设备104的数量不会引起性能的改进,则不需要使用那么多设备来训练模型。已知较低的数量(即,客户端计算设备104的初始或先前数量)会引起相同或更好的模型性能。这是在方法200的步骤212处的设置客户端计算设备104的数量的示例。
60.另一方面,如果基于增加后的数量个客户端计算设备104的评估度量的值确实指示改进的性能,则方法300移动到步骤314,在其中确定性能现在是否高于在步骤306处跨越的阈值。如果评估度量仍不高于阈值,则方法300返回到步骤308,在其中增加参与训练机器学习模型的客户端计算设备104的数量。这样做是因为:在步骤310已经示出了增加参与训练机器学习模型的客户端计算设备104的数量会引起改进的性能,并且因此可以得出结论,数量的进一步增加将引起性能的进一步提高。可以循环步骤308、310和314,直到评估度量指示模型的性能高于阈值水平为止。这使得使用最小数量的客户端计算设备104来提供模
型的充分性能。如果在步骤314确定性能现在高于阈值,则方法300移动到步骤316,在其中维持客户端计算设备104的增加后的数量。这是在方法200的步骤212处的设置客户端计算设备104的数量的示例。
61.如关于图2所讨论的,在步骤316处设置的数量然后可以用作步骤302处的用于重新启动该方法的基础。然后,可以连续地重复方法300,直到找到稳定的解决方案为止。通过定期地监测模型性能的劣化并且每当需要时增加客户端计算设备104的数量,方法300确保使用最小数量的客户端计算设备104来充分地训练机器学习模型。这确保了在不浪费网络100中的计算资源或传输容量的情况下适当地训练模型。
62.图4示出了动态地配置用于训练机器学习模型的网络(例如,网络100)的另一方法400。方法400是方法200的特定实施例,其中在步骤208处执行的调整包括使用参与训练模型的所述数量的客户端计算设备104的子集来确定评估度量。方法400的目标是评估是否可能使用较少的客户端计算设备来实现相同或充分的性能水平。
63.在步骤402,监测评估度量的值。这是如在方法200的步骤204中所述的确定评估度量的值的示例。如上所述,可以周期性地执行确定机器学习模型的评估度量的第一值的步骤204。如果模型呈现充分性能,则评估度量的第一值将高于某一预定性能阈值,如上所述。
64.在步骤404,确定评估度量是否高于阈值。如果否,则方法400移动到方法300的步骤308,在其中可以采取适当的动作,如上所述。然而,如果评估度量高于阈值,则该方法移动到步骤406,在其中确定自先前对用于确定评估度量的值的客户端计算设备104的数量进行调整以来是否已经经过了预定时段。这是如在方法200的步骤206中所述的确定调整触发的存在的示例。通过使用预定时段来触发调整,确保了当模型呈现充分性能时,不仅使网络100以设置的水平运行,而且还定期审查增加训练效率的任何可能性。
65.如果在步骤406确定自先前调整以来尚未经过预定时段,则该方法返回到步骤402,在其中继续监测评估度量的值。然而,如果已经经过了预定时段,则方法400移动到步骤408,在其中使用参与训练的所述数量的客户端计算设备104的子集来确定评估度量。这是如在方法200的步骤208中所述的调整用于确定评估度量的值的客户端计算设备104的数量的示例。
66.为了执行该任务,执行该方法的计算设备利用从参与训练的所有客户端计算设备104收集的权重更新和评估结果。然而,代替评估所有客户端计算设备104的模型性能,服务器对客户端计算设备104进行采样并且创建客户端计算设备104的子集,包括它们的权重更新和评估结果。然后仅基于客户端计算设备104的子集创建新模型。在一些实施例中,可以创建多个子集和相关联的模型。在一个示例中,基于客户端计算设备104的两个不同子集创建了两个新模型。第一新模型使用90%的可用训练结果,第二新模型使用80%的可用训练结果。同时,该方法继续基于初始数量(100%)个客户端计算设备104训练模型。
67.在步骤410,确定新的评估度量是否指示模型的性能高于阈值。在上述示例中,在多个客户端计算设备104上使用其本地数据评估新模型并且收集评估结果。在一些实施例中,使用用于在步骤402处确定评估度量的所有客户端计算设备104来评估新模型。这将在各个模型之间提供更可靠的比较。备选地,可以在较少的客户端计算设备104上评估新模型,例如,被认为表示步骤402中使用的数量的客户端计算设备104的样本。在一些实施例中,可以设置用于评估新模型的客户端计算设备104的最小数量,以确保对新模型的适当且
可靠的评估。
68.在该示例中,现在存在可以被比较的三个不同的评估结果:一个具有100%的可用训练结果(原始模型),一个具有90%的可用训练结果,一个具有80%的可用训练结果。这是如在方法200的步骤210中所述的基于调整后的数量个客户端计算设备104确定评估度量的第二值的示例。
69.如果基于子集的评估度量的值指示模型的性能低于阈值,则方法400移动到步骤412,在其中网络恢复到基于先前数量的客户端计算设备104训练模型。在上述示例中,如果两个新模型的结果都低于所确定的充分性能水平,则丢弃这些模型并且将客户端计算设备104的当前数量保持在与之前相同的水平。这样做是因为:基于客户端计算设备104的子集确定模型的性能已经指示了模型性能的不可接受的劣化,并且因此不可能在不损害性能的情况下减少训练模型的客户端计算设备104的数量。这是在方法200的步骤212处的设置客户端计算设备104的数量的示例。
70.另一方面,如果基于子集的评估度量的值指示模型的性能高于阈值,则该方法移动到步骤414,在其中确定进一步的减少是否可以维持充分性能。关于是否执行进一步减少的决策可以基于多个因素,例如先前模型的性能相对于阈值如何或评估另一模型的成本是否对网络100的整体性能和/或效率不利。如果确定进一步的减少可以维持充分性能,则方法400返回到步骤408,在其中使用参与训练的所述数量的客户端计算设备104的更小子集来确定评估度量。在上述示例中,如果80%的模型指示充分性能,则可以测试70%的新模型。这样做是因为:在步骤410处已经示出了减少参与训练机器学习模型的客户端计算设备104的数量能够在减少了计算资源的使用的同时维持了充分性能,并且因此可以确定进一步的减少是否能够在更进一步地减少计算资源使用的同时维持充分性能。可以循环步骤408、410和414,直到评估度量指示模型的性能低于阈值水平为止。这使得使用最小数量的客户端计算设备104来提供模型的充分性能。
71.如果在步骤414确定进一步的减少不能维持充分性能,则方法400移动到步骤416,在其中采用子集中客户端计算设备104的数量作为用于参与训练模型的设备的数量。在上述示例中,如果新模型之一实现了充分性能,则将客户端的数量减少到该水平。这是在方法200的步骤212处的设置客户端计算设备104的数量的示例。
72.通过定期地监测模型性能并且在可能的情况下减少客户端计算设备104的数量,方法400允许使用最小数量的客户端计算设备104将机器学习模型训练到充分的水平。这确保了在不浪费网络100中的计算资源或传输容量的情况下适当地训练模型。
73.图5示出了动态地配置用于训练机器学习模型的网络(例如,网络100)的方法500。方法500是方法200的特定实施例,其中在步骤208处执行的调整是减少参与训练模型的客户端计算设备104的数量。据此,方法500与图4的方法400的不同之处在于如何在方法200的步骤208处执行调整。方法500的目标是评估是否可能使用较少的客户端计算设备来实现相同或充分的性能水平。
74.在步骤502,监测评估度量的值。这是如在方法200的步骤204中所述的确定评估度量的值的示例。如上所述,可以周期性地执行确定机器学习模型的评估度量的第一值的步骤204。如果模型呈现充分性能,则评估度量的第一值将高于某一预定性能阈值,如上所述。
75.在步骤504,确定评估度量是否高于阈值。如果否,则方法500移动到方法300的步
骤308,在其中可以采取适当的动作,如上所述。然而,如果评估度量高于阈值,则该方法移动到步骤506,在其中确定自先前对用于确定评估度量的值的客户端计算设备104的数量进行调整以来是否已经经过了预定时段。这是如在方法200的步骤206中所述的确定调整触发的存在的示例。如上所述,通过使用预定时段来触发调整,确保了当模型呈现充分性能时,不仅使网络100以设置的水平运行,而且还定期审查增加效率的任何可能性。
76.如果在步骤506确定自先前调整以来尚未经过预定时段,则该方法返回到步骤502,在其中监测评估度量的值。然而,如果已经经过了预定时段,则方法500移动到步骤508,在其中减少参与训练机器学习模型的客户端计算设备104的数量。这与图4的方法400不同(在方法400中,参与训练机器学习模型的客户端计算设备104的数量保持不变),而是采样子集来进行进一步评估。步骤508处的减少是由尽可能地减少用于训练模型的总计算资源的期望所激发的。然后使用减少后的数量的客户端计算设备104来训练机器学习模型。这是如在方法200的步骤208中所述的调整用于确定评估度量的值的客户端计算设备104的数量的示例。
77.然后,可以基于减少后的数量的客户端计算设备104来确定评估度量。这是如在方法200的步骤210中所述的基于调整后的数量的客户端计算设备104确定评估度量的第二值的示例。在步骤510,确定新的评估度量是否指示模型的性能高于阈值。如果否,则方法500移动到步骤512,在其中网络恢复到基于先前数量的客户端计算设备104训练模型。这是在方法200的步骤212处的设置客户端计算设备104的数量的示例。这是因为已经发现减少训练模型的客户端计算设备104的数量会引起模型性能不足。
78.另一方面,如果基于增加后的数量的客户端计算设备104的评估度量的值指示模型的性能高于阈值,则方法300移动到步骤514,在其中维持客户端计算设备104的减少后的数量。这是在方法200的步骤212处的设置客户端计算设备104的数量的示例。
79.通过定期地监测模型性能并且在可能的情况下减少客户端计算设备104的数量,方法400允许使用最小数量的客户端计算设备104将机器学习模型训练到充分的水平。这确保了在不浪费网络100中的计算资源或传输容量的情况下适当地训练模型。
80.图2至图5所示的方法旨在确定用于实现机器学习模型的充分性能所需的客户端计算设备104的最小数量。当定义了参与训练模型的客户端计算设备104的数量时,确定应当使用网络100中的哪个客户端计算设备104来构成该数量是有利的。
81.虽然可以随机地或系统地选择设备(例如,如果需要客户端计算设备104的总数的10%,则选择每10个设备选择一个),但是基于设备的单独资源来选择设备可能更合适。例如,具有增强的计算能力的客户端计算设备104将能够比其他设备更快地训练模型。客户端计算设备104的计算能力可以与以下项相关:能力的可用性(在给定时刻设备的总能力中的多少可用)、存储容量(用于存储数据(例如,训练样本)的容量)、存储器可用性(是否可能将所有必要的数据加载到设备的存储器中以实现更快的训练)和/或附加加速器(例如,用于加速计算的“ai芯片”)的存在以及本领域已知的其他参数。类似地,具有到服务器计算设备102的较大带宽连接的客户端计算设备104将能够比其他设备更快地传送模型参数。因此,可以选择具有用于训练模型的最合适资源的客户端计算设备。在所有客户端计算设备104都是参与训练的候选者的情况下,这是相当简单的过程。然而,实际上,真实情况很少如此,因为某些客户端计算设备104在特定时间段期间用于参与训练的资源将是有限的。
82.在一些情况下,关于客户端计算设备104是否可以参与训练的决策是二元的(是或否),因为它可能根本不具有进行任何训练的能力。在这些情况下,客户端计算设备104向服务器计算设备102或控制该过程的其他计算设备发送“否”消息,指示客户端计算设备104不能参与模型训练。其他客户端计算设备104可以预先知晓它们具有参与训练的能力并且可以仅发送“是”消息。在一些实施例中,这在新的客户端计算设备104连接到网络100时的初始注册过程中处理。在其他实施例中,客户端计算设备104可能仅能够在某些时间点参与训练。在这种情况下,客户端计算设备104可以监控其自己的资源。这包括当前使用情况和当前可用资源。在这些情况下,可以周期性地发送消息,使得可以使用资源容量的当前值或最近接收到的资源容量的值来确定客户端计算设备的可用性。不管其是否具有用于参与训练的可用性,客户端计算设备104仍然可以对使用模型感兴趣并且可以相应地指示这一点。
83.在一些实施例中,确定客户端计算设备104的资源容量涉及预测在机器学习模型将被训练的将来时间处的资源容量。在这种情况下,客户端计算设备104可以传送其资源可用性,并且该信息被馈送到预测模型中,该预测模型输出预测使用情况和预测可用资源。在电信网络的示例中,基站中的时间行为是相当可预测的并且遵循基于用户位置和使用情况的特定日常模式。这包括典型的忙时模式,其在例如中午附近具有高峰并且在夜间通信量较低。
84.客户端计算设备104还可以基于先前的机器学习模型训练(在训练期间监测和存储的)知晓训练需要多少资源以及需要多长时间。关于此的典型值也可以在当可以从网络100中的所有客户端计算设备104收集此信息时的启动期间从服务器计算设备102或控制该过程的其他计算设备接收。如果客户端计算设备104的最大容量与用于训练模型的预测使用情况之间的差异在训练的特定时间段期间较大,则客户端计算设备104将发送消息以指示它将在该时间段期间可用于训练。
85.服务器计算设备102或控制该过程的其他计算设备可以在所有客户端计算设备104上存储与它们可用于训练的时隙相关的信息。该信息可以用作决定哪些客户端计算设备104应当参与训练的策略。如果有大量客户端计算设备104可用,则可以通过在所有可用设备之间随机选择、使可用时间较长的设备优先和/或使具有最高级可用资源的设备优先来进行选择。
86.当定义了参与训练模型的客户端计算设备104的数量,并且已经确定了应当使用网络100中的哪个客户端计算设备104来构成该数量时,服务器计算设备102或控制该过程的其他计算设备向所选择的设备发送消息,指示它们训练模型以及何时进行训练。可以设想,这也可以当在网络建立期间选择客户端计算设备104的初始数量时执行,例如在方法200的步骤202。
87.上述方法允许动态地调整用于训练机器学习模型的客户端设备的数量,并且还能够在多个客户端设备可用的情况下确定应当使用哪些设备。所公开的方法可以检测模型的性能何时低于可接受的水平。这种检测将触发对在训练中使用不同数量的设备的情况的评估,然后可以对数量进行任何必要的调整。这确保了使用最小数量的客户端设备来训练机器学习模型,使得在不浪费计算资源或传输容量的情况下充分地训练模型。该系统可以适应诸如数据分布变化或客户端设备被添加到系统或从系统中移除客户端设备之类的变化。此外,可以确保被选择用于训练的那些设备最适合进行训练。
88.如上所述,网络100可以是电信网络,其中客户端计算设备104是电信网络的边缘计算资源。具体地,客户端计算设备104可以是电信网络的接入节点。在电信网络中使用分散式学习方法的一个好处是基站可以彼此通信以训练模型,并且避免了与集中发送数据相关联的传输成本。
89.图6中示出了示例通信系统600。通信系统600是分布式系统,使得系统的各部分在云602、雾(fog)204、边缘606和用户设备层608中实现。
90.云602包括被实现为云实现的服务器的主机计算机610。在其他实施例中,主机计算机可以以独立服务器、分布式服务器的硬件和/或软件来体现或被体现为服务器群中的处理资源。主机计算机610可以在服务提供商的所有权或控制之下,或者可以由服务提供商或代表服务提供商来操作。
91.主机计算机610包括被配置为建立和维持与通信系统600的不同通信设备的接口的有线或无线连接的硬件。主机计算机610还可以包括可以具有存储和/或处理能力的处理电路。具体地,处理电路可以包括适于执行指令的一个或多个可编程处理器、专用集成电路、现场可编程门阵列或这些的组合(未示出)。主机计算机610还包括存储在主机计算机610中或可由主机计算机610访问并且可由处理电路执行的软件。该软件包括主机应用。主机应用可操作用于向远程用户(例如,经由过顶(over the top)(ott)连接进行连接的用户)提供服务。在向远程用户提供服务时,主机应用可以提供使用ott连接传输的用户数据。
92.雾604被实现在云602和边缘606之间,并且可以包括核心网612。核心网612可以是3gpp型蜂窝网络。雾604还可以包括雾计算机614。主机计算机610与核心网612之间的连接可以直接从主机计算机610延伸到核心网612和/或雾计算机614,或者可以经由可选的中间网络(未示出)进行。中间网络可以是公共、私有或托管网络之一或其中的多于一个的组合;中间网络(如果有的话)可以是骨干网或互连网;具体地,中间网络可以包括两个或更多个子网络(未示出)。雾计算机614可以被认为是核心网612的一部分,或者可以与核心网612分离,例如由不同于电信网络运营商的实体来操作和处理。
93.边缘606包括多个基站616a、616b。基站也可以被称为接入节点。基站可以在接入网中实现。基站616包括使它们能够与核心网612通信并且经由核心网612与主机计算机610通信的硬件。基站616还包括使它们能够与位于用户设备层608中的用户设备(ue)618通信的硬件。每个基站616被配置为建立和维持与通信系统600的不同通信设备(例如,位于由基站服务的覆盖区域(图6中未示出)中的ue 618)的接口的有线或无线连接。每个基站616还可以被配置为有助于到主机计算机610的连接。该连接可以是直接的,或者它可以通过核心网612和/或通过通信系统600之外的一个或多个中间网络。每个基站616可以包括适于执行指令的一个或多个可编程处理器、专用集成电路、现场可编程门阵列或这些的组合(未示出)。每个基站616还具有存储在内部或可经由外部连接访问的软件。
94.用户设备层608包括多个用户设备元件618。在图6中,第一ue618a可无线地连接到相应的基站616a或被配置为由相应的基站616a寻呼。第二ue 618b、第三ue 618c和第四ue 618d可无线地连接到相应的基站616b。尽管在该示例中示出了多个ue 618,但是所公开的实施例同样适用于单个ue在覆盖区域中或单个ue 618连接到相应的基站616的情况。
95.每个ue 618可以包括无线电接口,其被配置为建立和维持与服务于ue 618当前所处的覆盖区域的基站616的无线连接。ue 618的硬件还包括处理电路,其可以包括适于执行
指令的一个或多个可编程处理器、专用集成电路、现场可编程门阵列或这些的组合(未示出)。每个ue 618还包括存储在ue 618中或可由ue 618访问并且可由处理电路执行的软件。该软件可以包括客户端应用,其可操作用于在主机计算机610的支持下经由ue 618向人类或非人类用户提供服务。在主机计算机610中,正在执行的主机应用可以经由以ue 618和主机计算机610为终点的ott连接或其他连接与正在执行的客户端应用通信。在向用户提供服务时,客户端应用可以与主机应用交换用户数据(也被称为应用数据或数据)。ott连接或其他连接可以传送用户数据。客户端应用可以与用户交互以生成其所提供的用户数据。示例ue 618有移动电话、智能电话、平板电脑、膝上型电脑和诸如连接的传感器、仪表等的物联网(iot)设备。本上下文中的ue可以例如是永久地或临时地安装在设备(容器等)或固定结构(墙壁、屋顶等)上的便携式、可袖珍存储的、手持的、计算机包括的、可穿戴的和/或车载的移动设备(仅举几个示例)。ue 618通常也被称为通信设备、无线设备、无线终端、移动终端、移动站、用户设备(ue)、移动电话、蜂窝电话等。这些术语通常可以被视为同义词,但是它们中的一些在一些上下文中也用于表示与特定电信标准相关的通信设备,但是后一方面在本上下文中不重要。
96.图6的通信系统600整体上实现了所连接的ue 618之一与主机计算机610之间的连接性。主机计算机610和所连接的ue 618被配置为使用接入网、核心网612、任何中间网络和可能的作为媒介的其他基础设施(未示出)来传送数据。在ott连接或其他连接的情况下,在ott连接或其他连接所通过的参与通信设备不知晓上行链路和下行链路通信的路由的意义上,该连接可以是透明的。例如,可以不向基站616通知或不需要向基站616通知具有将被转发(例如,移交)到所连接的ue 618的源自主机计算机610的数据的传入下行链路通信的过去路由。类似地,基站616不需要知晓源自ue 618的朝向主机计算机610的传出上行链路通信的将来路由。
97.图7公开了可以被配置为执行上述方法的装置700的示例实现。如上所述,这可以是网络100中的计算设备之一,例如网络100的服务器计算设备102或客户端计算设备104。
98.装置700可以包括处理器或处理电路710以及存储器或存储器电路720。存储器电路720可以存储计算机程序代码,该计算机程序代码当在处理电路710中运行时可以使装置700执行方法500。在一个示例性实施例中,该计算机程序代码当在处理电路710中运行时可以使装置700确定位于蜂窝网络的第一小区内的无线通信设备的轨迹。然后,可以使装置700识别轨迹所导向的蜂窝网络的至少一个第二小区。此后,使装置700在与该至少一个第二小区相关联的一个或多个边缘计算设备处进行资源分配,以使计算信息能够从与第一小区相关联的边缘计算设备迁移到与该至少一个第二小区相关联的一个或多个边缘计算设备。
99.在一些实施例中,存储器电路720可以存储计算机程序代码,该计算机程序代码当在处理电路710中运行时可以使装置700基于无线通信设备相对于网络的至少一个接入节点的波束/信号强度确定无线通信设备的轨迹。在一些实施例中,存储器电路720可以存储计算机程序代码,该计算机程序代码当在处理电路710中运行时可以使装置700基于来自大规模mimo天线的定位信息确定无线通信设备的轨迹。
100.在一些实施例中,存储器电路720可以存储计算机程序代码,该计算机程序代码当在处理电路710中运行时可以使装置700进行资源分配,其包括配置与至少一个第二小区相
关联的边缘计算设备的计算能力、存储容量、连接性和/或无线电能力中的至少一个。在一些实施例中,存储器电路720可以存储计算机程序代码,该计算机程序代码当在处理电路710中运行时可以使装置700在无线通信设备离开第一小区之前完成资源分配。
101.在一些实施例中,存储器电路720可以存储计算机程序代码,该计算机程序代码当在处理电路710中运行时可以使装置700将计算信息从与第一小区相关联的边缘计算设备迁移到与至少一个第二小区的目的地小区相关联的边缘计算设备。在一些实施例中,存储器电路720可以存储计算机程序代码,该计算机程序代码当在处理电路710中运行时可以使装置700将计算信息从第一小区的边缘计算设备迁移到目的地小区的边缘计算设备。
102.本文使用的术语仅用于描述特定实施例的目的,而不旨在是限制性的。如本文所使用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。还将理解,术语“包括”和/或“包含”当在本文中使用时指定存在所述特征、整数、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组。
103.除非另有定义,否则本文中使用的所有术语(包括技术和科学术语)的含义与通常所理解的含义相同。还将理解,本文中使用的术语应当被解释为具有与它们在本说明书和相关技术的上下文中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文明确地如此定义。
104.受益于在前面的描述和相关附图中呈现的教导的本领域技术人员将会想到所描述的实施例的修改和其他变型。因此,应当理解,实施例不限于本公开中描述的特定示例实施例,并且修改和其他变型旨在包括在本公开的范围内。此外,尽管本文中可以采用特定的术语,但是它们仅用于一般的和描述性的意义,而不是为了限制的目的。因此,本领域技术人员将认识到所描述的实施例的多种变化仍将落入所附权利要求的范围内。如本文所使用的,术语“包括”或“包含”不排除存在其他元件或步骤。此外,尽管各个特征可以包括在不同的权利要求中,但是这些特征可以有利地组合,并且包括在不同的权利要求中并不意味着特征的组合是不可行的和/或不利的。此外,单数引用不排除复数。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1