Page 32 - 《软件学报》2020年第10期
P. 32

3008                                  Journal of Software  软件学报 Vol.31, No.10, October 2020

             •  用户隐私保护:由于终端设备没有任何数据上传操作,所有数据在本地终端设备上产生、存储并消耗,极
         大地减小了隐私泄露的风险.相对应地,类似联邦式的机制依旧需要上传与用户隐私间接相关的数据(如模型更
         新梯度),依旧存在隐私泄露的风险.从最终用户的角度出发,将数据保留在本地显然更容易让人接受,更利于各
         国数据保护条例的实施.
             •  个性化模型:自治式学习的过程是利用每个终端上产生的数据训练各自的模型,这个模型会被部署于服
         务该特定的用户,这意味着模型是为每个用户定制化训练学习得到的.在很多场景下,用户的行为习惯(如输入
         法,语音助手)各异,一个全局统一的、由集中式或联邦式训练出的全局模型无法很好地服务于不同用户,为此需
         要由自治式学习获得的个性化能力.
             •  更强的扩展性:自治式学习意味着每一台新接入的设备都会提供自己的计算存储资源用于模型的训练,
         而云端无需提供更多的硬件资源,因此具有很强的扩展性.而集中式/联邦式的学习模式则要求云端为新接入的
         终端设备提供更多的硬件支持,包括计算、存储、网络带宽,对于用户量巨大的应用而言,这会带来极大的经济
         开销.
             事实上,传统观点认为,用户隐私和用户个性化很难同时达到                     [15] ,例如推荐系统,因为两者在本质上存在着
         矛盾.自治式学习通过充分利用终端设备本地的计算能力,在某种程度上可以解决这个问题.
             挑战:实现一个自治式学习系统的挑战主要存在于两个方面:终端设备本地数据量不足与终端计算力不足.
         首先,训练机器学习模型,尤其是神经网络模型需要大量的数据,而每个终端设备上的训练数据往往有限,在不
         足量的条件下训练模型可能导致模型无法收敛的问题,无法得到高质量的模型.其次,模型的训练需要大量的计
         算资源,而终端设备往往计算能力有限,并且考虑到终端设备的复杂运行环境和用户的交互,无法在任意时间用
         于模型训练.一个直接的问题是:当一个新的模型结构被设计出来,分发到各个终端设备后,需要多久才能完成
         训练并用于部署?
             可行性分析:离线模型训练是一种最直接的自治学习方式,即客户端从云端获取一个新的模型结构后,选择
         适宜的时机对该模型进行训练,完成后用于部署.这里,“适宜”的训练时机主要指的是不会影响用户的使用体验.
         在大部分联邦学习系统中          [16] ,模型的训练被要求只在满足以下条件时才会进行:(1)  设备充电;(2)  设备屏幕关
         闭(即没有被用户交互使用);(3)  设备处在不计费的网络环境下(如 WiFi).对于自治学习而言,由于没有模型上传
         的需求,因此条件 3 可以被省去.但即便如此,这些苛刻的条件仍然极大地限制了终端设备可以参与离线训练的
                                                    时间.我们发现,现有的工作缺乏相关的真实用户数据支
                                                    持这种离线的深度学习训练模式.为此,我们采集了近
                                                    1 500 名真实用户使用智能手机的行为数据,包括这些设
                                                    备上硬件状态(网络状态、充电状态、屏幕状态)的转变.
                                                        图 2 展示了用户行为数据的分析结果.其中,横坐标
                                                    代表单个终端每天可用于模型训练的时间,即满足上述
                                                    系统状态条件的时长;纵坐标代表该时长在不同设备与
                                                    用户上的累积分布函数 CDF.我们发现,每个用户每天可
                                                    用于自治式训练的时间约为 120 分钟(中位数),而联邦学
                                                    习的时间为 60 分钟(中位数),原因是联邦学习对设备参
            Fig.2    The trainable time per day under federated   与训练所应具备的条件要求得更加苛刻,即必须满足设
                  learning and autonomous learning   备处于不计费的网络环境下这一条件.我们认为,120 分
           图 2   联邦学习与自治学习下,单个移动终端每天
                                                    钟的时间通常足以完成大量的模型训练任务,结合我们
                     可用于模型训练的时间
                                                    在下文提出的 AutLearn 系统与其优化技术,足以实现自
         治式学习的目的.我们将在第 4.3 节中具体介绍自治学习在终端设备上的计算开销.
   27   28   29   30   31   32   33   34   35   36   37