收录于合集
#隐语解读20个
#版本更新7个
版本更新总览隐语V0.7.11版本更新:在基础设备层、多方安全计算算法、联邦学习算法等方向,增加了算法或进行了优化。
- 多方安全计算:
- 支持典型金融场景全链路算法,包括各种业务中需要的单方特征功能和评估算法:如评分卡、模型评估、全表统计、特征稳定性(PSI),模型稳定性(PVA)算法等
- ECDH-PSI新增支持SM2、Secp256k1、FourQ等多种椭圆曲线选择
- 联邦学习:
- 垂直场景下,拆分学习支持多方(n>=2)NN联合训练;对于基于Tenserflow的拆分学习模型计算执行图逻辑进行了优化,性能提升数倍
- 水平场景下,水平联邦 XGB算法支持离线预测、模型微调(finetune),支持基于pytorch的神经网络分类和回归算法
- 水平和垂直算法支持差分隐私增强
- 基础设备层:
- HEU开放硬件加速接口和算法向量化调用接口,优化对接加速硬件的性能。
版本核心亮点本次发版重点完善了典型金融场景全链路算法(点击查看“基于MPC的金融风控全链路技术方案”详解),并面向开发者发布配套的交互式教程。完整demo示例请访问:https://secretflow.readthedocs.io/zh_CN/latest/tutorial/risk_control_scenario.html可使用隐语在风控领域进行LR模型和XGB模型的模型研发工作,后续还将陆续开放模型部署和在线/离线模型预测功能。下面就如何基于隐语框架实现典型金融场景全链路功能进行简要介绍,利用一个开源数据集训练一个金融风控场景常用的线性回归和XGB模型,过程中需包含以下几个步骤:1、样本对齐隐私求交(Private Set Intersection)是一种密码学方法,可以获取两个集合的交集,而不泄露任何其他信息。在隐语中,SPU设备支持三种基于半诚实模型隐私求交算法:
- ECDH: 基于公钥密码学;通信量较小,适用于低带宽场景;计算量大,CPU的型号和核数对性能影响比较大。
- KKRT:基于布谷鸟哈希(Cuckoo Hashing)以及高效不经意传输扩展(OT Extension);通信量较大,适用于内网场景;计算量小。
- BC22PCG: 基于随机相关函数生成器;相比ecdh/kkrt16 通信量,计算量更加平衡,适用更多的场景。
2、特征预处理
- 值替换
- 缺失值填充
- WOE分组/分箱转换
- one-hot编码
- 标准化
3、数据分析
- 全表统计
隐语提供了类似于 pd.DataFrame.describe 来展示所有特征的基本统计信息。在特征预处理的过程中,可以不断调用全表统计来关注预处理效果。
- Pearson 相关系数矩阵
计算特征和特征之间,特征和标签之间的相关系数矩阵。
- VIF指标计算
隐语支持VIF的计算来进行多重共线性检验。4、模型训练及预测
- 逻辑回归模型:请参考相关的API文档。
- XGBoost模型:请参考相关的API文档。
API文档地址:https://secretflow.readthedocs.io/zh_CN/latest/api/index.html5、模型评估可利用测试数据集对模型效果进行评估,包括:
- 二分类评估
隐语中对二分类的评估有集成的支持:同时计算 AUC, KS, F1 Score, Lift, K-S, Gain, Precision, Recall 等统计数值, 并提供(基于prediction score的)等频和等距分箱的统计报告和总报告。
- PVA
预测和实际平均值比较。
- P-Value
双方可通过p-value的值来判断参数是否显著,即该自变量是否可以有效预测因变量的变异, 从而判定对应的解释变量是否应包括在模型中。
- 评分卡转换
评分卡设定的分值刻度可以通过将分值表示为比率对数的线性表达式来定义。
代码地址:
https://github.com/secretflow/secretflow/blob/main/docs/tutorial/risk_control_scenario.ipynb
同时,除隐语框架开放的代码,隐语开放平台已上线上述流程功能。欢迎申请试用:隐语开放平台,体验金融全链路流程操作。