DeltaML/federated-learning-poc

GitHub: DeltaML/federated-learning-poc

一个隐私保护的联邦学习框架概念验证,允许多方在不共享数据的情况下协作训练机器学习模型。

Stars: 14 | Forks: 2

# DeltaML/联邦学习-概念验证 [![构建状态](https://travis-ci.com/DeltaML/federated-learning-poc.svg?branch=master)](https://travis-ci.com/DeltaML/federated-learning-poc) [![覆盖率状态](https://coveralls.io/repos/github/DeltaML/federated-learning-poc/badge.svg?branch=master)](https://coveralls.io/github/DeltaML/federated-learning-poc?branch=master) 此仓库包含一个联邦学习框架实现的概念验证。 ## **重要提示:** **本仓库中的代码已被分割并迁移至多个独立仓库**,每个仓库对应平台中的一个组件。该平台利用联邦学习训练模型以保护隐私,采用同态加密来保障模型安全,并使用智能合约向每位平台参与者支付其完成的工作报酬,而无需依赖第三方。 完整项目的详细说明可参见: **当前相关仓库如下:** - **模型购买方:** - API:[https://github.com/DeltaML/model-buyer](https://github.com/DeltaML/model-buyer) - 用户界面:[https://github.com/DeltaML/model-buyer-ui](https://github.com/DeltaML/model-buyer-ui) - **数据所有者:** - API:[https://github.com/DeltaML/data-owner](https://github.com/DeltaML/data-owner) - 用户界面:[https://github.com/DeltaML/data-owner-ui](https://github.com/DeltaML/data-owner-ui) - **联邦聚合器:** - API:[https://github.com/DeltaML/federated-aggregator](https://github.com/DeltaML/federated-aggregator) - **智能合约:** - [https://github.com/DeltaML/contract](https://github.com/DeltaML/contract) ## **快速入门** 以下说明将指导您在本地机器上获取并运行此项目的副本,以用于开发和测试目的。关于如何在实际生产环境中部署项目,请参阅部署章节。 ### **前置条件** - [Python3](https://www.python.org/download/releases/3.0/) - [Docker](https://www.docker.com/) - [Docker Compose](https://docs.docker.com/compose/) 您可以在 [联邦训练器](https://github.com/DeltaML/federated-learning-poc/blob/master/federated_trainer/README.md) 中查看联邦训练器的说明文档。 **数据所有者的使用与配置** 您可以在 [数据所有者](https://github.com/DeltaML/federated-learning-poc/blob/master/data_owner/README.md) 中查看数据所有者的说明文档。 **模型购买方的使用与配置** 您可以在 [模型购买方](https://github.com/DeltaML/federated-learning-poc/blob/master/model_buyer/README.md) 中查看模型购买方的说明文档。 ## **部署** ## **使用 docker-compose** 首先构建 ``` docker-compose build ``` 然后运行 ``` docker-compose up ``` 运行并扩展数据所有者实例 ``` docker-compose up --scale cte_data_owner= ``` ## **使用 Pycharm** ### **模型购买方** ``` Script Path: .../model_buyer/virtualenv/bin/gunicorn Parameters: -b "0.0.0.0:9090" wsgi:app --preload Working directory: ../model_buyer ``` ### **联邦训练器** ``` Script Path: .../federated_trainer/virtualenv/bin/gunicorn Parameters: -b "0.0.0.0:8080" wsgi:app --preload Working directory: ../federated_trainer ``` ### **数据所有者** ``` Script Path: .../data_owner/virtualenv/bin/gunicorn Parameters: -b "0.0.0.0:5000" wsgi:app --preload Working directory: ../data_owner ``` ## **版本控制** 我们使用 [语义化版本控制](http://semver.org/) 进行版本管理。您可以查看此仓库的 [版本标签](https://github.com/DeltaML/federated-learning-poc/tags) 来了解可用版本。 ## **作者** * **Fabrizio Graffe** - *开发者* - [GFibrizo](https://github.com/GFibrizo) * **Agustin Rojas** - *开发者* - [agrojas](https://github.com/agrojas) 另请参阅参与此项目的 [贡献者](https://github.com/DeltaML/federated-learning-poc/graphs/contributors) 列表。 ## **许可证** 本项目采用 MIT 许可证 - 详情请查阅 [LICENSE.md](LICENSE.md) 文件。
标签:Apex, API开发, Docker, 人工智能, 代码覆盖, 分布式系统, 加密技术, 区块链, 区块链支付, 去中心化, 同态加密, 响应大小分析, 安全计算, 安全防御评估, 开源, 开源框架, 持续集成, 数据所有者, 智能合约, 机器学习, 概念验证, 模型买家, 模型训练, 版权保护, 用户模式Hook绕过, 用户界面, 网络安全, 联邦学习, 联邦聚合器, 请求拦截, 逆向工具, 隐私保护, 隐私机器学习