-
Notifications
You must be signed in to change notification settings - Fork 136
Open
Labels
OSCPSecretFlow Open Source Contribution PlanSecretFlow Open Source Contribution PlanintermediateSecretFlow Open Source Contribution PlanSecretFlow Open Source Contribution Plan
Description
此 ISSUE 为 隐语开源共建计划(SecretFlow Open Source Contribution Plan,简称 SF OSCP)Phase 5 任务 ISSUE,欢迎社区开发者参与共建~
- 认领前,辛苦确认是否完成报名~
- 更多任务,可查看 「OSCP Phase5 Season of Dev」Project
This ISSUE is one of the tasks of the SecretFlow Open Source Contribution Plan (referred to as SF OSCP) Phase 5. Welcome to join us in building it together!
- Before claiming a task, please make sure you have signed up.
- For more tasks, you can check the "OSCP Phase5 Season of Dev" Project.
任务介绍
基于JAX API实现trustworthiness
算法,并且使用SPU在密态下运行;
- 任务名称:在 SPU 中实现 trustworthiness
- 技术方向:SPU/SML
- 任务难度:进阶🌟🌟
- 任务预估完成时间:4周
- 任务 Reviewer:deadlywing
详细要求
- 安全性(尽量少 reveal)
- 功能性:
- API参考sklearn:https://scikit-learn.org/stable/modules/generated/sklearn.manifold.trustworthiness.html
- 需要实现部分邻域相关的算法功能,这部分代码放在sml/neighbors目录下,同时实现对应的单测和emulations
- 要求至少实现一种metric ('euclidean')
- 正确性:包含 simulator 跑出的实验数据并且和明文程序比较,结果相近
- 代码规范:Python 代码需要使用 black+isort 进行格式化(流水线包含代码规范检查卡点)
- 提交说明:关联该 issue 并提交代码至 https://github.com/secretflow/spu/blob/main/sml/decomposition/tsne.py
- 特殊说明:若某个特性有特殊的限制,如需要 FM128,需要更多 fxp 等需要在注释文档中明确说明
能力要求
- 熟悉经典的机器学习算法
- 熟悉 JAX 或 NumPy,可以使用 NumPy 实现算法
操作说明
- 可参考:
○ https://scikit-learn.org/stable/modules/generated/sklearn.manifold.trustworthiness.html - 操作指引: https://www.secretflow.org.cn/en/docs/spu/main/tutorials/develop_your_first_mpc_application
- 范例:https://github.com/secretflow/spu/blob/main/sml/linear_model/logistic.py
- 可参考隐语 MOOC 2期视频:
- 贡献指引文档:https://github.com/secretflow/spu/blob/main/sml/development.md
Metadata
Metadata
Assignees
Labels
OSCPSecretFlow Open Source Contribution PlanSecretFlow Open Source Contribution PlanintermediateSecretFlow Open Source Contribution PlanSecretFlow Open Source Contribution Plan