一种基于模型训练的通信方法、装置及系统与流程

文档序号:25991761发布日期:2021-07-23 21:03阅读:54来源:国知局
一种基于模型训练的通信方法、装置及系统与流程
本申请涉及通信
技术领域
,尤其涉及一种基于模型训练的通信方法、装置及系统。
背景技术
:联邦学习(faderatedlearning,fl)系统是一种新兴的人工智能基础技术,其主要思想是由中心服务器和多个通信设备协作,基于多个通信设备上的数据集构建机器学习模型。在构建机器学习模型过程中,各个通信设备之间无需数据共享,防止数据泄露。在联邦学习系统中,中心服务器将机器学习模型的各个参数的取值发送给各个通信设备,由各通信设备作为协作单元在本地训练模型,更新机器学习模型的各个参数的取值,并将各个参数的取值的梯度(gradient)发送给中心服务器。中心服务器根据各个参数的取值的梯度生成新的模型参数取值。重复执行上述步骤,直至机器学习模型收敛,完成整个模型训练的过程。随着机器学习模型越来越大,通信设备与中心服务器之间需要传输的模型参数的数据量也越来越大。受限于因特网(internet)的连接速度、带宽等问题,造成在通信设备和中心服务器之间模型参数传输的时延较长,模型参数取值更新速率较慢。技术实现要素:本申请提供的基于模型训练的通信方法、装置及系统,能够有效减小通信设备和服务器之间参数传输的数据量,在保证不损失模型训练精度的前提下,提高通信效率。为达到上述目的,本申请采用如下技术方案:第一方面,本申请提供一种基于模型训练的通信方法,应用于包括中心服务器和通信设备的系统中。该方法可以包括:通信设备确定第一模型参数取值的变化量。若通信设备根据第一模型参数取值的变化量确定第一模型参数稳定,则通信设备在预设时段内停止向中心服务器发送第一模型参数取值的更新量。其中,第一模型参数取值的更新量由通信设备在进行模型训练的过程中根据用户数据确定。通信设备接收中心服务器发送的第二模型参数取值。其中,在预设时段内,第二模型参数取值不包括第一模型参数取值。其中,第一模型参数为参与确定是否稳定的模型参数,其数量不限定,可以为任意一个或多个模型参数。如果确定第一模型参数稳定,则该第一模型参数为预设时段内不参与传输更新量和取值的模型参数。第二模型参数为参与中心服务器和通信设备之间的更新量和取值传输的模型参数。第二模型参数的数量也不限定,可以为一个或多个。可选的,全部的第一模型参数和全部的第二模型参数组成了全部的模型参数。其中,第一模型参数取值的变化量用于确定第一模型参数是否稳定。若第一模型参数稳定,则表示第一模型参数已经收敛。后续通信过程中,其取值的变化量主要为小幅度振荡变化,对模型训练的意义不大。所以可以设置预设时段,在预设时段内,停止传输稳定的第一模型参数取值的更新量。可以理解的是,若通信设备在预设时段内不向中心服务器发送第一模型参数取值的更新量,则在该预设时段内中心服务器也不会生成并向通信设备发送第一模型参数更新后的取值,进而实现通信设备与中心服务器之间双向的数据量均减小。其中,通信设备接收到中心服务器发送更新后的模型参数取值后,可以构建更新后的本地训练模型,并利用本地用户数据训练模型。在训练过程中,会基于用户数据对模型参数取值进行调整,进而获得模型参数取值的更新量,也即模型参数取值的梯度。如此,在通信设备根据模型参数取值的变化量确定模型参数稳定后,可以在预设时段内停止传输模型参数取值的更新量,能够有效减小通信设备和服务器之间模型参数传输的数据量,在保证不损失模型训练精度的前提下,提高通信效率。在一种可能的实现方式中,该方法还包括:在预设时段之后,通信设备向中心服务器发送第一模型参数取值的更新量以及接收中心服务器发送的第一模型参数取值。也就是说,在预设时段之后,停止传输的第一模型参数自动开始参与传输。即通信设备可以实现自适应的根据模型参数取值的变化量调整与中心服务器之间传输的数据量的大小。在一种可能的实现方式中,通信设备和中心服务器之间通过报文传输模型参数取值和取值的更新量。在报文的一种设计中,通信设备在预设时段内停止向中心服务器发送第一模型参数取值的更新量,包括:通信设备向中心服务器发送报文,报文包含第三模型参数取值的更新量与对应的标识位的取值;第三模型参数取值的更新量包括第二模型参数取值的更新量和第一模型参数取值的更新量。其中,在预设时段内,第一模型参数取值的更新量对应的标识位的取值用于表示通信设备未向中心服务器传输第一模型参数取值的更新量。其中,报文中包含的标识位例如可以包括比特位映射,每个比特位对应一个模型参数的数据。标识位的取值例如可以设置0/1进行区分等。如此,中心服务器接收到通信设备发送的报文后,可以根据报文中携带的模型参数取值的更新量对应各个标识位的取值,确定标识位对应的模型参数取值的更新量是否传输,进而可以快速读取已传输模型参数的取值的更新量。也可以快速确定已停止传输的第一模型参数取值的更新量,在返回给通信设备的数据中,不包含该第一模型参数更新后的取值。在报文的另一种设计中,通信设备向中心服务器发送报文,报文包含第二模型参数取值的更新量与对应的标识位的取值。其中,在预设时段内,第二模型参数取值的更新量不包括第一模型参数取值的更新量,第二模型参数对应的标识位的取值用于表示通信设备向中心服务器传输第二模型参数取值的更新量。如此,报文中只包含第二模型参数取值的更新量以及其对应的标识位,进而中心服务器可以直接根据接收到的报文确定传输的第二模型参数取值的更新量,后续直接返回第二模型参数更新后的取值即可。可以进一步减少传输的数据量并且可以加快模型训练的进程。在其他可能的设计中,报文中直接不包含第一模型参数取值的更新量。通信设备和中心服务器之间预先设置好需要传输的报文中第三模型参数取值的更新量的传输顺序。之后,通信设备确定第一模型参数稳定后,即使得传输给中心服务器的报文中直接不包含第一模型参数取值的更新量,中心服务器也可以根据空缺的比特位,确定停止传输的是哪些第一模型参数取值的更新量,也可以获知传输的数据对应的是哪些第二模型参数取值的更新量。在一种可能的实现方式中,通信设备确定第一模型参数取值的变化量,包括:通信设备根据第一模型参数取值的历史信息获得第一模型参数取值的变化量。比如,获得第一模型参数的历史取值,或者历史取值的变化量,进而可以结合此次第一模型参数取值计算出此次第一模型参数取值的变化量。在一种可能的实现方式中,取值的历史信息包括:第一模型参数取值的有效变化量和第一模型参数取值的累计变化量。其中,此次第一模型参数取值的有效变化量和累计变化量可以根据获得的所有第一模型参数取值的有效变化量和累计变化量获得。或者,可以根据最近几次检测获得的第一模型参数取值的有效变化量和累计变化量获得。或者,可以根据上一次检测获得的第一模型参数取值的有效变化量和累计变化量获得。之后,根据第一模型参数取值的有效变化量和累计变化量的比值可以获得第一模型参数取值的变化量。示例性的,可以采用指数移动平均(exponentialmovingaverage,ema)的方法,根据上一次检测获得的第一模型参数取值的有效变化量和第一模型参数取值的累计变化量,上一次以及此次检测获得的第一模型参数取值,获得此次第一模型参数取值的有效变化量和累计变化量,进而获得第一模型参数取值的变化量。并且,采用ema的方法获得第一模型参数取值的变化量,只需保存上一次获得的第一模型参数取值的有效变化量和累计变化量,以及上一次获得的第一模型参数取值,可以有效减小占用的存储空间。在一种可能的实现方式中,通信设备根据第一模型参数取值的变化量确定第一模型参数稳定,包括:若第一模型参数取值的变化量小于预设阈值,则确定第一模型参数稳定。示例性的,可以根据实验数据、专家经验值等确定预设阈值。若第一模型参数取值的变化量小于预设阈值,则表明当前第一模型参数已经收敛稳定,继续传输也不会对模型的训练产生较大的贡献,故可以停止传输该第一模型参数取值的更新量。在一种可能的实现方式中,通信设备确定第一模型参数取值的变化量,包括:通信设备m次确定第一模型参数取值的变化量;其中,m为大于等于2的正整数。通信设备根据第一模型参数第k次的稳定状态确定预设时段满足的预设条件包括:若第k次根据第一模型参数取值的变化量确定第一模型参数稳定,则预设时段的时长为第一时长,第一时长大于第二时长。其中,第二时长为第k-1次确定第一模型参数稳定时,停止向中心服务器发送第一模型参数取值的更新量的预设时段的时长;或者,第二时长为第k-1次确定第一模型参数未稳定时,得到的用于调节下一次第一模型参数稳定时对应的预设时段时长的时长;其中,k为正整数,k≤m。在一种可能的实现方式中,预设条件还包括:若第k次确定第一模型参数未稳定,则得到的用于调节下一次第一模型参数稳定时对应的预设时段时长的第三时长,第三时长小于第四时长;其中,第四时长为第k-1次确定第一模型参数稳定时,停止向中心服务器发送第一模型参数取值的更新量的预设时段的时长,或者,第四时长为第k-1次确定第一模型参数未稳定时,得到的用于调节下一次第一模型参数稳定时对应的预设时段时长的时长。也就是说,在通信设备和中心服务器之间传输模型参数的更新量或取值的过程中,每一次检测确定第一模型参数取值的变化量后,都会获得一个时长。若此次确定第一模型参数稳定,表明第一模型参数收敛,需要增加该第一模型参数停止传输的时长,则获得的时长为预设时段的时长,并且该时长大于上一次检测获得的时长。若此次确定第一模型参数不稳定,表明第一模型参数还未收敛,需要减少该第一模型参数下一次停止传输的时长,则获得的时长为用于调节下一次检测获得时长的时长,并且该时长小于上一次检测获得的时长。如此,可以根据第一模型参数的稳定状态动态的调节停止传输的预设时段时长的时长,灵活的控制通信设备和中心服务器之间传输的参数模型训练的模型参数数量,进而保证最后获得的模型的精度满足要求。在一种可能的实现方式中,若通信设备根据第一模型参数取值的变化量确定第一模型参数稳定,则通信设备在预设时段内停止向中心服务器发送第一模型参数取值的更新量,包括:若第k次通信设备根据第一模型参数取值的变化量确定第一模型参数稳定,则在n个发送周期内停止向中心服务器发送第一模型参数取值的更新量;其中,n为正整数。在n个发送周期之后,若第k+1次通信设备根据第一模型参数取值的变化量确定第一模型参数稳定,则在(n+m)个发送周期内停止向中心服务器发送第一模型参数取值的更新量;其中,m为正整数。在n个发送周期之后,若第k+1次通信设备根据第一模型参数取值的变化量确定第一模型参数未稳定,则若第k+2次通信设备根据变化量确定第一模型参数稳定,在(n/r+m)个发送周期内停止向中心服务器发送第一模型参数取值的更新量;其中,r为大于等于2的正整数,(n/r)≥1。其中,发送周期为通信设备向中心服务器发送模型参数取值的更新量的周期。也就是说,停止传输第一模型参数取值的更新量的预设时段时长可以基于发送周期的时长进行调整。在确定第一模型参数稳定后,在上一次的得到的时长上增加整数个发送周期时长得到此次停止传输的预设时段。在确定第一模型参数不稳定后,将上一次得到的时长等比例减小得到此次的时长。比如,假设第5次(第k次)检测,第一模型参数稳定获得的预设时段时长为2个发送周期时长。若到达预设时段之后的第6次(第k+1次)检测第一模型参数稳定,则预设时段的时长可以为2+1=3个发送周期时长。若到达预设时段之后的第6次(第k+1次)检测第一模型参数不稳定,则获得的时长可以为2/2=1个发送周期时长。若第7次(第k+2次)检测第一模型参数稳定,则获得的预设时段的时长可以为2/2+1=2个发送周期时长。在一种可能的实现方式中,该方法还包括:通信设备按照检测周期确定第一模型参数取值的变化量;发送周期小于检测周期。由于通信设备在发送第一模型参数取值的更新量并获得更新后的第一模型参数取值后,判断第一模型参数取值的稳定状态才有意义,所以发送周期要小于检测周期。在一种可能的实现方式中,该方法还包括:若通信设备确定稳定的第一模型参数的数量与第三模型参数的数量的比例大于预设比例,则减小预设阈值的取值。也就是说,在停止传输的模型参数的数量到达一定比例后,需要降低模型参数是否稳定的判定阈值,进而减少停止传输的模型参数的数量,保证参与模型训练的模型参数中为更新后的取值的模型参数的数量。如此,动态的调节预设阈值,避免停止传输的模型参数的数量过多,使得模型训练的过程延长或者影响模型最终的精度。比如,当大量模型参数停止传输后,在预设时段内只能应用各个停止传输的模型参数的不变的取值训练模型,可能训练效果并不理想。只能等待各个停止传输的模型参数的预设时段的时长到达后,才可以获得这些模型参数更新后的取值,继续训练模型,导致模型到达模型收敛条件的训练时间过长。在一种可能的实现方式中,通信设备确定第一模型参数取值的变化量之前,方法还包括:通信设备接收中心服务器发送的第二模型参数取值。例如发送周期为5s,检测周期为10s。则通信设备每隔5s向中心服务器发送第一模型参数取值的更新量,同样的中心服务器每隔5s向通信设备发送第一模型参数取值。而通信设备每隔10s确认第一模型参数取值的变化量,基于变化量确定第一模型参数是否稳定。第二方面,本申请提供一种基于模型训练的通信方法,应用于包括中心服务器和通信设备的系统中。该方法包括:中心服务器接收通信设备发送的第二模型参数取值的更新量;在预设时段内,第二模型参数取值的更新量中不包含第一模型参数取值的更新量。其中,第一模型参数为根据第一模型参数取值的变化量确定稳定的模型参数。中心服务器根据第二模型参数取值的更新量确定第二模型参数更新后的取值。中心服务器向通信设备发送第二模型参数更新后的取值。在预设时段内,第二模型参数更新后的取值中不包含第一模型参数更新后的取值。其中,第一模型参数取值的更新量和第二模型参数的更新量由通信设备在进行模型训练的过程中根据用户数据确定。即,通信设备在进行模型训练的过程中会根据用户数据确定模型参数取值的更新量。并且,通信设备会根据模型参数的稳定状态确定需要向中心服务器停止传输的模型参数的取值的更新量。也就是说,中心服务器会根据接收的模型参数取值的更新量判断通信设备是否已经停止传输部分模型参数。若已经停止传输部分模型参数,则中心服务器也会在预设时段内,停止传输这部分通信设备停止传输的模型参数。进而实现双向减少传输的数据量,提高通信效率。在一种可能的实现方式中,该方法还包括:在预设时段之后,中心服务器向通信设备发送第一模型参数取值以及接收通信设备发送的第一模型参数取值的更新量。在预设时段之后,通信设备会自动开始向中心服务器发送模型参数取值的更新量,进而中心服务器会根据模型参数取值的更新量确定模型参数更新后的取值,则实现在预设时段之后,中心服务器向通信设备传输之前停止传输的模型参数更新后的取值。如此,实现了中心服务器与通信设备之间双向的自适应通信数据量的调整。在一种可能的实现方式中,中心服务器向通信设备发送第二模型参数更新后的取值;在预设时段内,第二模型参数更新后的取值中不包含第一模型参数更新后的取值,包括:中心服务器向通信设备发送报文,报文包含第三模型参数更新后的取值与对应的标识位的取值;第三模型参数更新后的取值包括第二模型参数更新后的取值和第一模型参数更新后的取值。其中,在预设时段内,第一模型参数更新后的取值对应的标识位的取值用于表示中心服务器未向通信设备传输第一模型参数更新后的取值。或者,中心服务器向通信设备发送报文,报文包含第二模型参数更新后的取值与对应的标识位的取值。其中,在预设时段内,第二模型参数更新后的取值不包括第一模型参数更新后的取值,第二模型参数更新后的取值对应的标识位的取值用于表示中心服务器向通信设备传输第二模型参数更新后的取值。在一种可能的实现方式中,第一模型参数为根据第一模型参数取值的变化量确定稳定的模型参数,包括:若第一模型参数取值的变化量小于预设阈值,则确定第一模型参数稳定。在一种可能的实现方式中,中心服务器接收通信设备发送的第二模型参数取值的更新量之前,方法还包括:中心服务器向通信设备发送第二模型参数取值。也就是说,中心服务器和通信设备之间模型参数传输的过程为一种循环交互的过程,需要中心服务器向通信设备发送模型参数取值后,通信设备可以基于模型参数取值获得模型参数取值的更新量,进而中心服务器可以获得该模型参数取值的更新量。第三方面,本申请提供一种基于模型训练的通信装置,该装置包括:处理单元,发送单元,接收单元。处理单元,用于确定第一模型参数取值的变化量。处理单元,还用于根据第一模型参数取值的变化量确定第一模型参数是否稳定。发送单元,用于向中心服务器发送第一模型参数取值的更新量;若处理单元根据第一模型参数取值的变化量确定第一模型参数稳定,则发送单元在预设时段内停止向中心服务器发送第一模型参数取值的更新量。其中,第一模型参数的取值的更新量由处理单元在进行模型训练的过程中根据用户数据确定。接收单元,用于接收中心服务器发送的第二模型参数取值;其中,在预设时段内,第二模型参数取值不包括第一模型参数取值。在一种可能的实现方式中,发送单元,还用于在预设时段之后,向中心服务器发送第一模型参数取值的更新量。接收单元,还用于在预设时段之后,接收中心服务器发送的第一模型参数取值。在一种可能的实现方式中,发送单元具体用于:向中心服务器发送报文,报文包含第三模型参数取值的更新量与对应的标识位的取值;第三模型参数取值的更新量包括第二模型参数取值的更新量和第一模型参数取值的更新量。其中,在预设时段内,第一模型参数取值的更新量对应的标识位的取值用于表示发送单元未向中心服务器传输第一模型参数取值的更新量。或者,向中心服务器发送报文,报文包含第二模型参数取值的更新量与对应的标识位的取值。其中,在预设时段内,第二模型参数取值的更新量不包括第一模型参数取值的更新量,第二模型参数取值的更新量对应的标识位的取值用于表示发送单元向中心服务器传输第二模型参数取值的更新量。在一种可能的实现方式中,处理单元具体用于:根据第一模型参数取值的历史信息获得第一模型参数取值的变化量。在一种可能的实现方式中,取值的历史信息包括:第一模型参数取值的有效变化量和第一模型参数取值的累计变化量。在一种可能的实现方式中,处理单元具体用于:根据第一模型参数取值的变化量确定第一模型参数是否稳定,若第一模型参数取值的变化量小于预设阈值,则确定第一模型参数稳定。在一种可能的实现方式中,处理单元具体用于:m次确定第一模型参数取值的变化量。其中,m为大于等于2的正整数。根据第一模型参数第k次的稳定状态确定预设时段满足的预设条件包括:若第k次根据第一模型参数取值的变化量确定第一模型参数稳定,则预设时段的时长为第一时长,第一时长大于第二时长;其中,第二时长为第k-1次确定第一模型参数稳定时,停止向中心服务器发送第一模型参数取值的更新量的预设时段的时长,或者,第二时长为第k-1次确定第一模型参数未稳定时,得到的用于调节下一次第一模型参数稳定时对应的预设时段时长的时长;其中,k为正整数,k≤m。在一种可能的实现方式中,预设条件还包括:若第k次确定第一模型参数未稳定,则得到的用于调节下一次第一模型参数稳定时对应的预设时段时长的第三时长,第三时长小于第四时长;其中,第四时长为第k-1次确定第一模型参数稳定时,停止向中心服务器发送第一模型参数取值的更新量的预设时段的时长,或者,第四时长为第k-1次确定第一模型参数未稳定时,得到的用于调节下一次第一模型参数稳定时对应的预设时段时长的时长。在一种可能的实现方式中,若处理单元第k次根据第一模型参数取值的变化量确定第一模型参数稳定,则在n个发送周期内,发送单元停止向中心服务器发送第一模型参数取值的更新量。其中,n为正整数。在n个发送周期之后,若处理单元第k+1次根据第一模型参数取值的变化量确定第一模型参数稳定,则在(n+m)个发送周期内,发送单元停止向中心服务器发送第一模型参数取值的更新量。其中,m为正整数。在n个发送周期之后,若第k+1次处理单元根据第一模型参数取值的变化量确定第一模型参数未稳定,则若处理单元第k+2次根据变化量确定第一模型参数稳定,在(n/r+m)个发送周期内,发送单元停止向中心服务器发送第一模型参数取值的更新量;其中,r为大于等于2的正整数,(n/r)≥1。其中,发送周期为发送单元向中心服务器发送模型参数取值的更新量的周期。在一种可能的实现方式中,处理单元还用于:按照检测周期确定第一模型参数取值的变化量;发送周期小于检测周期。在一种可能的实现方式中,处理单元还用于:若处理单元确定稳定的第一模型参数的数量与第三模型参数的数量的比例大于预设比例,则减小预设阈值的取值。在一种可能的实现方式中,处理单元确定第一模型参数取值的变化量之前,接收单元接收中心服务器发送的第二模型参数取值。第四方面,本申请提供一种基于模型训练的通信装置,该装置包括:接收单元,处理单元,发送单元。接收单元,用于接收通信设备发送的第二模型参数取值的更新量;在预设时段内,第二模型参数取值的更新量中不包含第一模型参数取值的更新量;其中,第一模型参数为根据第一模型参数取值的变化量确定稳定的模型参数。处理单元,用于根据第二模型参数取值的更新量确定第二模型参数更新后的取值。发送单元,用于向通信设备发送第二模型参数更新后的取值;在预设时段内,第二模型参数更新后的取值中不包含第一模型参数更新后的取值。在一种可能的实现方式中,发送单元,还用于在预设时段之后,向通信设备发送第一模型参数取值。接收单元,还用于接收通信设备发送的第一模型参数取值的更新量。在一种可能的实现方式中,发送单元具体用于:向通信设备发送报文,报文包含第三模型参数更新后的取值与对应的标识位的取值;第三模型参数更新后的取值包括第二模型参数更新后的取值和第一模型参数更新后的取值。其中,在预设时段内,第一模型参数更新后的取值对应的标识位的取值用于表示发送单元未向通信设备传输第一模型参数更新后的取值。或者,向通信设备发送报文,报文包含第二模型参数更新后的取值与对应的标识位的取值;其中,在预设时段内,第二模型参数更新后的取值不包括第一模型参数更新后的取值,第二模型参数更新后的取值对应的标识位的取值用于表示发送单元向通信设备传输第二模型参数更新后的取值。在一种可能的实现方式中,第一模型参数为根据第一模型参数取值的变化量确定稳定的模型参数,包括:若第一模型参数取值的变化量小于预设阈值,则确定第一模型参数稳定。在一种可能的实现方式中,接收单元接收通信设备发送的第二模型参数取值的更新量之前,发送单元向通信设备发送第二模型参数取值。第五方面,本申请提供一种通信设备,包括:一个或多个处理器;存储器;以及计算机程序,其中计算机程序被存储在存储器中,计算机程序包括指令;当指令被通信设备执行时,使得通信设备执行如上述第一方面及其中任一种可能的实现方式中的基于模型训练的通信方法。第六方面,本申请提供一种通信设备,包括:一个或多个处理器;存储器;以及计算机程序,其中计算机程序被存储在存储器中,计算机程序包括指令;当指令被中心服务器执行时,使得中心服务器执行如上述第二方面及其中任一种可能的实现方式中的基于模型训练的通信方法。第七方面,本申请提供一种通信系统,包括:中心服务器和至少一个通信设备,至少一个通信设备执行如上述第一方面及其中任一种可能的实现方式中的基于模型训练的通信方法。中心服务器执行如上述第二方面及其中任一种可能的实现方式中的基于模型训练的通信方法。第八方面,本申请提供一种通信设备,该通信设备具有实现如上述第一方面至第二方面,以及其中任一种可能的实现方式中所述的基于模型训练的通信方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。第九方面,本申请提供一种计算机存储介质,包括计算机指令,当计算机指令在基于模型训练的通信装置上运行时,使得基于模型训练的通信装置执行如上述第一方面至第二方面,以及其中任一种可能的实现方式中所述的基于模型训练的通信方法。第十方面,本申请提供一种计算机程序产品,当计算机程序产品在基于模型训练的通信装置上运行时,使得基于模型训练的通信装置执行如上述第一方面至第二方面,以及其中任一种可能的实现方式中所述的基于模型训练的通信方法。第十一方面,提供一种电路系统,电路系统包括处理电路,处理电路被配置为执行如上述第一方面至第二方面,以及其中任一种可能的实现方式中所述的基于模型训练的通信方法。第十二方面,本申请实施例提供一种芯片系统,包括至少一个处理器和至少一个接口电路,至少一个接口电路用于执行收发功能,并将指令发送给至少一个处理器,当至少一个处理器执行指令时,至少一个处理器执行如上述第一方面至第二方面,以及其中任一种可能的实现方式中所述的基于模型训练的通信方法。其中,第二方面至第十二方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。附图说明图1为本申请实施例提供的一种基于模型训练的通信方法的应用场景示意图;图2为本申请实施例提供的一种通信设备的硬件结构示意图;图3为本申请实施例提供的基于模型训练的通信方法的流程示意图一;图4为本申请实施例提供的一种报文结构示意图;图5为本申请实施例提供的基于模型训练的通信方法的流程示意图二;图6为本申请实施例提供的基于模型训练的通信方法的流程示意图三;图7为本申请实施例提供的一种实验数据结果分析图一;图8为本申请实施例提供的一种实验数据结果分析图二;图9为本申请实施例提供的一种实验数据结果分析图三;图10为本申请实施例提供的一种基于模型训练的通信装置的结构示意图一;图11为本申请实施例提供的一种基于模型训练的通信装置的结构示意图二;图12为本申请实施例提供的一种芯片系统的结构示意图。具体实施方式下面结合附图对本申请实施例提供的基于模型训练的通信方法、装置及系统进行详细地描述。本申请实施例的方案主要应用于机器学习的分布式系统,该机器学习的分布式系统中包含中心服务器和多个通信设备。每一通信设备拥有各自的处理器以及存储器,各自具有独立的数据处理功能。在该机器学习的分布式系统中,各个通信设备地位相同,存储有用户数据,且各个通信设备之间不共享用户数据,能够在保障大数据交换时的信息安全、保护终端数据和个人数据隐私的前提下,在多通信设备之间开展高效率的机器学习。示例性的,如图1所示,机器学习的分布式系统100包括中心服务器10和至少一个通信设备20,例如图1中的通信设备1、通信设备2、通信设备3和通信设备4。中心服务器10和至少一个通信设备20之间可以通过有线网络或者无线网络连接。本申请实施例对中心服务器10和至少一个通信设备20之间的连接方式不做具体限定。其中,中心服务器10可以是云服务器或者网络服务器等具有计算功能的设备或服务器。中心服务器10可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。中心服务器10中存储有神经网络模型,可以通过交互接口将神经网络模型参数取值发送至至少一个通信设备20。其中,通信设备20也可以称之为主机,模型训练主机等。通信设备20既可以为服务器,也可以为终端设备。可以提供相关的人机交互界面,以便采集基于模型训练的本地用户数据。例如可以包括手机(mobilephone)、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtualreality,vr)电子设备、增强现实(augmentedreality,ar)电子设备、工业控制(industrialcontrol)中的无线终端、无人驾驶(selfdriving)中的无线终端、远程医疗(remotemedical)中的无线终端、智能电网(smartgrid)中的无线终端、运输安全(transportationsafety)中的无线终端、智慧城市(smartcity)中的无线终端、智慧家庭(smarthome)中的无线终端、车载终端、人工智能(artificialintelligence,ai)终端等。本申请实施例对通信设备的具体形态不作特殊限制。通信设备20中存储有本地数据。通信设备20可以接收中心服务器10发送的神经网络模型参数取值构建本地模型,并将本地数据作为训练数据训练本地模型。可以理解的是,数据量越大的训练数据训练出的模型性能越优。由于单个通信设备20中包含的本地数据的数据量有限,导致训练后的本地模型的精度有限。若为增大训练数据中包含的数据量,而在多个通信设备20间进行传输模型参数取值或取值的更新量,不利于保护隐私数据。出于保护隐私数据以及数据安全的考虑,机器学习的分布式系统100可以在无需通信设备20间共享本地数据的前提下,优化各个通信设备20中的本地模型。如图1所示,各个通信设备20间不必进行本地数据共享,而是将训练前后本地模型各个参数的取值的更新量发送至中心服务器10,中心服务器10利用各个通信设备20发送的模型参数取值的更新量训练模型,并将训练好的模型参数取值发送至各个通信设备20。各个通信设备20再利用本地数据训练利用更新后的模型参数取值构建的本地模型。如此,在循环上述步骤后,中心服务器10可以获得性能更优的神经网络模型并将其发送至各个通信设备20。其中,更新量也可以称之为梯度。需要说明的是,有些文献中将上述机器学习的过程描述为联邦学习。因此,上述机器学习的分布式系统也可以描述为联邦学习的分布式系统。本申请实施例中的技术方案可以为基于模型训练的通信方法,也可以描述为基于联邦学习的通信方法。即联邦学习过程也可以描述为模型训练过程。上述机器学习的分布式系统100可以应用于如下场景中:场景1:改善手机输入法输入性能的场景。示例性的,手机输入法可以根据用户当前输入词汇预测并显示后续可能会输入的词汇。其中运用的预测模型需要基于用户数据训练以实现提高其预测精度。但是,某些用户个人数据,例如用户访问的网站,用户的旅行地点等敏感数据,不能被直接共享。如此,google推出了基于机器学习的分布式系统改善手机输入词汇预测模型的方法。首先,google中的中心服务器会将预测模型参数取值发送给多个手机,之后可以获得各个手机基于各自本地用户数据训练预测模型得到的模型参数取值的更新量,中心服务器通过对各个手机反馈的预测模型参数取值的更新量进行平均叠加得到统一的新的预测模型。如此,在手机不必共享本地用户数据的前提下,通过不断的迭代更新,最终可以得到预测精度高的预测模型,进而改善手机输入法性能。机器学习的分布式系统的应用场景可以包括上述场景1中基于大量通信设备的场景,还可以包括基于有限数量的通信设备的场景,如下述场景2。场景2:改善医疗预测模型的场景。示例性的,医院中用于开发治疗方法以及获得治疗预测结果的预测模型的建立需要的训练数据为病人数据。应用病人数据进行模型训练,实际和潜在侵犯病人隐私的后果可能很严重。如此,可以基于机器学习的分布式系统,在不共享各自医院病人数据的前提下,每个医院利用各自拥有的病人数据训练预测模型,中心服务器综合所有预测模型参数取值的更新量,最终获得综合所有医院病人数据的精度较高的预测模型,并将最终的模型参数取值发送至各个医院,进而改善各个医院的医疗预测模型。图2所示为本申请实施例提供的通信设备20的硬件结构示意图。通信设备20包括总线110、处理器120、存储器130、用户输入模块140、显示模块150、通信接口160和其它相似和/或合适组件。总线110可以是将上述元件相互连接并在上述元件之间传递通信的电路。处理器120可以通过总线110从上述其它元件(例如存储器130、用户输入模块140、显示模块150、通信接口160等)接收命令,可以解释接收到的命令,并可以根据所解释的命令来执行计算或数据处理。处理器120可以是一个通用中央处理器(centralprocessingunit,cpu),微处理器,特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制本申请方案程序执行的集成电路。在一些实施例中,处理器120用于根据接收到的中心服务器10发送的模型参数取值建立本地模型,并利用本地用户数据训练本地模型,获得模型参数取值的更新量。存储器130可以存储从处理器120或其它元件(例如用户输入模块140、显示模块150、通信接口160等)接收的命令或数据或者由处理器120或其它元件产生的命令或数据。存储器130可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器130可以是独立存在,通过总线110与处理器120相连接。存储器130也可以和处理器120集成在一起。其中,存储器130用于存储用于实现本申请方案的计算机执行指令,并由处理器120来控制执行。处理器120用于执行存储器130中存储的计算机执行指令,从而实现本申请下述实施例提供的基于模型训练的通信方法。可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码、指令、计算机程序或者其它名称,本申请实施例对此不作具体限定。在一些实施例中,存储器130中存储有通信设备20通过用户输入模块140,基于人机交互的方式输入的用户数据,或者通信设备20通过其他方式获得的用户数据。处理器120可以通过调用存储器130中存储的用户数据进行模型训练。进一步的处理器120也可以在线获取用户数据进行模型训练,对此本申请实施例不做具体限定。用户输入模块140可以接收经由输入-输出手段(例如,传感器、键盘、触摸屏等)从用户输入的数据或命令,并可以通过总线110向处理器120或存储器130传送接收到的数据或命令。显示模块150可以显示从上述元件接收到的各种信息(例如多媒体数据、文本数据)。通信接口160可以控制通信设备20与中心服务器10的通信。当通信设备20与中心服务器10配对连接时,通信接口160可以接收中心服务器10发送的模型参数取值,以及向中心服务器发送模型参数取值的更新量,并且也可以控制模型参数取值的更新量的发送周期。其中,模型参数取值的更新量的发送周期也可以由处理器120控制通信接口160执行。根据本申请公开的各实施例,通信接口160可以直接或者通过网络161与中心服务器10进行通信。例如,通信接口160可以操作为将通信设备20连接至网络161。应该理解的是,图示通信设备20的硬件结构仅是一个范例,并且通信设备20可以具有比图2中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。目前,基于机器学习的分布式系统的模型训练的通信方法,一般是中心服务器将所有模型参数取值均发送到通信设备,通信设备根据模型参数取值获得所有模型参数取值的更新量,并将所有模型参数取值的更新量均发送回中心服务器。数据传输过程中,中心服务器和通信设备之间传输的数据量较大。但实际上,在模型收敛之前的早期阶段,部分模型参数已经收敛稳定,后续的模型参数取值的变化仅为小幅度振荡变化,对模型训练的意义不大。有鉴于此,在本申请的实施例提供了一种基于模型训练的通信方法,可以基于传输的模型参数取值的变化量确认模型参数是否稳定,进而确认是否停止传输对应的模型参数取值的更新量。如此,可以在不损失模型训练精度的前提下,减少传输的数据量,提高通信效率。如图3所示,为本申请实施例提供一种基于模型训练的通信方法的流程示意图,该方法可以包括s101-s103:s101、通信设备确定第一模型参数取值的变化量。其中,第一模型参数可以为通信设备接收中心服务器发送的模型参数中的至少一个模型参数,即可以确定接收的所有模型参数取值的变化量,也可以仅确定接收的所有模型参数取值中部分模型参数取值的变化量。比如,通信设备接收到100个模型参数取值,这100个模型参数取值中的2个模型参数取值对模型训练过程影响较大。因此,在模型训练过程中,需要保证持续更新这2个模型参数取值。故,第一模型参数取值的数量为98个,在通信设备接收到中心服务器发送的100个模型参数取值后,通信设备会确定其中除上述2个模型参数取值之外的98个第一模型参数取值的变化量。示例性的,通过上文描述可知,在机器学习的分布式系统中,通信设备会接收中心服务器发送的第一模型参数取值,通信设备可以根据接收的第一模型参数取值的历史信息获得第一模型参数取值的变化量。其中,历史信息可以包括第一模型参数取值的有效变化量和第一模型参数取值的累计变化量。在一些实施例中,采用指数移动平均(exponentialmovingaverage,ema)的方法,根据第一模型参数取值的有效变化量和第一模型参数取值的累计变化量获得第一模型参数取值的变化量。比如,通信设备根据第k次获取的第一模型参数取值的有效变化量ek和第一模型参数取值的累计变化量的比值,得到第一模型参数取值的变化量p;其中,变化量有效变化量ek和第一模型参数取值的累计变化量的初始值为0。其中,若k=1,则第一模型参数取值的变化量p=1。其中,若k为大于等于2的正整数,则有效变化量ek=αek-1+(1-α)δk,累计变化量其中,α为权重参数,用于表示权重的衰减程度,0<α<1;ek-1为第一模型参数取值在k-1次的有效变化量;为第一模型参数取值在k-1次的累计变化量;δk为第k次与第k-1次获得的第一模型参数取值的差值。其中,α为变量,会根据计算次数指数递减,其具体的获得方式可参见现有技术,对此本申请实施例不再赘述。示例性的,若k=2,即当前为第2次通信设备获得第一模型参数取值,假设第1次第一模型参数取值为-4,第2次第一模型参数取值为6,α=0.5。则第2次第一模型参数取值的有效变化量e2=αe1+(1-α)δk=α(1-α)δk1+(1-α)δk2=0.5*(1-0.5)*(-4)+(1-0.5)*(6-(-4))=4,第一模型参数取值的累计变化量进而得到第一模型参数取值的变化量如此,通信设备的存储器中只需要存储上一次接收到的第一模型参数取值,上一次确定的第一模型参数取值的有效变化量以及累计变化量,就可以根据此次接收到的第一模型参数取值,确定此次第一模型参数取值的有效变化量以及累计变化量,进而确定第一模型参数取值的变化量。利用较低的存储空间,就可以确定第一模型参数取值的变化量。在又一些实施例中,通信设备可以基于最近几次检测中每一次的第一模型参数取值的变化量确定此次第一模型参数取值的变化量。比如,通信设备获得最近a次第一模型参数取值的变化量分别为k1,k2,k3…ka;则第一模型参数取值的有效变化量为第一模型参数取值的累计变化量为由此,第一模型参数取值的变化量其中,b为自然数,为用于计算的中间数据。例如,a=3,则第6次检测,第一模型参数取值的有效变化量为其中,k0表示第6次检测与第5次检测获得的第一模型参数取值的差值。可以理解的是,若通信设备中保存的数据量不足时,可以将保存的全部数据用于确定第一模型参数取值的变化量。示例性的,假设a=10,则通信设备中需要保存最近10次第一模型参数取值的变化量。在保存的第一模型参数取值的变化量的数量不足时,利用全部保存的第一模型参数取值的变化量获得此次第一模型参数取值的变化量。例如,第6次检测,存储器中只保留了前5次的数据,不足10次,则利用这5次的数据获得此次第一模型参数取值的变化量。s102、若通信设备根据第一模型参数取值的变化量确定第一模型参数稳定,则通信设备在预设时段内停止向中心服务器发送第一模型参数取值的更新量。其中,通信设备用于根据用户数据进行模型训练,在模型训练过程中确定模型参数取值的更新量,该更新量也可以称之为梯度。在通信设备接收到中心服务器发送更新后的模型参数取值后,会构建模型,并利用本地的用户数据训练该模型。在训练过程中,模型参数取值会基于用户数据进行调整,进而获得模型参数取值的更新量,并按照发送周期向中心服务器发送模型参数取值的更新量。其中,发送周期可以基于通信设备的带宽确定,具体确定方法可以参考现有技术,本申请实施例对此不作具体限定。示例性的,可以设置检测周期,通信设备按照检测周期获得第一模型参数取值的变化量,也即按照检测周期,周期性的确定第一模型参数是否稳定。可以理解的是,通信设备也会按照预先设置的发送周期向中心服务器发送第一模型参数取值的更新量。并且,发送并接收到数据后,才会产生第一模型参数取值的变化量,故发送周期要小于检测周期。例如:发送周期为5s,检测周期为10s。则通信设备每隔5s向中心服务器发送第一模型参数取值的更新量,同样的中心服务器每隔5s向通信设备发送第一模型参数取值。而通信设备每隔10s确认第一模型参数取值的变化量,基于变化量确定第一模型参数是否稳定。如此,可以通过上述步骤s101,周期性的确定第一模型参数取值的变化量,进而根据第一模型参数取值的变化量确定第一模型参数是否稳定。示例性的,可以根据实验数据或者历史经验值等设定预设阈值,若通过上述步骤s101中的方法获得的第一模型参数取值的变化量小于预设阈值,则判断第一模型参数稳定。若第一模型参数稳定,则通信设备在预设时段内停止向中心服务器发送第一模型参数取值的更新量,相应的,中心服务器在预设时段内也停止向通信设备发送第一模型参数取值。也即,第一模型参数稳定后,通信设备和中心服务器之间不传输第一模型参数取值以及取值的更新量,该过程也可以理解为第一模型参数稳定后,将第一模型参数冻结。也就是说,第一模型参数为参与确定是否稳定的模型参数,其数量不限定,可以为任意一个或多个模型参数。如果确定第一模型参数稳定,则该第一模型参数为预设时段内不参与传输的模型参数。第二模型参数为参与中心服务器和通信设备之间的更新量和取值传输的模型参数。第二模型参数的数量也不限定,可以为一个或多个。可选的,全部的第一模型参数和全部的第二模型参数组成了全部的模型参数(也可以称之为第三模型参数)。在一些实施例中,在第一模型参数停止传输的预设时段内,第一模型参数的历史信息不再变化。在预设时段之后,通信设备向中心服务器发送第一模型参数取值的更新量以及接收中心服务器发送的第一模型参数取值。那么,在到达预设时段之后,第一模型参数自动开始参与传输后,也会开始自动记录历史信息。如自动开始记录第一模型参数取值的有效变化量和第一模型参数取值的累计变化量。在一些实施例中,通信设备与中心服务器之间可以通过报文传输模型参数取值和更新量。如图4中的(a)所示,为本申请实施例提供的一种报文结构,包括报文头和报文本身的数据。其中,报文头信息包括报文的目的地址(destinationaddress)、源地址(sourceaddress)、报头、长度/类型(length/type)。其中,上文所指的源地址和目的地址均是媒体存储控制位(mediaaccesscontroladdress,mac)地址,该报文的具体结构可参考现有技术。在本申请实施例中,报头包括与模型参数取值的更新量对应的标识位。在报文的一种可能的设计中,报文中携带有第三模型参数(模型包含的全部模型参数)取值的更新量与对应的标识位的取值,标识位的取值用于表示通信设备是否向中心服务器传输第三模型参数取值的更新量。示例性的,可以在标识位设置特殊的字符,如标识位取值为“1”表示通信设备向中心服务器发送该标识位对应的模型参数取值的更新量。标识位取值为“0”表示通信设备未向中心服务器发送该标识位对应的模型参数取值的更新量。这样,中心服务器根据报头的标识位的取值,获知在预设时段内,通信设备未传输第一模型参数取值的更新量,而传输了第二模型参数取值的更新量。也就是说,通信设备与中心服务器之间传输的模型参数取值的更新量为第三模型参数取值的更新量,第三模型参数取值的更新量中包括判断为可以传输的第二模型参数取值的更新量和预设时段内不可以传输的第一模型参数取值的更新量。比如,如图4中的(a)所示,一种模型参数取值的更新量对应的标识位的可能的实现方式,假设第三模型参数包含a、b、c、d、e和f五个模型参数。其中,通信设备判断其中第一模型参数b、e和f三个模型参数稳定,则b、e和f三个第一模型参数取值的更新量对应的标识位的取值为0。a、c和d三个第二模型参数取值的更新量对应的标识位的取值为1。则表示在此次传输的报文的数据段中包含a、c和d模型参数对应的数据,不包含b、e和f模型参数对应的数据。在报文的另一种可能的设计中,报文的包头中包含第二模型参数取值的更新量与对应的标识位的取值。其中,在预设时段内,第二模型参数取值的更新量不包括第一模型参数取值的更新量,第二模型参数取值的更新量对应的标识位的取值用于表示通信设备向中心服务器传输第二模型参数取值的更新量。比如,如图4中的(b)所示,一种模型参数取值的更新量对应的标识位的可能的实现方式,报文中携带的a、c和d三个第二模型参数取值的更新量对应的标识位的取值,该取值可以设置为1,则表示在此次传输的报文的数据段中包含a、c和d模型参数对应的数据。可以理解的是,还可以有其他报文报头的设计方式,用于表示传输的模型参数的含义。比如,通信设备和中心服务器之间预先设置好需要传输的报文中第三模型参数取值的更新量的顺序。之后,通信设备确定第一模型参数稳定后,传输给中心服务器的报文中直接不包含第一模型参数取值的更新量,中心服务器也可以根据空缺的比特位,确定停止传输的是哪些第一模型参数取值的更新量,也可以获知传输的数据对应的是哪些第二模型参数取值的更新量。又比如,在通信设备未向中心服务器发送第一模型参数取值的更新量时,该第一模型参数取值的更新量对应的标识位可以为空。这样,中心服务器可以根据报文的标识位的取值为空,得知在预设时段内,标识位为空的模型参数取值的更新量为通信设备未传输的第一模型参数取值的更新量。在一些实施例中,每一次通信设备确定第一模型参数稳定,需要停止传输第一模型参数取值的更新量时,还需要确定第一模型参数的数量占第三模型参数的数量的比例。若通信设备确定稳定的第一模型参数的数量与第三模型参数的数量的比例大于预设比例,则减小预设阈值的取值。也就是说,在停止传输的模型参数的数量到达一定比例后,需要降低模型参数是否稳定的判定阈值,进而减少停止传输的模型参数的数量,保证参与模型训练的模型参数中为更新后的取值的模型参数的数量。如此,动态的调节预设阈值,避免停止传输的模型参数的数量过多,使得模型训练的过程延长或者影响模型最终的精度。比如,当大量模型参数停止传输后,在预设时段内只能应用各个停止传输的模型参数不变的取值训练模型,可能训练效果并不理想。只能等待各个停止传输的模型参数的预设时段时长到达后,才可以获得这些模型参数更新后的取值,继续训练模型,导致模型到达模型收敛条件的训练时间过长。s103、通信设备接收中心服务器发送的第二模型参数取值。其中,在预设时段内,第二模型参数取值不包括第一模型参数取值。示例性的,通信设备向中心服务器发送第二模型参数取值的更新量后,中心服务器会根据获取到的一个或多个通信设备发送的模型参数取值的更新量得到更新后的第二模型参数取值,并将第二模型参数更新后的取值发送至对应的通信设备。其中,在预设时段内,第一模型参数不参与传输,则第二模型参数更新后的取值不包括第一模型参数更新后的取值。在一些实施例中,在预设时段之后,通信设备向中心服务器发送第一模型参数取值的更新量以及接收中心服务器发送的第一模型参数取值。也就是说,通信设备若在预设时段内不向中心服务器发送第一模型参数取值的更新量,则在该预设时段内中心服务器也不会生成并向通信设备发送第一模型参数更新后的取值,进而实现通信设备与中心服务器之间双向的数据量均减小。而在预设时段后,通信设备和中心服务器又会自动开始传输第一模型参数取值以及取值的更新量,实现自适应的传输数据量的调整。示例性的,若通信设备确定第一模型参数取值的变化量,需要先接收到中心服务器发送的第一模型参数取值,才可以根据此次接收到的第一模型参数取值与之前接收到的第一模型参数取值确定其变化量,故在上述步骤s101之前,还可以包括步骤s104。s104、通信设备接收中心服务器发送的第二模型参数取值。在一些实施例中,初始时,通信设备接收中心服务器发送的第三模型参数取值为用于模型训练的全部模型参数取值。后续交互过程中,第三模型参数的数量会根据通信设备发送给中心服务器的模型参数取值的更新量的数量变化,如变化为除停止传输的第一模型参数之外的第二模型参数。也即通信设备向中心服务器发送模型参数取值的更新量后,中心服务器才会根据模型参数取值的更新量确定模型参数更新后的取值,进而才会将更新后的取值发送至通信设备。后续按照检测周期,在通信设备接收到第二模型参数取值后,才会对其中全部或者部分模型参数进行稳定性的判断,该全部或者部分模型参数即为上述步骤s101中的第一模型参数。机器学习的分布式系统中,模型训练的过程中包括通信设备与中心服务器之间传输模型参数的更新量或取值的交互过程,在交互过程中,实现模型的收敛,完成训练过程。上述步骤s101-步骤s103是由各个通信设备判断第一模型参数取值的稳定性,进而确定是否停止传输第一模型参数取值的更新量。可以理解的是,也可以由中心服务器对第一模型参数取值的稳定性进行判断,确认是否停止传输第一模型参数取值。并且,也可以向对应的各个通信设备发送通知,将判断结果告知对应的各个通信设备,进而保证各个通信设备在获知是否在下一个发送周期停止向中心服务器发送第一模型参数取值的更新量。由此,本申请实施例提供的模型训练的通信方法,若判断第一模型参数取值的稳定,则在预设时段内停止传输第一模型参数取值的更新量。可以在不损失模型训练精度的前提下,灵活的减小通信设备和中心服务器之间传输的数据量,提高通信效率。在上述步骤s102中,通信设备按照发送周期向中心服务器发送模型参数取值的更新量,并接收中心服务器发送的模型参数取值。通信设备按照检测周期检测模型参数取值的稳定性,确定其中可以停止传输的模型参数取值的更新量,并且每一次检测,还会获得一个时长。若第一模型参数稳定,则获得的时长为停止传输的预设时段时长;若第一模型参数不稳定,则获得的时长为用于调节下一次判断第一模型参数取值是否稳定时获得时长的时长。如此,可以实现在通信设备与中心服务器之间模型参数取值以及取值的更新量的交互传输的过程中,灵活的调整可以停止传输的模型参数以及对应的时长。参见图5所示的流程图,可以通过下述步骤,实现通信设备和中心服务器之间循环交互的模型参数取值以及取值的更新量的传输过程,以及实现灵活的调整获得的时长。其中,停止传输第一模型参数的预设时段的时长可以为发送周期的整数倍,也可以为自定义的任意时长,本申请实施例对此不做具体限定。步骤一、判断第一模型参数是否稳定。示例性的,开始模型训练过程后,通信设备会接收中心服务器发送的第三模型参数取值,通信设备利用第三模型参数取值构建本地模型,并利用本地数据训练模型,按照发送周期向中心服务器发送第三模型参数取值的更新量。其中,第三模型参数取值即为用于构建模型的全部模型参数取值,首次开始模型训练过程,中心服务器会将全部模型参数取值发送至通信设备,用于构建初始模型。之后,接收中心服务器发送更新后的第三模型参数取值,通过上述步骤s101和步骤s102中的方法,确定其中第一模型参数取值是否稳定。若第一模型参数稳定,则执行步骤二;若第一模型参数不稳定,则继续传输第一模型参数取值的更新量。步骤二、获得停止传输第一模型参数取值的更新量的预设时段时长为初始时长。示例性的,确定第一模型参数稳定后,表明第一模型参数已经收敛,可以在预设时段内停止传输第一模型参数取值的更新量,进而减少通信设备与中心服务器之间通信的数据量。此时,获得需要停止传输第一模型参数取值的更新量的预设时段时长为初始时长。初始时长可以为整数个发送周期也可以为自定义的时间段,后续可以通过增减发送周期的数量或自定义的时间段来调节时长。在一些实施例中,在判断需要停止传输第一模型参数取值的更新量后,还需要计算停止传输的第一模型参数的数量占第三模型参数的数量的比例。若大于预设比例,则减小预设阈值。减小判断第一模型参数是否稳定的预设阈值,可以在后续判断第一模型参数是否稳定的过程中,减少停止传输的模型参数的数量,保证模型训练的精度。其中,预设比例可以根据经验值自定义设定。步骤三、到达初始时长,开始传输第一模型参数取值的更新量。示例性的,在到达预设时段后,停止传输的第一模型参数自动按照发送周期参与传输。在传输过程中,按照检测周期判断第一模型参数是否稳定。若第一模型参数稳定,则执行步骤四;若第一模型参数不稳定,则执行步骤八。步骤四、获得停止传输第一模型参数取值的更新量的预设时段时长大于初始时长。示例性的,在确认第一模型参数稳定后,需要获得停止传输第一模型参数取值的更新量的预设时段时长,并在预设时段内停止传输。由于该第一模型参数上一次的判断时获得的时长为初始时长,故此次判断稳定获得的预设时段的时长要大于上一次获得的初始时长。例如,模型参数1在上一次检测周期获得初始时长为1个发送周期,则在停止传输1个发送周期后,模型参数1自动参与传输。发送周期小于检测周期,故,模型参数1在参与传输一段时间后,会再次进行检测。此次确定模型参数1稳定,则可以获得大于1个发送周期的预设时段的时长,如2个发送周期。在一些实施例中,同上述步骤二,需要计算停止传输的第一模型参数的数量占第三模型参数的数量的比例,若大于预设比例,则减小预设阈值。步骤五、到达预设时段的时长,开始传输第一模型参数取值的更新量。示例性的,到达预设时段时长后,停止传输的第一模型参数自动开始参与传输。并继续参与判断其稳定性。若第一模型参数稳定,则执行步骤六;若第一模型参数不稳定,则执行步骤七。步骤六、获得停止传输第一模型参数取值的更新量的预设时段时长大于上一次获得的时长。示例性的,由于此次第一模型参数稳定,则需要获得停止传输第一模型参数取值的更新量的预设时段时长并在预设时段内停止传输。其中,停止传输的预设时段的时长要大于上一次检测获得的时长。在一些实施例中,同上述步骤二,需要计算停止传输的第一模型参数的数量占第三模型参数的数量的比例,若大于预设比例,则减小预设阈值。完成步骤六后,返回步骤五,即在达到预设时段自动开始传输之后,继续判断第一模型参数取值是否稳定。即整个模型训练过程是通信设备和中心服务器之间模型参数取值以及取值的更新量的循环交互过程,在模型训练过程中,需按照检测周期反复判断模型参数的稳定性,并获得对应的时长。也就是说,通信设备m次确定第一模型参数取值的变化量。其中,m为大于等于2的正整数。通信设备根据第一模型参数第k次的稳定状态确定预设时段满足的预设条件包括:若第k次根据第一模型参数取值的变化量确定第一模型参数稳定,则预设时段的时长为第一时长,第一时长大于第二时长。其中,第二时长为第k-1次确定第一模型参数稳定时,停止向中心服务器发送第一模型参数取值的更新量的预设时段的时长。或者,第二时长为第k-1次确定第一模型参数未稳定时,得到的用于调节下一次第一模型参数稳定时对应的预设时段时长的时长;其中,k为正整数,k≤m。步骤七、继续传输第一模型参数取值的更新量,并获得小于上一次获得时长的时长。示例性的,由于此次第一模型参数不稳定,则需要获得用于调节下一次检测获得时长的时长,此次获得的时长要小于上一次检测获得的时长。其中,上一次检测第一模型参数取值可以稳定也可以不稳定。完成步骤七后,返回步骤五,即在下一个检测周期继续判断第一模型参数取值是否稳定。也就是说,通信设备m次确定第一模型参数取值的变化量。其中,m为大于等于2的正整数。通信设备根据第一模型参数第k次的稳定状态确定预设时段满足的预设条件还包括:若第k次确定第一模型参数未稳定,则得到的用于调节下一次第一模型参数稳定时对应的预设时段时长的第三时长,第三时长小于第四时长。其中,第四时长为第k-1次确定第一模型参数稳定时,停止向中心服务器发送第一模型参数取值的更新量的预设时段的时长。或者,第四时长为第k-1次确定第一模型参数未稳定时,得到的用于调节下一次第一模型参数稳定时对应的预设时段时长的时长。步骤八、继续传输第一模型参数取值的更新量,并获得小于初始时长的时长。示例性的,第一模型参数不稳定,则继续传输,并且此次可以获得用于调节下一次检测获得时长的时长,此次的时长会小于初始时长。也就是说,在通信设备和中心服务器之间传输模型参数取值以及取值的更新量的过程中,每一次检测确定第一模型参数取值的变化量后,都会获得一个时长。若此次确定第一模型参数稳定,表明第一模型参数收敛,需要增加该第一模型参数停止传输取值的更新量的时长,则获得的时长为预设时段的时长,并且该时长大于上一次检测获得的时长。若此次确定第一模型参数不稳定,表明第一模型参数还未收敛,需要减少该第一模型参数下一次停止传输取值的更新量的时长,则获得的时长为用于调节下一次检测获得时长的时长,并且该时长小于上一次检测获得的时长。如此,可以根据第一模型参数的稳定状态动态的调节停止传输的预设时段的时长,灵活的控制通信设备和中心服务器之间传输的参数模型训练的模型参数数量,进而保证最后获得的模型的精度满足要求。基于上述步骤一至步骤八,举例来说,若基于发送周期的时长调节预设时段时长,那么,若第k次通信设备根据第一模型参数取值的变化量确定第一模型参数稳定,则在n个发送周期内停止向中心服务器发送第一模型参数取值的更新量。其中,n为正整数。在n个发送周期之后,若第k+1次通信设备根据第一模型参数取值的变化量确定第一模型参数稳定,则在(n+m)个发送周期内停止向中心服务器发送第一模型参数取值的更新量。其中,m为正整数。在n个发送周期之后,若第k+1次通信设备根据第一模型参数取值的变化量确定第一模型参数未稳定,则若第k+2次通信设备根据变化量确定第一模型参数稳定,在(n/r+m)个发送周期内停止向中心服务器发送第一模型参数取值的更新量。其中,r为大于等于2的正整数,(n/r)≥1。示例性的,假设第5次(第k次)检测,第一模型参数稳定获得的预设时段时长为2个发送周期时长。若到达预设时段之后的第6次(第k+1次)检测第一模型参数稳定,则预设时段的时长可以为2+1=3个发送周期时长。若到达预设时段之后的第6次(第k+1次)检测第一模型参数不稳定,则获得的时长可以为2/2=1个发送周期时长。若第7次(第k+2次)检测第一模型参数稳定,则获得的预设时段的时长可以为2/2+1=2个发送周期时长。如图6所示,为本申请实施例提供的又一种基于模型训练的通信方法的流程示意图,该方法可以包括s201-s203:s201、中心服务器接收通信设备发送的第二模型参数取值的更新量。在预设时段内,第二模型参数取值的更新量中不包含第一模型参数取值的更新量。其中,第一模型参数为根据第一模型参数取值的变化量确定稳定的模型参数。确定第一模型参数稳定的过程包括若第一模型参数取值的变化量小于预设阈值,则确定第一模型参数稳定。具体方法可以参见上述步骤s101的相关描述,在此不再赘述。其中,第一模型参数取值的更新量和第二模型参数的更新量由通信设备在进行模型训练的过程中根据用户数据确定。即,通信设备在进行模型训练的过程中会根据用户数据确定模型参数取值的更新量。并且,通信设备会根据模型参数的稳定状态确定需要向中心服务器停止传输的模型参数的取值的更新量。示例性的,在预设时段之后,中心服务器向通信设备发送第一模型参数取值以及接收通信设备发送的第一模型参数取值的更新量。也就是说,中心服务器会根据接收的模型参数取值的更新量判断通信设备是否已经停止传输部分模型参数。若已经停止传输部分模型参数,则中心服务器也会在预设时段内,停止传输这部分通信设备停止传输的模型参数。进而实现双向减少传输的数据量,提高通信效率。其余内容可以参考步骤s101至步骤s103的相关描述,在此不再赘述。s202、中心服务器根据第二模型参数取值的更新量确定第二模型参数更新后的取值。示例性的,中心服务器接收到各个通信设备发送的模型参数取值的更新量后,会对各个通信设备反馈的模型参数的更新量进行平均叠加得到统一的新的模型参数取值。具体获得新的模型参数取值的过程可以参见现有技术,本申请实施例对此不在进行赘述。s203、中心服务器向通信设备发送第二模型参数更新后的取值。在预设时段内,第二模型参数更新后的取值中不包含第一模型参数更新后的取值。示例性的,中心服务器和通信设备之间通过报文传输模型参数取值和更新量。在报文的一种可能的设计中,中心服务器向通信设备发送报文,报文包含第三模型参数更新后的取值与对应的标识位的取值。其中,在预设时段内,第一模型参数更新后的取值对应的标识位的取值用于表示中心服务器未向通信设备传输第一模型参数更新后的取值。在报文的又一种可能的设计中,中心服务器向通信设备发送报文,报文包含第二模型参数更新后的取值与对应的标识位的取值。其中,在预设时段内,第二模型参数更新后的取值不包括第一模型参数更新后的取值,第二模型参数更新后的取值对应的标识位的取值用于表示中心服务器向通信设备传输第二模型参数更新后的取值。其余内容可以参考步骤s101至步骤s103的相关描述,在此不再赘述。示例性的,中心服务器若接收通信设备发送的第二模型参数取值的更新量,需要先向通信设备发送模型参数取值,通信设备才可以根据模型参数取值确定模型参数取值的变化量,进而确定可以传输的第二模型参数取值的更新量,并将第二模型参数取值的更新量发送至中心服务器,故在步骤s201之前,还可以包括步骤s204。s204、中心服务器向通信设备发送第二模型参数取值。示例性的,其余内容可以参考步骤s104的相关描述,在此不再赘述。基于本申请提供的模型训练的通信方法。下面结合具体实验数据,对本申请实施例所提供的技术方案的效果进行说明。将本申请实施例以及现有技术中提供的机器学习的分布式系统中的模型训练方法,在pytorch平台上实现。其中,机器学习的分布式系统中的客户端包含50台通信设备。每台通信设备的配置为m5.xlarge,包含2vcpus,内存8gb,下载带宽为9mbps,上传带宽为3mbps。服务器端为1个中心服务器,配置为c5.9xlarge,带宽为10gbps。在通信设备和中心服务器中安装pytorch平台构成集群,集群信息包括弹性云计算(elasticcomputecloud,ec2)集群。本申请实施例主要从以下三个方面的实验数据结构分析,体现本申请提供的技术方案的有益效果:整体性能,收敛性和开销。其中,实验结果主要与标准的机器学习的分布式系统算法进行比较。训练数据集包括用于识别普适物体的小型数据集cifar-10和关键字定位数据集(keywordspottingdataset,kws)。神经网络模型包括lenet,残差网络(residualnetwork,resnet)18和两层回路(recurrentlayer)的长短期记忆网络(longshort-termmemory,lstm)。其中,lenet和resnet18利用数据集cifar-10训练神经网络模型。两层回路(recurrentlayer)的lstm利用数据集kws训练神经网络模型。第一方面,整体性能的比较。将训练三种神经网络模型的过程,分别采用本申请实施例提供的模型训练的通信方法以及采用现有技术中的模型训练的通信方法,获得的通信设备与中心服务器之间的数据传输总量以及每一次传输的平均时间进行对比。如下表1所示,为数据传输总量的比较。表1如下表2所示,为平均训练时间的比较。表2模型lenetresnet18kws-lstm本申请0.74ms139s1.8s现有技术1.02s158s2.2s改进比例27.45%12.03%18.18%如此,通过上表1和表2中的实验数据可知,本申请实施例提供的技术方案可以有效的减少神经网络模型训练过程中,通信设备与中心服务器之间传输的模型参数的数据量,以及模型参数传输的时间开销。第二方面,收敛性分析。通过对三种神经网络模型的准确率和停止传输的模型参数的数量比例分析,获得如图7所示的lenet的实验数据结果分析图、图8所示的resnet18的实验数据结果分析图和图9所示的kws-lstm的实验数据结果分析图。图7、图8和图9中横坐标表示通信设备和中心服务器之间的通讯轮次,纵坐标表示神经网络模型的准确率或停止传输的模型参数的数量比例。其中的粗实线表示采用本申请技术方案获得的神经网络模型准确率。细实线表示采用现有技术中的技术方案获得的神经网络模型准确率。虚线表示采用本申请实施例的技术方案后,在模型训练过程中停止传输模型参数的数量占所有模型参数的数量的比例。可以看出,采用本申请实施例提供的技术方案中,停止传输部分模型参数后,仍可以在有限次通信轮次后实现模型收敛,精度(准确率)稳定。并且不会降低神经网络模型的精度。第三方面,开销对比。其中,开销包括三种神经网络模型在采用本申请实施例提供的技术方案进行模型训练通信后,产生的时间开销和内存开销,以及相对于现有技术中的模型训练通信方法增加的时间开销比例和内存开销比例。表3模型lenetresnet18kws-lstm时间开销0.009s1.278s0.011s时间开销增加比例1.93%4.50%1.42%内存开销1.2m142mb4.8mb内存开销增加比例0.18%8.51%2.35%根据上表3中的实验数据可以看出,本申请实施例提供的技术方案对于时间开销以及内存开销增加的比例较小,不会对模型训练过程产生过大的影响。综上所述,相对于现有技术中标准的机器学习的分布式系统算法,采用本申请实施例提供的技术方案可以在整体性能上有效减少数据传输总量以及每一次传输的平均时间。并且,不会对神经网络模型精度以及训练过程中产生的开销产生较大的影响。图10示出了上述实施例中所涉及的基于模型训练的通信装置的一种可能的结构示意图。如图10所示,基于模型训练的通信装置1000装置包括:处理单元1001,发送单元1002以及接收单元1003。其中,处理单元1001,用于支持基于模型训练的通信装置1000执行图3中的步骤s101,s102和/或用于本文所描述的技术的其它过程。发送单元1002,用于支持基于模型训练的通信装置1000执行图3中的步骤s102和/或用于本文所描述的技术的其它过程。接收单元1003,用于支持基于模型训练的通信装置1000执行图3中的步骤s103和/或用于本文所描述的技术的其它过程。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能单元的功能描述,在此不再赘述。图11示出了上述实施例中所涉及的基于模型训练的通信装置的一种可能的结构示意图。如图11所示,基于模型训练的通信装置1100包括:接收单元1101,处理单元1102以及发送单元1103。其中,接收单元1101,用于支持基于模型训练的通信装置1100执行图6中的步骤s201和/或用于本文所描述的技术的其它过程。处理单元1102,用于支持基于模型训练的通信装置1100执行图6中的步骤s202和/或用于本文所描述的技术的其它过程。发送单元1103,用于支持基于模型训练的通信装置1100执行图6中的步骤s203和/或用于本文所描述的技术的其它过程。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能单元的功能描述,在此不再赘述。本申请实施例还提供一种芯片系统,如图12所示,该芯片系统包括至少一个处理器1201和至少一个接口电路1202。处理器1201和接口电路1202可通过线路互联。例如,接口电路1202可用于从其它装置接收信号。又例如,接口电路1202可用于向其它装置(例如处理器1201)发送信号。示例性的,接口电路1202可读取存储器中存储的指令,并将该指令发送给处理器1201。当所述指令被处理器1201执行时,可使得基于模型训练的通信装置执行上述实施例中的基于模型训练的通信方法中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。本申请实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在基于模型训练的通信装置上运行时,使得基于模型训练的通信装置执行上述相关方法步骤实现上述实施例中的基于模型训练的通信方法。本申请实施例还提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的基于模型训练的通信方法。另外,本申请的实施例还提供一种装置,该装置具体可以是组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使装置执行上述各方法实施例中的基于模型训练的通信方法。其中,本申请实施例提供的装置、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序指令的介质。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1