yeshuchen323

Results 2 issues of yeshuchen323

- 项目名称:secretflow,中文名字叫“隐语” - 项目地址:https://github.com/secretflow/ - 项目简介 (**100** 字以内):隐私计算框架“隐语”,以安全、开放为核心设计理念,内置MPC、TEE、同态等多种密态计算虚拟设备供灵活选择,提供丰富的联邦学习算法和差分隐私机制。通过良好的分层设计及开箱即用的隐私保护数据分析及机器学习等功能,降低隐私计算开发者和使用者的技术门槛,助力隐私计算更广泛应用到AI、数据分析等场景中,解决隐私保护和数据孤岛等行业痛点。 - 项目截图 (**6**张以内): 一、“隐语”架构设计全貌1.隐语框架设计思想隐私计算是一个新兴的跨学科领域,涉及密码学、机器学习、数据库、硬件等多个领域。根据过去几年的实践经验,我们发现隐私计算技术方向多样,不同场景下有其各自更为合适的技术解决方案隐私计算学习曲线很高,非隐私计算背景的用户使用困难隐私计算涉及领域众多,需要领域专家共同协作隐语的设计目标是使得数据科学家和机器学习开发者可以非常容易地使用隐私计算技术进行数据分析和机器学习建模,而无需了解底层技术细节。 为达到这个目标,隐语提供了一层设备抽象,将多方安全计算(MPC)、同态加密(HE)和可信执行环境(TEE)等隐私计算技术抽象为密文设备, 将单方计算抽象为明文设备。基于这层抽象,数据分析和机器学习工作流可以表示为一张计算图,其中节点表示某个设备上的计算,边表示设备之间的数据流动,不同类型设备之间的数据流动会自动进行协议转换。在这一点上,隐语借鉴了主流的深度学习框架,后者将神经网络表示为一张由设备上的算子和设备间的张量流动构成的计算图。隐语框架围绕开放这一核心思想,提供了不同层次的设计抽象,希望为不同类型的开发者都提供良好的开发体验。在设备层,隐语提供了良好的设备接口和协议接口,支持更多的设备和协议插拔式的接入,我们希望与密码学、可信硬件、硬件加速等领域专家通力合作,不断扩展密态计算的类型和功能,不断提升协议的安全性和计算性能。同时,隐语提供了良好的设备接口,第三方隐私计算协议可作为设备插拔式接入。在算法层,为机器学习提供了灵活的编程接口,算法开发者可以很容易定义自己的算法。2.架构分层总览隐语总体架构自底向上一共分为五层:资源管理层:主要承担了两方面的职责。第一是面向业务交付团队,可以屏蔽不同机构底层基础设施的差异,降低业务交付团队的部署运维成本。另一方面,通过对不同机构的资源进行集中式管理,构建出一个高效协作的数据协同网络。明密文计算设备与原语层:提供了统一的可编程设备抽象,将多方安全计算(MPC)、同态加密(HE)、可信硬件(TEE)等隐私计算技术抽象为密态设备,将单方本地计算抽象为明文设备。同时,提供了一些不适合作为设备抽象的基础算法,如差分隐私(DP)、安全聚合(Secure Aggregation)等。明密文混合调度层:提供了统一的设备调度抽象,将上层算法描述为一张有向无环图,其中节点表示某个设备上的计算,边表示设备之间的数据流动,即逻辑计算图。逻辑计算图由分布式框架进一步拆分并调度至物理节点。AI & BI 隐私算法层:这一层的目的是屏蔽掉隐私计算技术细节,但保留隐私计算的概念,其目的是降低隐私计算算法的开发门槛,提升开发效率。有隐私计算算法开发诉求的同学,可以根据自身场景和业务的特点,设计出一些特化的隐私计算算法,来满足自身业务和场景对安全性、计算性能和计算精度的平衡。在这一层上,隐语本身也会提供一些通用的算法能力,比如MPC的LR/XGB/NN,联邦学习算法,SQL能力等。用户界面层:隐语的目标并不是做一个端到端的产品,而是为了让不同的业务都能够通过快速集成隐语而具备全面的隐私计算能力。因此我们会在最上层去提供一层比较薄的产品API,以及一些SDK,去降低业务方集成隐语的成本。3.架构细节拆解设备与原语层隐语的设备分为物理设备和逻辑设备,其中,物理设备是隐私计算各个参与方的物理机器,逻辑设备则由一个或多个物理设备构成。逻辑设备支持一组 特定的计算算子(Device Ops),有自己特定的数据表示(Device Object)。逻辑设备分为明文和密文两种类型,前者执行单方本地计算,后者执行 多方参与的隐私计算。逻辑设备的运行时负责内存管理、数据传输、算子调度等职责,运行在一个或多个物理设备上。逻辑设备和物理设备不是一对一的关系,一个物理设备 可能同时属于多个逻辑设备。在同一组物理设备上,可以根据不同的隐私协议和参与组合虚拟出不同的逻辑设备。下表是隐语目前暂定支持的设备列表: 设备 | 类型 | 运行时 | 算子...

