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

news2024/11/17 8:16:10

目录

一、模块架构

二、模块详解

三、算法协议

四、学习路线


一、模块架构

良好的分层设计可以提高开发效率和可维护性,满足不同用户的需求。隐语从上到下一共分为六层。
●产品层:通过白屏化产品提供隐语整体隐私计算能力的输出,让用户简单直观体验隐私计算,屏蔽隐私计算底层细节,节约开发成本;
●调度层:提供隐私计算任务的编排与资源调度能力;
●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 介绍及开发实践

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1630247.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue2和Vue3的生命周期对比

beforeCreate 、created 两个钩子被setup()钩子来替代。 所有生命周期前面加了on

LeetCode 2385.感染二叉树需要的总时间:两次搜索(深搜 + 广搜)

【LetMeFly】2385.感染二叉树需要的总时间:两次搜索(深搜 广搜) 力扣题目链接:https://leetcode.cn/problems/amount-of-time-for-binary-tree-to-be-infected/ 给你一棵二叉树的根节点 root ,二叉树中节点的值 互不…

vite创建vue项目启动时域名为127.0.0.1修改为localhost不生效——问题解决

今天偶然间想起来年前整的一套vue3的框架,索性跑了一下,结果发现运行后地址为127.0.0.1而非localhost,所以想把域名改一下 找到vite.config.js文件中的export default defineConfig,在server中写入host:localhost 然后通过npm ru…

【Canvas与艺术】绘制美国星条旗

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>使用HTML5/Canvas绘制美国星条旗</title><style type"…

Redis分区指南:如何实现高可用与扩展性

大家好!我是你们的技术小伙伴小米~今天我们要聊一聊Redis分区容错问题中的数据分区这个话题。在大数据量的应用中,合理的数据分区是至关重要的。我们会从Hash、一致性Hash、Codis的Hash槽以及RedisCluster四个方面来探讨。快来一起学习吧! Hash:基础但不稳定 在Redis的分…

力扣HOT100 - 78. 子集

解题思路&#xff1a; class Solution {public List<List<Integer>> subsets(int[] nums) {List<List<Integer>> lists new ArrayList<>(); // 解集lists.add(new ArrayList<Integer>()); // 首先将空集加入解集中for(int i 0; i < n…

极简shell制作

&#x1f30e;自定义简单shell制作 &#xff08;ps: 文末有完整代码&#xff09; 文章目录&#xff1a; 自定义简单shell制作 简单配置Linux文件 自定义Shell编写 命令行解释器       获取输入的命令       字符串分割       子进程进行进程替换 内建命令…

商品计划在服装品牌供应链管理中的突出地位

在服装行业中&#xff0c;商品计划是供应链管理的核心&#xff0c;它影响着产品的设计、生产、分销和销售。一个精准的商品计划能够使品牌在竞争激烈的市场中保持领先地位&#xff0c;同时满足消费者的需求和预期。 商品计划的定义与重要性 定义 商品计划是服装品牌基于市场趋…

梯度下降中学习率的调节与优化技巧

在深度学习和机器学习的世界中&#xff0c;梯度下降算法无疑占据了举足轻重的地位。作为优化算法的核心&#xff0c;梯度下降通过迭代的方式&#xff0c;不断调整模型的参数&#xff0c;以最小化损失函数&#xff0c;进而提升模型的预测性能。而在梯度下降的过程中&#xff0c;…

Linux红帽(RHCE)认证学习笔记-(1)Linux 文件管理

Linux 文件管理 1. Linux下的目录结构 / 是Linux里的根目录 Linux的一级目录 /boot &#xff1a;存放的是系统的启动配置⽂件和内核⽂件/dev &#xff1a;存放的是Linux的设备⽂件/etc&#xff1a;存放的是Linux下的配置文件/home&#xff1a;存放普通用户的家目录/media&am…

15天搭建ETF量化交易系统Day1—数据源模块

搭建过程 每个交易者都应该形成一套自己的交易系统。 很多交易者也清楚知道&#xff0c;搭建自己交易系统的重要性。现实中&#xff0c;从&#xff10;到&#xff11;往往是最难跨越的一步。 授人鱼不如授人以渔&#xff0c;为了帮助大家跨出搭建量化系统的第一步&#xff0c;我…

Edge浏览器新特性深度解析,写作ai免费软件

首先&#xff0c;这篇文章是基于笔尖AI写作进行文章创作的&#xff0c;喜欢的宝子&#xff0c;也可以去体验下&#xff0c;解放双手&#xff0c;上班直接摸鱼~ 按照惯例&#xff0c;先介绍下这款笔尖AI写作&#xff0c;宝子也可以直接下滑跳过看正文~ 笔尖Ai写作&#xff1a;…

Adfind的使用

Adfind是一个使用C语言写的活动目录查询工具&#xff0c;它允许用户轻松地搜索各种活动目录信息。它不需要安装&#xff0c;因为它是基于命令行的。它提供了许多选项&#xff0c;可以细化搜索并返回相关细节。下面讲解Adfind的参数以及其使用。 参数 执行如下命令即可查看Adf…

机器学习周记(第三十六周:语义分割)2024.4.22~2024.4.28

目录 摘要 ABSTRACT 1 FCN 2 双线性插值 3 膨胀卷积 3.1 gridding effect 摘要 本周继续学习了语义分割的内容&#xff0c;主要包括 FCN&#xff08;全卷积网络&#xff09;、双线性插值和膨胀卷积等方面。FCN 通过上采样的倍率可以划分为 FCN-32S、FCN-16S、FCN-8S&…

Unity | 优化专项-包体 | 字体

1. 字体包体占用 常用汉字字体文件大小通常在 10M~12M 左右&#xff0c;大概包含常见汉字 3.5w 个。我国汉字有大约将近十万个&#xff0c;全字库的大小对于游戏包体是灾难性的 在小游戏中&#xff0c;即使是常见汉字&#xff0c;大小也足以影响小游戏总包体&#xff0c;进而…

深入探索计算机视觉:高级主题与前沿应用的全面解析

引言 计算机视觉&#xff0c;作为人工智能领域的一个重要分支&#xff0c;旨在让计算机能够“看”懂世界&#xff0c;理解和解释视觉场景。随着深度学习技术的迅猛发展&#xff0c;计算机视觉已经在许多领域取得了显著的进展&#xff0c;如自动驾驶、安防监控、医疗诊断等。在…

vue使用source map调试

一、开发环境 1、开启配置&#xff1a;devtool: ‘eval-source-map’,跟mode配置平级 效果就是控制台报错行数和源码行数完全一致 二、生产环境 1、在生产环境下&#xff0c;一般要关闭source map&#xff0c;如果只想定位报错的具体行数&#xff0c;且不想暴露源码。此时可…

《苍穹外卖》Day11部分知识点记录(数据统计——图像报表)

一、Apache ECharts 介绍 Apache ECharts是一款基于javascript的数据可视化图标库&#xff0c;提供直观、生动、可交互、可个性化定制的数据可视化图表。 官网地址&#xff1a;https://echarts.apache.org/zh/index.html 效果展示 柱形图饼图折线图 入门案例 1. 在 echart…

CAS机制(Compare And Swap)源码解读与三大问题

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java源码解读-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 目录 1. 前言 2. 原子性问题 3. 乐观锁与悲观锁 4. CAS操作 5. CAS算法带来的…

【算法】组合回溯专题

组合总数 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被…