码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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 介绍及开发实践

  • 相关阅读:
    Python-loguru-跨进程的日志服务器-django
    【每日一题】ARC071D - ### | 前缀和 | 简单
    软件测试——从0开始的ios自动化测试(一)
    MySQL MVCC 多版本并发控制机制 工作原理
    华为云Stack的学习(六)
    聊一聊 Monitor.Wait 和 Pulse 的底层玩法
    【并发编程】为什么Hashtable和ConcurrentHashMap 是不允许键或值为 null 的,HashMap 的键值则都可以为 null?
    PostGIS是否有方法能将一个Polygon面切割成若干份小的Polygon面,且每一份的面积差不多大
    我的创作纪念日
    abc324 e
  • 原文地址:https://blog.csdn.net/niujinya/article/details/138222029
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号