☀️ 社区地址☀️ https://github.com/secretflow/  🌺 文档地址 🌺 SecretFlow:https://secretflow.readthedocs.io/ SPU:https://spu.readthedocs.io/ 一、“隐语”架构设计全貌1.隐语框架设计思想隐私计算是一个新兴的跨学科领域,涉及密码学、机器学习、数据库、硬件等多个领域。根据过去几年的实践经验,我们发现隐私计算技术方向多样,不同场景下有其各自更为合适的技术解决方案隐私计算学习曲线很高,非隐私计算背景的用户使用困难隐私计算涉及领域众多,需要领域专家共同协作隐语的设计目标是使得数据科学家和机器学习开发者可以非常容易地使用隐私计算技术进行数据分析和机器学习建模,而无需了解底层技术细节。 为达到这个目标,隐语提供了一层设备抽象,将多方安全计算(MPC)、同态加密(HE)和可信执行环境(TEE)等隐私计算技术抽象为密文设备, 将单方计算抽象为明文设备。基于这层抽象,数据分析和机器学习工作流可以表示为一张计算图,其中节点表示某个设备上的计算,边表示设备之间的数据流动,不同类型设备之间的数据流动会自动进行协议转换。在这一点上,隐语借鉴了主流的深度学习框架,后者将神经网络表示为一张由设备上的算子和设备间的张量流动构成的计算图。隐语框架围绕开放这一核心思想,提供了不同层次的设计抽象,希望为不同类型的开发者都提供良好的开发体验。在设备层,隐语提供了良好的设备接口和协议接口,支持更多的设备和协议插拔式的接入,我们希望与密码学、可信硬件、硬件加速等领域专家通力合作,不断扩展密态计算的类型和功能,不断提升协议的安全性和计算性能。同时,隐语提供了良好的设备接口,第三方隐私计算协议可作为设备插拔式接入。在算法层,为机器学习提供了灵活的编程接口,算法开发者可以很容易定义自己的算法。2.架构分层总览隐语总体架构自底向上一共分为五层:资源管理层:主要承担了两方面的职责。第一是面向业务交付团队,可以屏蔽不同机构底层基础设施的差异,降低业务交付团队的部署运维成本。另一方面,通过对不同机构的资源进行集中式管理,构建出一个高效协作的数据协同网络。明密文计算设备与原语层:提供了统一的可编程设备抽象,将多方安全计算(MPC)、同态加密(HE)、可信硬件(TEE)等隐私计算技术抽象为密态设备,将单方本地计算抽象为明文设备。同时,提供了一些不适合作为设备抽象的基础算法,如差分隐私(DP)、安全聚合(Secure Aggregation)等。明密文混合调度层:提供了统一的设备调度抽象,将上层算法描述为一张有向无环图,其中节点表示某个设备上的计算,边表示设备之间的数据流动,即逻辑计算图。逻辑计算图由分布式框架进一步拆分并调度至物理节点。AI & BI 隐私算法层:这一层的目的是屏蔽掉隐私计算技术细节,但保留隐私计算的概念,其目的是降低隐私计算算法的开发门槛,提升开发效率。有隐私计算算法开发诉求的同学,可以根据自身场景和业务的特点,设计出一些特化的隐私计算算法,来满足自身业务和场景对安全性、计算性能和计算精度的平衡。在这一层上,隐语本身也会提供一些通用的算法能力,比如MPC的LR/XGB/NN,联邦学习算法,SQL能力等。用户界面层:隐语的目标并不是做一个端到端的产品,而是为了让不同的业务都能够通过快速集成隐语而具备全面的隐私计算能力。因此我们会在最上层去提供一层比较薄的产品API,以及一些SDK,去降低业务方集成隐语的成本。3.架构细节拆解设备与原语层隐语的设备分为物理设备和逻辑设备,其中,物理设备是隐私计算各个参与方的物理机器,逻辑设备则由一个或多个物理设备构成。逻辑设备支持一组 特定的计算算子(Device Ops),有自己特定的数据表示(Device Object)。逻辑设备分为明文和密文两种类型,前者执行单方本地计算,后者执行 多方参与的隐私计算。逻辑设备的运行时负责内存管理、数据传输、算子调度等职责,运行在一个或多个物理设备上。逻辑设备和物理设备不是一对一的关系,一个物理设备 可能同时属于多个逻辑设备。在同一组物理设备上,可以根据不同的隐私协议和参与组合虚拟出不同的逻辑设备。下表是隐语目前暂定支持的设备列表: 设备 | 类型 | 运行时 | 算子 | 协议...