IEEE Guide for Architectural Framework and Application of Federated Machine Learning
原文链接:https://ieeexplore.ieee.org/document/9382202
下载链接:
摘要
联邦学习定义了一个新的机器学习框架,这个学习框架允许建立一个共同模型,这个模型的数据可以分布在不同的组织者或者设备中,该指导构建了一个跨组织和设备的模型建立和数据使用的蓝图,并且满足隐私、安全和监管的需求。定义了联邦机器学习的体系结构框架和应用指南,包括联邦机器学习的描述和定义;以及各类的应用场景,性能评价以及相关的监管要求。
一些标准文件和免责声明
IEEE标准文档可在重要通知和法律免责声明的约束下使用,这些通知和免责声明,或对本页的引用(https://standards.ieee .org/ipr/disclaimers.html)
篇幅有限就不详细介绍了
Introduction
数据隐私和信息安全对大数据和人工智能提出了重大挑战,因为这些community越来越多地承受着遵守监管要求的压力,如欧盟的《通用数据保护条例》。在当前的监管框架下,大数据应用中的许多常规操作,例如合并来自不同来源的用户数据以构建机器学习模型,都被认为是非法的。联邦机器学习的目的是提供一个可行的解决方案,使机器学习应用程序能够以一种分布式的方式利用数据,不直接交换原始数据,也不允许任何一方推断其他方的私人信息。联邦机器学习有望促进和促进多方合作,其中一些方是数据源所有者,从而保护用户隐私和信息安全。本指南将在不违反法规或道德的情况下促进分布式数据源的使用。
1 Overview
公司和组织正在收集越来越详细的用户信息。一方面,机器学习技术利用这些信息来改进产品、服务,并且人们一致认为,最好是通过属于不同组织的原始数据来提取有价值的信息。另一方面,由于潜在的误用和对抗性攻击,在分布式机器学习范式中保护数据隐私和安全可能面临严重挑战。联邦机器学习(FML)是一种技术,旨在通过集体利用每个数据所有者所在位置的数据,在不损害用户隐私和信息安全的情况下,建立和使用机器学习模型。从业人员可以从联邦机器学习标准中受益,该标准有助于保护用户数据隐私和安全,同时,通过先进的机器学习技术支持对原始数据的高效、灵活和可伸缩处理。
1.1 Scope
联合机器学习是一个技术框架,它允许通过跨不同组织或设备拥有的存储库分布的数据集体构建和使用机器学习模型。在促进建立联合机器学习模型的同时,该框架还旨在保护隐私、提高安全性,并满足有关数据使用的监管要求。本标准定义了联邦机器学习的体系结构框架和应用指南,包括以下内容:
- 联邦机器学习的描述和定义
- 联邦机器学习技术的类别和每个类别适用的应用场景
- 关于联邦机器学习性能评价标准的一组度量
- 满足不同的监管要求的联邦机器学习相关功能
1.2 Purpose
数据隐私和信息安全对大数据和人工智能(AI)行业构成了重大挑战,因为这些行业在遵守欧盟《通用数据保护条例》(General Data Protection Regulation)等监管要求方面面临越来越大的压力。大数据应用中的许多日常操作,例如合并来自不同来源的用户数据以建立机器学习模型,在当前的监管框架下被认为是非法的。联机器学习的目的是提供一个可行的解决方案,使机器学习应用程序能够以一种分布式的方式利用数据,不直接交换原始数据,也不允许任何一方推断其他方的私人信息。联邦机器学习有望促进和促进多方合作,其中一些方是数据源所有者,从而保护用户隐私和信息安全。本指南将在不违反法规或道德考虑的情况下促进分布式数据源的使用。
1.3 Word usage
略
2 引用规范
略
3 定义和缩写
3.1 定义
Accuracy: 准确率,正确结果的比例,即正样本或者正确结果的比例
Auditor: 审核员,负责检查FML流程的正确性和性能,以验证流程是否符合法规要求的用户
Coordinator: 统筹员,从不同的数据所有者构建FML模型并向模型用户提供FML模型的用户
Data owner: 数据拥有者,对联邦机器学习中使用的数据集拥有所有权的用户。
Data quality : 数据质量,表示数据集的有用性和有效性的度量。
Data set: 数据集,数据的集合,由数据特性(由特性名称和值组成)、数据标签(用于(半)监督学习)和数据项标识符(ID)组成。
Encryption: 加密,一种将明文转换为密文的算法,以加密密钥作为参数来提供机密性。
Feature: 特征,数据的可测量属性的子集。
Federated machine learning: 联邦机器学习,联邦机器学习(FML)是一个框架或系统,它使多个参与者能够协同构建和使用机器学习模型,而不暴露参与者拥有的原始和私有数据,同时获得良好的性能。
Federated machine learning model: 联邦机器学习模型,联邦机器学习系统的模型训练过程的结果。学习的模型可以用于对新数据进行某些机器学习推理任务,如分类、识别、预测和推荐等。
Label: 标签,用于(半)监督学习的一种与数据特征子集相关联的公共属性。
Model user 模型使用者,在各种任务中使用FML模型的用户
Outcome:结果,FML系统根据新数据进行推理的结果
Payment scheme:支付方案,支付方案是决定向数据所有者和模型用户转移支付的函数。
Precision: 准确性,结果的正样本在所有数据中的比例
Raw data: 原始数据,原始数据是由数据所有者获得和维护的数据集的集合。该数据集包含用户和数据所有者的私人信息,需要保护。原始数据也称为私有数据,强调隐私保护的必要性。
Transfer payment: 转移支付,协调程序向数据所有者和模型用户支付或收费的货币支付。
User:用户,涉及FML的个人、实体、政党/参与者或机构。用户可以扮演协调者、数据所有者、模型用户或审计员的角色。需要注意的是,一个用户可以同时扮演多个角色。
4 FML参考体系结构
联邦机器学习是一个分布式机器学习框架,允许多个参与者对给定的任务进行协作训练和使用机器学习模型,例如分类、预测和推荐。在这个框架中,不同参与者拥有的所有原始数据都受到安全和隐私保护技术的保护,这些技术可以防止数据被其他参与者篡改和披露或被其他参与者逆向工程。
FML框架由数据、用户和系统组成,如图1所示。在该框架中,数据分布在不同的存储库中,并用于构建FML子模型,随后,这些子模型被集成,以一种安全和隐私保护的方式产生一个联合模型。
FML用户可以是具有参与FML框架法律能力的自然人、公司或其他组织。此外,FML用户可以扮演四种角色,分别是数据所有者、模型用户、协调者和审计员(详见第6条)。FML系统由多个功能模块组成,向用户提供FML服务(详见第7条)。
5 FML的数据
5.1 Overview
FML数据通常以一种标准的数据库格式存储,如表格,其中每一行代表一个数据样本,每一列代表样本的一个特征或标签。在监督学习中,一个完整的训练数据集由特征 X X X和标签 Y Y Y组成,特征属性集合通常用一个特征向量 ( X 1 , X 2 , … , X n ) (X_1, X_2,…,X_n) (X1,X2,…,Xn)来表示。此外,每个数据样例都关联一个惟一的样例ID。在FML系统中,来自多个数据集的数据可能在样本id和/或特征属性中有重叠。根据样本id或特性的重叠程度,联邦机器学习框架对以下三种情况感兴趣
- 特征属性 ( X 1 , X 2 , … ) (X_1, X_2,…) (X1,X2,…)的重叠部分远远大于样本id的重叠部分 ( U 1 , U 2 , … ) (U_1, U_2,…) (U1,U2,…)
- 样本id的重叠部分 ( U 1 , U 2 , … ) (U_1, U_2,…) (U1,U2,…)远远大于特征属性 ( X 1 , X 2 , … ) (X_1, X_2,…) (X1,X2,…)的重叠部分
- 样本id的重叠部分 ( U 1 , U 2 , … ) (U_1, U_2,…) (U1,U2,…)和特征属性 ( X 1 , X 2 , … ) (X_1, X_2,…) (X1,X2,…)的重叠部分都很小
在上面的列表中,“实质上更大”(和“显著重叠”)的判断取决于重叠数据是否可以用于构建高质量的机器学习模型,在这种模型中,质量的衡量标准由应用程序决定。
根据不同的应用场景,FML可以分为横向FML、纵向FML和FML迁移学习(如表1所示)。此外,根据所用数据集的格式相同或不同,FML可分为同质FML或异质FML。
5.2 横向FML(Horizontal FML)
横向FML指的是在数据集在特征空间 ( X 1 , X 2 , … ) (X_1, X_2,…) (X1,X2,…)上有明显重叠,而在ID空间上没有明显重叠的情况下构建模型。在这种情况下,可以构建一个FML模型,就像数据被水平分割和连接一样。横向FML可能适用于来自数据所有者的样例id数量太小,无法构建高质量模型的场景。一个FML模型的性能应该比单个数据集建立的子模型更好,并且FML模型的性能非常接近所有数据放在一个位置时建立的模型的性能。
(译者理解)如下图的描述,Data from A和Data from B可能使用不同的样本(Samples),但样本之间彼此有很多类似的Features,比如一家医院的急救病人数据集,这些病人在初诊都会记录大量相似的Features比如体重、年龄、性别、血压、心率、呼吸等,但是每个病人的样本是彼此独立的,这一类数据就适合横向的FML
5.3 纵向FML(Vertical FML)
纵向FML是指数据集在样本空间ID上有明显重叠,而在特征空间上没有明显重叠的情况下建立模型。在这种情况下,可以建立一个FML模型,就好像数据是垂直分割和连接的一样。纵向FML可能适用于没有足够的特性或标签来构建高质量模型的场景。一个FML模型的性能应该比单个数据集建立的子模型更好,并且FML模型的性能非常接近所有数据放在一个位置时建立的模型的性能。
(译者理解)如下图的描述,Data from A和Data from B可能使用不同的样本(Samples),但也有可能使用相同的样本,总是假如还是一群医院患者的例子,在横向FML中,A和B可能训练完全不同批次患者的数据,但是纵向FML中,A和B可能训练的患者是同一批人,但差别是,在横向FML中,A和B训练的Feature是相似的,比如都训练的是基础生命指标,但是在纵向FML中,可能A训练的是这批人的生命指证如心率、血氧、血压等,但是B训练的是这批人的用药和抢救措施,比如是否使用肾上腺素、是否进行了CPR等…
5.4 联邦迁移学习
联邦迁移学习(Federation Transfer Learning, FTL)是针对数据集在样本空间和特征空间上都没有明显重叠的应用场景而设计的一种联邦机器学习技术。FTL利用迁移学习技术在不同的特征领域利用可重用的知识,因此FTL模型仍产生了高质量的结果在弱监督、小数据量的前提下。
6 FML使用者模型
6.1 Overview
在联合机器学习框架中,用户可以扮演四种角色中的任何一种,即数据所有者、模型用户、协调者和审计者。角色如图5所示。注意,一个用户可以同时扮演多个角色.
6.2 FML用户的角色
6.2.1 模型的使用者
FML用户可以与FML协调者(coordinator)建立业务关系。模型用户的活动包括以下操作:
- 要求服务
- 发现原始数据
- 发现服务能力
- 使用联邦学习服务
- 使用FML模型并支付
6.2.2 数据拥有者
联邦机器学习数据所有者为构建FML系统贡献了他们的数据源。他们以保护隐私的方式向FML协调人或彼此提供模型部件,并因这些贡献而获得奖励。与数据所有者相关的活动,包括:
- 收集与准备训练数据
- 参与联邦学习并训练FL模型
- 沟通数据准备的费用
- 沟通中间计算结果
- 维护隐私保护的模型
- 要求得到支付
在FML中,数据所有者不将原始数据传输给其他方,以保证原始数据的隐私得到保护
6.2.3 协调者(coordinator)
联邦机器学习协调器为数据所有者和模型用户发起、维护和提供FML服务。与协调者有关的活动如下:
- 联邦机器学习功能开发包括算法开发、基础设施开发、服务开发
- 计算活动,包括模型训练和测试,安全和隐私保护计算管理(安全协议确定,密钥生成,数据解密),以及其他必要的操作
- 模型管理,包括模型训练与测试、模型meta-信息管理、模型密钥管理等。
- 当一个或多个模型用户发起请求将联邦模型应用到他们自己的数据时,模型管理还包括模型推断,这需要参与FML模型结果计算的其他方拥有的子模型
- 管理活动包括服务访问、服务能力公告和更新、服务元信息管理、参与者meta-信息管理等。
- 数据管理包括元数据(metadata)信息的管理、发布、发现等。
- 经济激励活动包括计算支付给数据所有者和模型用户的费用
6.2.4 审查员(Auditors)
联邦机器学习审查员负责检查FML流程的正确性,并验证该流程是否符合系统在性能、安全性以及法规方面的约束。与审查员相关的活动包括:
- 验证FML过程中涉及的数据源的合法性
- 监视和记录模型构建过程
- 要求协调者解释数据管理、模型管理和经济激励策略
7 FML 系统概述
下图说明了联邦机器学习的参考分层框架,其中模块定义基本联邦机器学习活动。模块根据层进行分组其活动的相关性,而不同层中的模块可以通过交叉层相互交互功能。请注意,根据不同用例中的不同要求,功能模块可能会包含在特定的联合机器学习框架中或从中省略。请注意,任何 FML 系统可以包括封装在参考框架的每一层中的一个或多个模块。
7.2 服务层
服务层根据服务需求实现业务逻辑,并向联合机器学习用户提供服务。服务层包括7.2.1至7.2.4中描述的用户服务模块、参与者协调模块、数据服务模块和任务管理服务模块。
7.2.1 用户服务模型
用户服务模块通过提供以下组件来支持联邦机器学习用户访问和使用 FML 服务:
- 用户界面,如命令行页面、GUI、API,允许联邦机器学习用户与可用的 FML 服务进行交互
- 一种任务提交功能,允许用户提交联合机器学习服务(如建模和推理)的要求
7.2.2 参与者协调模块
参与者协调模块支持服务管理器的活动,并为联合机器学习用户提供服务。它应包括但不限于以下功能:
- 成员管理功能,提供身份管理、权限管理、数据隐私和其他可审计服务
- 监视联邦机器学习系统的实时状态的监视功能
- 问题管理功能,用于跟踪和报告联邦机器学习框架中提出的问题
- 一种安全管理功能,可提高联邦机器学习服务的信息安全性
- 为预定义或自定义事件提供服务的事件管理功能
7.2.3 数据服务模型
数据服务模块提供管理本地数据存储库的功能。它应包括但不限于以下功能:
- 一组导入/导出工具,支持导入/导出数据或模型
- 一种数据发布功能,可帮助数据所有者将其数据贡献给其他方发起的学习任务
- 一种元数据管理方案,用于管理和维护原始数据的元数据
- 评估原始数据贡献的数据贡献评估方案
- 一个可选的经济模块,用于评估数据所有者的成本和模型用户的利益
7.2.4 任务管理服务模块
任务管理服务模块负责FML任务的管理,如建模和推理。它应包括但不限于以下功能:
- 任务提交功能,允许任何用户创建和提交联合机器学习任务
- 查询联邦机器学习任务状态和日志的查询函数
- 处理联邦机器学习任务结束的终止函数
- 一种错误处理函数,用于处理联合机器学习任务的异常终止,或在预设的持续时间内未响应的超时任务
- 一种恢复功能,用于恢复失败或超时的任务
7.3 算法层
算法层实现联合机器学习算法逻辑,并为服务层提供支持。与算法层关联的活动在 7.3.1 到 7.3.7 中进行了描述。
7.3.1 Sample alignment module (样本对齐模块)
样本对齐模块主要用于纵向联合机器学习。该模块识别不同数据源的重叠样本,不公开样本特征信息
该模块具有以下接口
- 输入:不同数据源中所有功能名称的列表
- 输出:不同数据源中重叠的样本名称的列表
7.3.2 Feature alignment module (特征对齐模块)
特征对齐模块主要用于横向联邦机器学习。该模块标识不同数据源的重叠特征,并且不公开非重叠特征和示例 ID。
该模块具有以下接口
- 输入:不同数据源中所有功能名称的列表
- 输出:不同数据源中重叠的特征名称的列表
7.3.3 联邦特征工程模块
联邦特征工程模块可用于横向和纵向联邦机器学习以及联邦迁移学习。该模块识别重叠的输入特征,并确定与学习任务相关的一组新特征。
该模块具有以下接口
- 输入:用于特征工程的数据集
- 数据源中所有重叠要素的列表
- 数据源中所有重叠样本的特征列表
- 输出:数据源特征的更新
请注意,特征工程的结果取决于学习任务。由于联邦机器学习算法的不同应用对功能有不同的要求,因此该模块应根据特定要求进行定制,例如时域特征,空间域特征和频域特征等
7.3.4 联邦机器学习算法模型
联邦机器学习算法模块涵盖了联邦机器学习针对不同应用场景或任务所需的各种基本算法。它应包括但不限于以下算法
- 一组可用于监督学习、半监督学习和无监督学习场景的联合机器学习算法,例如,基于树的算法、深度学习算法 [B22]、联邦机器学习的线性学习算法。
该模型的接口包括以下: - 输入:用于联邦机器学习的数据集
- 数据集中所有重叠样本的列表,控制学习算法的一组超参数
- 输出:(部分)学习的FML模型
请注意,多种多样的FML 模型(如树和神经网络),联邦机器学习算法模块应支持这些模型。
7.3.5 算法评估模块
算法评估模块应根据各种评估措施评估联合机器学习模型。详情请参阅第9条。该模块应包括但不限于以下措施:
- 性能评估
- 效率评估
- 隐私保护评估
- 安全性评估
该模型应具有以下接口
- 输入:学习完成的 FML 模型
- 用于评估 FML 模型的测试数据集
- 测试数据集中所有特征的列表
- 输出:评估结果列表(性能、效率、安全性和隐私性等)
7.3.6 Contribution evaluation module(贡献评估模型)
贡献评估模块应评估每个所有者的原始数据对FML模型整体性能的贡献。
该模块具有以下接口:
- 输入:来自所有数据所有者的训练数据集
- 用于评估贡献的测试数据集
- 数据集中所有重叠特征的列表
- 训练数据集中所有重叠样本的列表
- 控制学习算法的超参数
- 使用的联邦机器学习算法
- 输出:指示所有数据所有者的贡献的分数列表
请注意,此模块的结果应有助于解释 FML 模型的决策逻辑,并指出每个所有者的原始数据所做的贡献。结果还应有助于调查根本问题的根源。
7.3.7 经济激励计算模块
经济激励计算模块应计算对参与者的付款。如果包含,则此模块应具有以下输出:
- 对每个数据所有者的回报
- 每个模型用户的回报
输入应包括每个数据所有者提供的有效数据。此外,评估投入和产出的指标参考了9.5
7.4 操作层
操作层提供联邦机器学习算法所需的基本操作,尽管学习算法种类繁多。该层应使算法开发人员能够基于这些运算符快速实现联邦机器学习算法。运营商包括但不限于以下内容:
- 安全和保护隐私的计算操作,提供一个或多个安全和隐私保护计算的实现
- 聚合各个数据所有者的子模型的聚合器
- 提供激活函数的通用实现的激活操作
- 提供正则化器通用实现的正则化操作
- 提供优化方法通用实现的优化模块
7.4.1 聚合器模块
聚合器应支持完善的聚合方法,例如[B7],但也应根据聚合策略和加密模式进行定制。预计聚合器应遵守安全和隐私保护原则,以防止私人信息泄露。
7.4.2 激活模块
激活功能应包括但不限于以下内容
- 传统机器学习中采用的激活函数,如sigmoid,SoftMax,tanh,softsign
- 联邦激活函数,如基于半同态加密的泰勒扩展sigmoid和基于秘密共享的ReLU
7.4.3 正则化模块
正则器应包括但不限于以下内容:
- 传统机器学习的正则化器,如L1,L2等。
- 联邦机器学习的联邦正则化器,例如基于半同态加密的泰勒 L1 sigmoid 和基于半同态加密的 Taylor L2 sigmoid [B12]
7.4.4 优化模块
优化模块提供了用于提高 FML 模型性能的优化方法的通用实现。优化方法包含损失函数、优化器和梯度处理器
- 损失函数应包括但不限于以下内容:
- 传统机器学习的损失函数,如交叉熵、均方误差和绝对误差均值
- 联邦机器学习的联合损失函数,如基于半同态加密的二分法交叉熵
- 优化程序应包括但不限于以下内容:
- 传统机器学习的优化器,如 SGD、RMSProp、AdaGrad、Adam
- 联邦机器学习的联合优化器
- 梯度处理器应包括但不限于以下内容:
- 传统机器学习的梯度处理器
- 联邦机器学习的联邦梯度处理器
7.4.5 计算操作
安全且保护隐私的计算操作的基本原理应包括但不限于以下内容:
- 参与者的加密或脱敏模块使用其他参与者和协调者支持的算法处理数据,并删除与原始数据相关的信息
- 协调员负责加密,解密和密钥管理,以及将结果传递给相关方
- 协调员负责防止从计算过程中交换的信息推断私人数据
安全且保护隐私的计算运算符的实现方法应包括但不限于以下方法之一或组合
- 同态加密
- 秘密共享
- 不经意传输
- 混淆电路
- 具有短字节或长字节数据的 RSA 加密算法
- 具有混淆的共识算法
- 差分隐私
一般的安全和隐私保护计算运算符包括:
- 算术运算符
- 大小比较运算符
- 逻辑和/或/非运算符
- 矢量计算运算符
7.5 基础架构层
基础架构层为联邦机器学习框架的操作层提供长字节加密数据单元(例如,1024 位)的计算、存储和通信功能。基础架构层支持传统机器学习所需的所有功能。此外,它还包括以下组件和接口,以支持联邦机器学习所需的特殊功能:
- 提供长字节数据单元计算操作能力的计算组件
- 存储组件,它提供长字节数据单元存储操作的功能,以存储加密输出模型和中间数据,以及加密数据导入和导出操作等。
- 通信组件,提供长字节数据单元通信的能力操作。它支持大量数据通信工作负载(例如,1 或 2 个量级)高于传统的分布式 ML),并且迭代数据中心间和数据中心内通信
- 每个组件之间的接口,提供长字节加密数据单元的功能传输和短字节普通数据单元(例如,8位)传输 。
- 与操作层的接口,它提供了长字节加密数据单元的功能传输。
7.5.1 Computing component (计算组件)
计算组件包括以下功能:
- 提供联邦机器学习中的长字节数据单元计算操作服务。
- 提供清晰的FML任务元信息管理方案,以监控联邦机器学习活动的正常运行。FML任务元信息管理方案包括FML业务元计算信息管理、FML参与者元计算信息管理和FML模型元计算信息管理等。
- 提供用于在计算方面开发联邦机器学习算法的 API,例如为联邦机器学习应用程序提供计算资源句柄,以供参考和操作。
7.5.2 存储组件
存储组件包括以下功能:
- 在联邦机器学习中提供长字节数据单元存储操作服务,例如从其他存储系统导入和导出到存储组件的长字节数据
- 具有明确的FML任务元信息管理方案来监控联合机器学习活动的正常运行。FML任务元信息管理方案包括FML服务元存储信息管理、FML参与者元存储信息管理、FML模型元存储信息管理等。
- 为 API 提供存储组件访问功能
7.5.3 通信组件
通信组件包括以下功能:
- 提供联邦机器学习中的长字节数据单元通信操作服务,如迭代数据中心间和数据中心内通信操作等
- 提供服务以支持大量数据通信工作负载(例如,比传统的分布式机器学习高 1 或 2 个数量级)。
- 具有清晰的 FML 任务元信息管理方案,用于监控联合机器学习活动的正常运行。FML任务元信息管理方案包括FML服务元通信信息管理、FML参与者元通信信息管理、FML模型元通信信息管理等。
- 为 API 提供联合机器学习算法开发功能。
7.5.4 各组件之间的接口
每个组件之间的接口传输以下内容:
- 常见联合机器学习参与者中的其他主机的短字节普通数据(例如,8 bit)
- 来自/发送给其他联合机器学习参与者或协调者的长字节加密数据,以及来自/到常见联合机器学习参与者中其他主机的短字节普通数据(例如,8 位)
7.5.5 与操作层的接口
与操作层的接口传输以下内容:
- 联邦机器学习任务的元数据和参数,以及来自操作者的请求以及来自每个组件的联邦机器学习任务的反馈。来自每个组件的反馈可以是长字节加密数据形式或短字节普通数据形式(例如,8位)。
7.6 层间模型
跨层功能与服务层、算法层、运营商层、基础设施层的模块进行交互,提供包括但不限于操作功能、系统安全功能、监控和评估功能等支持功能。
7.6.1 操作功能模块
操作功能模块包括但不限于以下内容:
- 提供联邦机器学习系统所有服务的列表的服务目录
- 策略管理功能,提供联合机器学习服务的定义、更新和访问策略,以及策略管理
- 异常和问题管理功能,提供捕获事件和问题报告的功能
- 一种服务交付管理功能,提供服务交付的管理功能,例如交付的功能接口
7.6.2 系统安全功能模块
系统安全功能模块主要为各功能层、层交互、各参与者提供保密性、完整性、可用性、隐私保护等安全属性的保证,包括但不限于以下内容:
- 帐户管理功能,用于验证所有相关方是否拥有自己的帐户
- 一种身份验证管理功能,用于验证相关方是否经过身份验证并以自己的身份行事
- 授权和安全策略管理功能,用于验证相关方是否只能对授权内容进行操作
- 一种数据完整性管理功能,通过完整性测试和各种规范要求,防止因误操作和恶意损坏而造成的数据完整性损坏
- 一种数据销毁功能,负责完全删除数据以避免信息泄露
- 隐私泄露保护功能,保护敏感信息免遭泄露或非法访问,使信息只能在完全授权的情况下访问
7.6.3 监管和审计模块
监管和审计模块使服务可监管和可审计,以避免基于联邦机器学习参与者的治理要求的隐私暴露。它们作为确定训练预测过程、最终模型和其他指标是否符合以下要求的权威
- 健全完善的监管治理体系
- 作为联盟成员实施监管机构的实时监管
- 制定明确的监管治理规则
- 存储与服务、资源和性能相关的审计信息
8 常见问题
8.1 Overview
对于隐私和安全性、模型性能效率以及联邦机器学习用户应考虑的经济可行性,存在一些问题。联邦机器学习的这些常见问题如图 11 所示,并在本部分中进行了阐述。
8.2 隐私安全
本标准遵循道德和法规要求提出的隐私和安全原则,旨在为联邦机器学习框架的设计、开发和实现提供指南。它还应用作监视和度量联合机器学习系统隐私和安全管理程序的性能、基准测试和审核方面的基准。
8.2.1 数据隐私
坚持隐私原则意味着:
- 联邦机器学习系统应避免信息泄露。从子模型接收到的信息不会泄露源数据信息,攻击者无法在训练或推理阶段通过窃听梯度来推断参与者的信息。
为了保护数据隐私,应考虑安全计算方法,包括但不限于同态加密和部分同态加密。
8.2.2 安全性
坚持安全原则意味着以下几点:
- 联邦机器学习模型应足够强大,可以防御恶意攻击,例如测试时间对抗性示例和训练时间数据中毒
- 联邦机器学习模型应该能够抵御其他威胁,例如后门攻击,这些威胁旨在诱使模型过度拟合到后门模式,从而引发联邦机器学习模型的错误判断或不当行为。
8.2.3 传输安全
坚持传输安全意味着以下几点:
- 在传输过程中,有关原始数据和模型参数的私人信息不会被篡改或披露。攻击者即使捕获了传输的数据,也无法推断出私人信息。
应考虑任何其他类型的加密方法(包括 SSL、TLS、OPE),以防止传输威胁
8.3 效率
计算和通信效率手段:
- 应分析 FML 算法以确定其资源使用情况,以便算法的用户可以及早估计可能的开销并了解适当的资源
- 应根据用例要求优化有关传输的数据量和所使用的计算逻辑的算法设计。
- 如果 FML 算法的资源消耗或计算成本等于或低于某个可接受的水平,则被视为有效。
基准测试可用于帮助衡量算法的相对性能。请参阅 9.3。用于详细说明效率评估。
8.4 经济效益
8.4.1 经济目标
除了考虑数据安全和隐私保护之外,FML可能还需要在经济上激励用户加入并留在联邦中。7.3.7 中定义的经济激励计算模块确定如何奖励联邦机器学习用户(例如数据所有者)的贡献。该模块的目标包括将所有参与者保持在联邦中(个人理性),为协调员带来非负性利润(弱预算平衡),最大化所有数据所有者的总效用(帕累托效率),激励数据所有者提供其所有数据(激励兼容性),以及有效数据的平等单价(公平)。
请注意,很难同时实现所有这些目标。根据不同的用例,FML协调员应选择一个或多个目标进行优化。这些目标的实现应用9.5中的措施来量化。
8.4.2 经济环境(Economic settings)
为了实现经济可行性,FML系统应采取适当的经济激励计划,该计划应包括以下功能:
- 通过新数据集评估模型性能提高的空间
- 奖励数据所有者对模型性能的贡献
- 根据联邦模型用户的使用情况向模型用户收费
- 评估每个数据所有者收集数据集的成本
此外,负责设计适当激励计划的FML协调员应考虑到可能对实现经济目标产生影响的一套经济环境。
信息不对称:FML协调员无法验证数据所有者是否将其所有数据贡献给联合机器学习;它也无法验证数据所有者产生的真实成本。FML协调员应考虑此类信息不对称。
不完整的信息:在某些用例中,FML 协调器可能不确定联邦模型的未来收入。数据所有者可能不确定自己收集数据的成本。模型用户可能不确定联合模型的潜在用途。应考虑到这种不完整的资料。
动态系统演进:在某些用例中,FML 协调器允许用户动态加入或离开联盟。对于这些用例,激励计划也应该是动态的。
信息更新:FML用户是与FML协调员博弈的理性个体。随着时间的推移,FML用户可能会获得新的信息,这可能会导致他们改变对经济激励的评估。此类信息更新可能会改变用户的行为。
9 性能评估
9.1 Overview
引入性能评估方案,确认联邦机器学习生态系统和算法性能的一致性。性能评估方案允许使用学术和工业研究广泛采用的特定指标来评估FML系统,这些指标涉及FML系统的效率,安全性以及性能(参见[B13],[B10],[B19])。请注意,本条款中规定的措施不是排他性的,可以针对9.4.5中描述的影响因素的不同设置制定更多的测试规范。
9.2 隐私与安全
如果FML系统能够有效地防御旨在发现或推断私有FML数据的泄漏攻击,则被视为隐私保护。泄漏攻击的严重程度应根据以下措施进行评估,即:
- 泄漏程度:与原始私有数据的信息量相关的被披露的数据量,例如,用字节测量。此比率范围为 0.0 到 1.0。任选地,所公开的数据与原始数据之间的差异,通过均方误差(MSE)测量,可用于量化泄漏的程度,例如,如[B22]。
- 泄露的影响:从披露的数据中推断出个人身份等私人信息的概率。
为了保护隐私,要求泄露的程度和隐私泄露的可能性都低于某些可接受的水平。可接受水平的规格取决于应用;有关示例,请参阅 A.2。
如果 FML 系统能够通过生成对抗性样本(训练或测试)或将后门植入系统来有效防御旨在篡改 FML 模型行为的攻击,则该 FML 系统被视为防阵列。
应根据以下措施评估FML攻击的严重程度,即:
- 交替(alternation)的程度:被更改的数据或模型的数量,例如,按字节测量,相对于未更改的数据或模型的信息量。此比率范围为 0.0 至 1.0
- 交替的影响:模型性能的变化,相对于具有未更改数据或模型的模型性能。该比率的范围在0.0到1.0之间,并且可以根据需要根据后果的显著性进行加权或归一化。
面对数据或模型中毒攻击,FML系统安全等级应通过上述措施进行评估,0.0表示绝对安全的FML系统,1.0表示濒危系统。在许多应用场景中,通常需要绝对安全的FML系统;有关摘要,请参阅A.2。
在不同用例中实现 FML 系统可能需要不同可接受的安全级别和隐私保护。实施者应记录在不同情况下如何确定这些可接受的水平。有关可接受水平的示例,请参阅 [B22] 和 [B4]。
9.3 模型性能
坚持质量原则意味着验证联邦机器学习系统是否表现良好、最新、充分且与使用目的相关。因此,必须建立评估机制,并通过适当手段定期检查FML模型的性能和质量。
FML模型有望实现与数据集中化模型相当或更具竞争力的性能,后者是根据从各方收集的数据进行训练的模型。FML 模型性能与数据集中模型性能之间的差异(表示为 FML 模型性能差异)应按 9.3.1 中所述进行评估。
9.3.1 FML model performance discrepancy (FML模型性能差异)
评估模型性能差异的过程取决于根据任务选择适当的方法和指标。不同应用中的模型性能可以通过准确性、精密度、召回率、图像质量或与应用任务相关的任何其他度量来衡量。 然而,无论使用何种基础绩效指标,模型绩效差异都是一个关键因素,广泛适用于量化两个利益模型之间的差异。
例如,在上下文分类中的FML模型性能差异,即图12所示的
A
c
c
d
i
s
c
Acc_{disc}
Accdisc,是通过FML模型精度与数据集中模型的精度之间的距离来衡量的,即
A
c
c
d
i
s
c
=
A
c
c
c
e
n
t
−
A
c
c
f
e
d
Acc_{disc} = Acc_{cent} - Acc_{fed}
Accdisc=Acccent−Accfed。而在其他应用中,模型性能的差异可以通过不同的度量来量化,例如,ROC曲线之间的距离,或与FML和数据集中模型相关的概率分布之间的差异。
9.4 计算效率
如果 FML 算法占用了合理的时间量或在硬件上占用了可接受的内存空间,则认为该算法是有效的。启动FML算法后,应根据如下常用的措施评估FML效率
- 训练时间
- 测试时间
- 固有内存使用 (Intrinsic memory usage)
- 辅助内存使用 (Auxiliary memory usage)
9.4.1 训练时间
9.4.2 测试时间
9.4.3 固有内存使用
固有内存使用量 ( M i n t r M_{intr} Mintr) 量化了代码运行的数据所需的内存量,如图 14 所示。
9.4.4 辅助内存使用情况
辅助内存使用量 ( M a u x M_{aux} Maux) 量化了代码所需的内存量,如图 14 所示。
9.4.5 有关效率的因素
FML算法效率的评价应考虑以下几个方面:
- 角色和结构
a) 在评估FML算法时,应解释整个框架结构
b) 算法的评估应按角色或任务进行组织,如 6.2 中所述。 - 数据集
a) 对于每个参与者,应描述其拥有的数据集。
b) 对于横向 FML 模型,应记录数据集的样本大小或批大小。
c) 对于纵向模型,应指定每个平台中的特征数和特征数据类型。 - 硬件
a) 应详细说明硬件信息,包括服务器、CPU、GPU、内存和存储的数量。
b) 对于包括手机、家庭终端设备、远程摄像头等在内的边缘设备,还应指定电池能量和网络资源的成本。
c) 对于纵向模型,应指定每个平台中的特征数和特征数据类型。 - Implementation
a) 应指定编程语言的选择,编译器的选择,编译选项和使用的操作系统
b) 可能影响训练/测试时间和内存消耗的其他因素包括数据对齐、数据粒度、缓存局部性、缓存一致性、垃圾回收、指令级并行性、多线程、并发多任务处理和子例程调用 - 加密和解密
a) 加密和解密会显著增加计算复杂性和所需的内存空间。在报告训练/测试时间和所需内存时,应指定加密/解密算法的选择以及参数设置。线程、并发多任务处理和子例程调用 - 通信效率
a) 通信效率取决于硬件和网络功能。具体而言,在评估 FML 中的通信效率时,应指定数据大小、带宽、网络拓扑、防火墙、交换机和网络类型。 - 部署
a) 虚拟机和容器等部署技术通常用于数据中心。对于 FML,应考虑有关部署技术的一些因素。
i . 确保使用 FML 数据的虚拟机/容器的主机具有物理攻击能力;FML数据可以传输到另一台主机,该主机应具有物理攻击能力并遵守法规要求;
ii. 在 FML 框架中,可以使用特殊硬件进行计算加速、加密/解密、压缩等。在虚拟机/容器上部署这些具有特殊硬件的工作负载时,应考虑硬件效率、兼容性、稳健性和可共享性.
9.5 经济效益
联邦机器学习是一个经济过程,而联合模型用于为模型用户提供各种服务。一旦FML任务完成,为了保持联邦的经济可持续性,协调员应将货币支付从模型用户转移到数据所有者。根据应用场景,应根据9.5.1至9.5.5中概述的一个或多个措施评估经济可行性。
9.5.1 个人理性指数 Individual rationality index (IRI)
个人理性要求向每个数据所有者支付的款项可以支付他们各自提供数据的个人成本。如果合理的数据所有者的成本无法通过付款支付,则不应留在联邦中.
数据所有者
i
i
i的个体理性指标
I
R
i
IR_i
IRi定义如下:
I
R
i
=
1
IR_i =1
IRi=1,如果数据所有者
i
i
i留在联邦中是有益的,否则为0
对于商业实体,当
p
i
−
c
i
≥
0
p_i - c_i \geq 0
pi−ci≥0时,留在联邦中是有益的。对于非营利实体,标准可能不同
理想的情况是,支付方案满足所有参与者的个人理性。对于 一般情况,我们测量个体理性指标的平均值。例如:
个人理性指数
I
R
I
=
(
∑
N
w
i
)
×
I
R
i
IRI=(\sum\limits^N w_i)\times IR_i
IRI=(∑Nwi)×IRi 其中
w
i
w_i
wi是用户定义的权重,表示数据所有者
I
I
I的相对重要性。
w
i
=
d
i
D
w_i=\frac{d_i}{D}
wi=Ddi, 其中
d
i
d_i
di和
D
D
D 表示数据所有者
i
i
i拥有的有效数据,并且
D
=
∑
i
N
d
i
D=\sum\limits_i^N d_i
D=i∑Ndi
个体理性指数从0.0到1.0不等,1.0表示所有参与者都满足个人理性约束。
9.5.2 预算盈余利润率
预算盈余是从模型用户获得的总收入与支付给数据所有者的总付款之间的差额。在实践中,预算盈余可以是协调员获得的利润。预算盈余边际是预算盈余与联邦总收入的比率。例如:
预
算
盈
余
幅
度
=
用
户
从
模
型
接
收
的
总
收
入
−
支
付
给
数
据
所
有
者
的
总
付
款
从
模
型
用
户
处
收
到
的
总
收
入
预算盈余幅度 = \frac{用户从模型接收的总收入 - 支付给数据所有者的总付款}{从模型用户处收到的总收入}
预算盈余幅度=从模型用户处收到的总收入用户从模型接收的总收入−支付给数据所有者的总付款 预算盈余保证金从无穷大到 1.0 不等,0.0 表示盈亏平衡点,正/负值分别表示净利润/亏损
9.5.3 效率指数(EI)
在联邦机器学习中,如果不可能重新分配经济资源以使任何数据所有者过得更好,而不会使至少一个数据所有者的情况变得更糟,则可以实现帕累托效率。当社会盈余(定义为联邦总收入减去数据所有者的总成本)在数据所有者的所有可能行为中最大化时,帕累托效率就会实现。例如:
社会盈余 = 联合收入 - 数据所有者的总成本
效率指数是当所有数据所有者无私合作时,已实现的社会剩余与最大可能社会剩余之间的比率。
效率指数 = 已实现社会盈余 / 最大社会盈余
效率指数从 无穷大到10不等,1.0表示帕累托效率
9.5.4 数据提供率(DOR)
在 FML 中,希望数据所有者将其所有数据提供给联合身份验证,尽管联盟可能会拒绝某些提供的数据。数据提供率定义为所有数据所有者提供的总数据到所有数据所有者拥有的总数据。
数 据 提 供 率 = 所 有 数 据 提 供 者 提 供 的 有 效 数 据 所 有 数 据 提 供 者 拥 有 的 有 效 数 据 数据提供率 = \frac{所有数据提供者提供的有效数据}{所有数据提供者拥有的有效数据} 数据提供率=所有数据提供者拥有的有效数据所有数据提供者提供的有效数据
如果支付方案激励所有数据所有者将其所有数据提供给联邦,则称为激励兼容。当支付方案与激励兼容时,数据提供率为 1.0。
数据提供率从 0.0 到 1.0 不等,1.0 表示提供的所有数据