SecretFlow学习指南(2)学习路径

目录

一、模块架构

二、模块详解

三、算法协议

四、学习路线


一、模块架构

良好的分层设计可以提高开发效率和可维护性,满足不同用户的需求。隐语从上到下一共分为六层。
●产品层:通过白屏化产品提供隐语整体隐私计算能力的输出,让用户简单直观体验隐私计算,屏蔽隐私计算底层细节,节约开发成本;
●调度层:提供隐私计算任务的编排与资源调度能力;
●AI & BI 算法层:屏蔽隐私计算技术细节,提供一些通用的算法能力,比如 MPC 的 LR/XGB/NN,联邦学习算法等;
●设备层:提供了统一的可编程设备抽象,将 MPC、HE 等隐私计算技术抽象为密态设备,将单方本地计算抽象为明文设备;
●安全协议层:提供密码原语能力,支持高安全、高性能的协议;
●硬件层:支持TEE可信硬件。

二、模块详解


隐语各模块的侧重点不同,下表是模块的详解以及相关文档:

层级

模块

模块简介

模块依赖关系

产品层

SecretPad

隐语打造的 AI 与数据分析平台,可快速帮助用户体验隐语核心能力。

SecretPad 集成了 SecretFlow 和 TrustedFlow 的能力,在使用时通过 Kuscia 调用下层模块。

Easy PSI

独立 PSI 轻量级白屏产品,满足用户想要单独使用 PSI 的需求。具有轻量化部署、使用门槛低等优点。

Easy PSI 依赖 PSI 模块中的隐私求交能力,在使用时通过 Kuscia 调用下层模块 PSI 。

调度层

Kuscia

基于 K3s 的轻量级隐私计算任务编写框架,旨在增强基础设施和协议,并提供统一的隐私计算基础

目前已支持 SecretFlow 、TrustedFlow 、 Serving 在 Kuscia 上运行,对 SCQL 的支持正在建设中。

Kuscia Envoy

Envoy 是一个开源的边缘和服务代理。在控制平面中,Envoy 是节点与 Master、Master 与 Master 之间的流量代理,从 DomainRoute Controller 接收路由规则和身份认证、鉴权策略。

Envoy 将发送给互联互通合作方 Master 的请求转发到对端的 Envoy(若对端非 Kuscia 架构,则转发给对端网关),同时对来自节点和互联互通合作方 Master 的请求进行身份认证和鉴权,将合法请求转发给 K3s 的 ApiServer 或 Kuscia Storage 。

AI&BI 算法层

PSI

隐语 PSI 和 PIR 的仓库,为 SecretFlow 、SCQL 、SecretPad 和 Easy PSI 提供隐私求交和隐匿查询功能。

PSI 为 Easy PSI 提供隐私求交能力、为 SecretFlow 提供隐私求交和隐匿查询能力; PSI 依赖于 YACL 的密码能力。

SecretFlow

隐语核心算法模块,为用户提供了丰富的隐私集合求交、隐匿查询、预处理、MPC机器学习、联邦学习(含拆分学习)等核心算法。

SecretFlow 依赖于 PSI 的能力;依赖于Serving,Secretflow 目前的算子可以导出的模型遵循的是 Serving 的设计,这样的模型可以被 Serving 服务化;SecretFlow 将 MPC、HE 抽象为 SPU、HEU 设备。

Serving

用于保护隐私的机器学习模型的服务系统,主要提供模型预测能力。

Serving 依赖了 YACL 中的一些基础功能,为 SecretPad 提供加载模型服务化的能力。

SCQL

将 SQL 语句转换为明密文混合执行图,并在联合数据库系统上执行。是一个允许多个互不信任参与方在不泄露各自隐私数据的条件下进行联合数据分析的系统。

SCQL 依赖 PSI、SPU、HEU、YACL 模块。

TrustedFlow

隐语基于可信硬件的隐私保护引擎,立足于可信执行环境技术,提供受保护和隔离的环境,其中封装了敏感数据,并且提供数据安全存储和计算能力。

TrustedFlow 由 TeeAPPs、CapsuleManager、CapsuleManager SDK 三个模块组成,依赖 TEE 硬件。

设备层

SPU

基于 MPC 的密态计算设备,旨在提供具有可证明安全性的安全计算服务。SPU 可以被视为可编程设备,它并不是为直接使用而设计的。通常我们使用 SecretFlow 框架,该框架使用 SPU 作为底层安全计算设备。

SPU 为 SecretFlow、SCQL 提供安全计算能力,依赖于 YACL 的密码协议。

HEU

基于 HE 的隐语密态设备,实现了高性能的同态加密算法,降低同态加密的使用门槛,使得用户无需专业知识就能利用同态加密算法构建任意程序。

HEU 为 SecretFlow、SCQL 提供同态加密能力,依赖于YACL的密码协议。

安全协议层

YACL

安全密码库,包含其他 SecretFlow 代码所依赖的常见密码学、网络和 io 模块。Yacl 中的加密模块实现了许多最先进的安全计算协议,包括 OT、VOLE、TPRE 等原语以及 PRG、RO 等工具。

YACL 为 PSI、SPU、HEU、SCQL、Serving 提供基础密码能力。

三、算法协议

隐语结合最新的隐私计算领域研究成果,提供了一系列高效、强大的算法。以下是我们支持的主要算法列表:

分类

算法

协议/算法

算法说明

PSI & PIR

PSI

ECDH-PSI (2PC)

基于半诚实 ECDH 的两方 PSI 协议

ECDH-PSI (3PC)

基于半诚实 ECDH 的三方 PSI 协议(存在已知泄漏)

KKRT16-PSI

基于半诚实 OT 的两方 PSI 协议

BC22 PCG-PSI

