-
Notifications
You must be signed in to change notification settings - Fork 136
Open
Labels
OSCPSecretFlow Open Source Contribution PlanSecretFlow Open Source Contribution Plangood first issueGood for newcomersGood for newcomers
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和SPU的API,在两个linear_model实现(pla
和sgd_classifier
)中增加早停机制,并且使用SPU在密态下运行;
- 任务名称:在 SPU 中的两个 linear_model 中增加早停机制
- 技术方向:SPU/SML
- 任务难度:热身🌟
- 任务预估完成时间:2周
- 任务 Reviewer:deadlywing
详细要求
- 安全性(尽量少 reveal)
- 功能性:
- AP I参考 https://github.com/secretflow/spu/blob/main/sml/linear_model/logistic.py** 中对早停的设计(具体名称视具体情况而定,只要能准备表达意思即可)**
PLA
需要同时实现基于hinge_loss和weight的早停,sgd_classifier
至少需要实现基于weight的早停
- 正确性:包含 simulator 跑出的实验数据并且和明文程序比较,结果相近;需要验证早停确实生效,且精度不受影响。
- 代码规范:Python 代码需要使用 black+isort 进行格式化(流水线包含代码规范检查卡点)
- 提交说明:关联该 issue 并提交代码至
- 特殊说明:若某个特性有特殊的限制,如需要 FM128,需要更多 fxp 等需要在注释文档中明确说明
能力要求
- 熟悉经典的机器学习算法
- 熟悉 JAX 或 NumPy,可以使用 NumPy 实现算法
操作说明
- 在实现早停之前,请确保已经完全理解:
- 操作指引: 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 Plangood first issueGood for newcomersGood for newcomers