更新时间:2021-12-17 GMT+08:00
分享

创建联邦实例

登录联邦首页后,可先按照界面上的操作指引进行操作,也可直接按如下步骤创建联邦实例。

  1. 单击“创建联邦实例”,如图1 联邦实例创建界面所示。

    图1 联邦实例创建界面

  2. 在实例创建界面填写相应信息,如图2 参数配置界面所示,参数配置说明,如表1 参数配置所示。

    导入的模型包需要符合《联邦学习模型包规范》中的要求。
    图2 参数配置界面
    表1 参数配置

    区域

    参数名称

    参数说明

    基本信息

    实例名称

    联邦实例的名称,也是联邦实例的标识之一,不同实例通过实例ID区分;

    只能以字母(A~Z a~z)开头,由字母、数字(0~9)、下划线(_)、中划线(-)组成,不能以下划线和中划线结尾。

    联邦类型

    联邦实例类型,当前仅支持“横向联邦”。

    描述

    联邦实例的描述信息,一般用于描述实例的创建或使用场景。

    是否公开

    联邦实例是否公开给所有用户 ,默认为否。

    基础模型配置

    联邦汇聚算法类型

    支持的汇聚算法类型及说明如下:

    • 加权平均

      服务器对边缘侧模型参数汇聚时,采用简单加权平均以获得全局模型。

    • 动量优化

      服务器对边缘侧模型参数汇聚时,采用动量SGD优化机制,提高全局模型的收敛性。

    • 自适应优化

      服务器对边缘侧模型参数汇聚时,采用Adam自适应优化机制,提高全局模型的收敛性。

    • 多梯度下降

      采用多梯度下降算法(MGDA)进行汇聚,提高模型的收敛性。

    • XGBoost

      采用基于联邦学习模式的XGBoost算法进行汇聚,并构建树联邦模型。

    模型评估指标

    选择基础算法使用的模型评估指标:

    • 准确率
    • 精确率
    • 召回率
    • F1 Score
    • F2 Score

    一般选择“准确率”,表示所创建合作模型的准确程度。

    边缘节点运行环境

    选择基础算法使用的运行环境:

    • TensorFlow Lite
    • PyTorch
    • Keras

    本地导入

    从用户本地导入模型包。

    用户在“模型包路径”中打开本地基础模型包路径,导入模型包。

    模型包要求说明:

    1. 包文件必须是单个ZIP格式的压缩文件,包文件名只含字母、数字、中划线、下划线和英文圆括号。
    2. 包文件应不超过100M。
    3. 压缩文件内二级目录下应包含metadata.json,并在metadata.json中正确填写模型包的元数据信息。

    模型包路径

    “基础模型配置”选择“本地导入”时,展示此参数,用于从本地选择待上传的基础模型包。

    从NAIE平台中导入

    从NAIE训练平台的训练项目中选择基础模型包。

    系统会自动从NAIE训练平台中导入已有的联邦学习训练项目,包括项目名称、模型包、描述、创建人、创建时间等信息。系统支持通过项目名称快速检索项目,也可以通过“操作”相应列进入训练平台查看该项目的详细信息。

    如果当前列表找不到合适的项目,用户可以单击“NAIE平台”链接跳转至NAIE训练平台,在NAIE训练平台创建一个联邦学习训练项目,并在该项目下完成模型训练任务训练及训练结果打包。

    客户端策略

    全部

    “客户端策略”选择“全部”,则所有在线边缘节点同时参与训练,建议10个以内。

    注册边缘节点数阈值

    “客户端策略”选择“全部”时,需要设置此参数,表示中心节点允许注册的最大边缘节点数。

    指定数量

    “客户端策略”选择“指定数量”,则需选定需要同时训练边缘数量,该策略适用于大量边缘节点场景。

    随机挑选策略

    “客户端策略”选择“指定数量”时,展示此参数。

    随机挑选策略支持的选项及说明:

    • 随机策略

      随机挑选指定数量的客户参与联邦。

    • 误差减小策略

      引入评价机制,每轮客户端对联邦模型进行评价和反馈,服务端根据反馈的评价值优先挑选能使联邦模型误差越来越小的有效客户端,再从剩余客户端中随机挑选。

    默认为“误差减少策略”。

    每轮训练参与的边缘节点数

    “客户端策略”选择“指定数量”时,展示此参数。手动输入每轮参与联邦的边缘节点数。

    随机选择的客户端比例

    “客户端策略”选择“指定数量”且“随机挑选策略”选择“误差减少策略”时,展示此参数。

    误差减少策略下,该参数设置比例部分按随机准则挑选,剩下的部分按误差减少准则挑选。

    注册边缘节点数阈值

    “客户端策略”选择“指定数量”时,展示此参数。表示中心节点允许注册的最大边缘节点数。

    默认为10000。

    高级选项-联邦算法配置

    通用算法

    启用安全隐私算法

    选用安全隐私算法:

    • 多方计算

      边缘侧模型加噪后传递,服务端无法还原,保证联邦可信。

    • RSA多方计算

      在多方计算基础上,解决边缘节点掉线问题,交互复杂度增加。

    • DP-RSA安全隐私算法

      结合RSA多方计算和差分隐私,在保持模型可用性的同时提供隐私性。

    默认为“否”。

    启用压缩算法

    是指通过放弃部分模型改变量极小的参数传递,减少网络流量。

    选用安全隐私算法:

    • 随机选参
    • 服务端参数冻结

    默认为“否”。

    高级算法

    启用自适应聚合算法

    默认为“否”。

    是指神经网络中最后一层网络参数不参与联邦汇聚。

    启用梯度分叉算法

    默认为“否”。

    当启用梯度分叉法,则会动态调整边缘模型迭代次数,学习效率更高。

    持续学习算法

    默认为“否”。

    当启用了持续学习算法,表示边缘损失函数中增加了惩罚项,记录重要网络参数,克服多轮联邦任务出现的网络遗忘。边缘侧需包含Fisher信息计算过程,并生成ewc.h5文件。

    启用FedProx

    默认为“否”。

    启用FedProx时,边缘损失函数中需增加近端项惩罚,限制边缘模型远离初始全局模型,避免边缘模型发散。

    超参配置

    边缘模型学习率

    边缘模型参数更新学习率。默认为“0.01”。

    此值设置过大易欠拟合,过小易出现过拟合的情形。

    边缘模型迭代次数

    每轮训练边缘节点内迭代次数,值应不小于1的整数。

    每轮迭代次数越多想对训练效果越好;但过大的值也会导致训练时间过长,无意义。

    最小边缘节点数

    一轮联邦学习迭代任务中参与迭代的边缘节点数目设置值,通常不小于2的整数值。

    在实际应用中相当于参与本轮联邦的用户数。

    此值的设置需要与实际注册的边缘节点数一致。

    中心模型汇聚轮次阈值

    默认值为“100”。

    联邦学习任务总共执行的迭代步长数目,即每次在中心节点汇聚的迭代次数。

    中心模型评估间隔

    评估中心模型精度的迭代轮数间隔设置值。

    中心模型学习率

    默认为“1”。

    中心模型参数更新学习率设置值。

    中心模型改变量阈值

    模型收敛判定指标。

    模型改变量小于设置值后停止联邦学习迭代过程。

    学习率衰减系数

    默认为1,表示不改变学习率。

    达到衰减步长,学习率=学习率*衰减系数。

    学习率衰减步长

    表示汇聚轮次。

    在“学习率衰减系数”非设定为1时有意义。

    每次本地训练所选取的样本数

    每次本地训练所选取的样本数

    自定义参数

    自定义参数配置,配置方法为:

    单击“自定义参数”区域,弹出“自定义参数”配置框,单击新增自定义参数,配置“参数类型”、“参数名”及“参数值”。

  3. 设置完成,单击“确认”即完成实例创建。

  4. 在主界面查看创建的实例信息,如图3所示。

    创建完成后,可在主界面查看创建的实例信息,包括实例名称,ID为唯一标识(边缘注册时使用),版本号0.0.1(首次创建联邦实例,版本号为0.0.1),联邦类型及状态。其中版本默认为0.0.1,后续也可在此基础上创建其它版本号的实例;初始创建的实例均为“草稿”状态。

    图3 联邦学习主界面

分享:

    相关文档

    相关产品

close