基于半诚实 PCG/VOLE 的两方 PSI 协议(提高了通信效率)

DP-PSI

差分隐私 PSI 协议

EDCH-OPRF PSI

基于 ECDH-OPRF 的非平衡两方 PSI 协议

RR22 PSI

基于半诚实和 VOLE 的高效 PSI 协议

PIR

SealPIR

基于同态加密的 PIR 协议

Labeled PSI

基于同态加密的 PIR 协议

MPC

LR

SS-SGD

基于秘密分享实现的针对垂直划分数据集的线性回归和二分类回归算法

HESS-SGD

基于同态加密和秘密分享的逻辑回归算法

SS-GLM

基于秘密分享的广义线性回归算法

XGB

SS-XGB

基于秘密分享的 XGB 算法

特征工程

SSVertPearsonR

基于秘密分享实现的探查垂直划分数据集的皮尔逊积矩相关系数算法

SSVertVIF

基于秘密分享实现的探查垂直划分数据集的方差扩大因子算法

SSPValue

基于秘密分享实现的 P-Value 算法

groupby_statistics

获取分组统计信息算法

FL

LR

FL-LR-MIX

基于随机梯度下降的混合联邦逻辑回归算法

XGB

SFXGBoost

水平场景下的 XGB 模型算法

SGB

基于同态加密的纵向联邦树模型算法 SGB

水平 NN

FedSCR

基于梯度下降的分布式联邦学习策略(选择性将部分重要更新回传)

Fed-Prox

基于梯度下降的分布式联邦学习策略(解决数据和设备异构性)

FedSTC

基于梯度下降的分布式联邦学习策略(压缩 client 和 server 之间的通讯)

垂直 NN

DNN

深度神经网络

CNN

卷积神经网络

GNN

图神经网络

垂直 NN -推荐模型

MMoe

基于拆分学习的多任务学习模型算法

BST

基于拆分学习的捕捉用户行为序列信息模型算法

DeepFM

基于拆分学习的 CTR 预估模型算法

TEE

原则上支持任意算法

四、学习路线

欢迎来到隐语的学习之旅,我们为您规划了详细的学习路线,帮助您快速体验隐语能力,由浅入深了解隐语。

分类

学习内容

学习素材

初识隐语

隐语建设背景

通过本课程您可以初步了解隐私计算的概念,隐私计算在数据要素市场的关键作用,隐语建设的背景等内容。

构建纵深分域数据要素市场运营体系
数据要素流通中三权分置法律法规解读
数据要素流转中三权分置框架及实践
隐私计算开源助力数据要素流通

了解隐语

了解隐语的理念、价值、优势、实践以及隐语的后续规划

深度解读隐语
隐语开源社区新年规划及寄语
2023 数据要素发展大会|激发数据价值 共促要素发展,隐语带来多行业实战应用案例

快速开始

SecretPad

从零开始学习使用隐语白屏化产品,通过拖拉拽形式让您快速体验隐私计算,从上层角度了解平台层是如何集成隐语各层能力。

SecretPad 开源发布
SecretPad 从安装部署到使用
SecretPad 快速开始

Kuscia

学习了解 Kuscia 如何进行任务调度,以及如何通过 Kuscia 实现不同算子的自由组合

Kuscia 入门教程-快速开始
Kuscia 入门课程-了解 KusciaJob
Kuscia 架构介绍与部署

SecretFlow

学习通用的隐私计算框架 SecretFlow,快速体验 SecretFlow 的包容性和可扩展性

SecretFlow 简介
SecretFlow 快速开始
SecretFlow 安装部署

开发

SecretPad

SecretPad 前端及后端代码结构并上手实践

SecretPad 前端介绍及开发实践
SecretPad 后端介绍与开发实践

Kuscia

学习 Kuscia 相关概念、Kuscia API

Kuscia 概念
Kuscia API 文档
Kuscia API 介绍

SecretFlow

学习 SecretFlow API 文档、用户指南及组件列表。

SecretFlow API 文档
SecretFlow 组件列表
SecretFlow 开发者文档

实践

SecretPad

学习如何自定义新增 SecretPad 平台层组件。

隐语 SecretPad 平台新增组件

Kuscia

学习如何应用实践 Kuscia,例如学习如何运行一个 FATE 作业。

基于 Kuscia 的隐私计算应用研发实践
如何使用 Kuscia 运行一个SecretFlow 作业
如何运行一个互联互通银联 BFIA 协议作业
如何运行一个 FATE 作业
如何使用 Kuscia API 运行一个 SecretFlow Serving
安全加固方案

SecretFlow

学习如何使用 SecretFlow 实现加载数据、数据预处理、数据编码、隐私求交等全链路流程。

SecretFlow 教程
SPU 框架整体结构
如何基于 SPU 增加协议
HEU 架构、协议介绍及开发实践
TEEU 架构介绍及开发实践

进阶

算法实践

学习隐私求交、逻辑回归、XGBoost 等算法原理,以及这些算法在隐语中是如何实现的。

隐私求交
MPC 机器学习
隐语 LR/GLM 介绍及开发实践
隐语 SSXGB/SGB 介绍及开发实践
SML 入门/基于 SPU 迁移机器学习算法
PPML 入门/基于 SPU 机器学习建模实践
联邦学习
隐语联邦学习在水平场景的开发实践
隐语联邦学习在垂直场景的开发实践
隐语 SplitRec 介绍和开发实践
隐语 SSXGB/SCG 介绍及开发实践

  相关学习:

SecretFlow学习指南(1)功能介绍-CSDN博客

SecretFlow学习指南(2)学习路径-CSDN博客

SecretFlow学习指南(3)框架拆解和使用-CSDN博客

SecretFlow学习指南(4)密态计算设备 SPU-CSDN博客

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值