Coder Social home page Coder Social logo

vic4code / kubefate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from federatedai/kubefate

0.0 0.0 0.0 52.67 MB

Manage federated learning workload using cloud native technologies.

License: Apache License 2.0

Shell 14.46% Go 82.84% Makefile 0.65% Smarty 1.85% Dockerfile 0.19%

kubefate's Introduction

Note: The master branch is constantly in an unstable or even broken state during development. Please use releases instead of the master branch in order to get a stable version.

License

Overview

Federated learning involves multiple parties to collaboratively train a machine learning model, therefore it is usually based on a distributed system. KubeteFATE operationalizes federated learning workloads using cloud native technologies such as containers and Kubernetes. KubeFATE enables federated learning tasks to run across public, private and hybrid cloud environments.

FATE (Federated AI Technology Enabler) is an open-source project to provide a secure computing framework to support the federated AI ecosystem. It implements secure computation protocols based on homomorphic encryption and secure multi-party computation (MPC). It supports federated learning architectures and secure computation of various machine learning algorithms, including logistic regression, tree-based algorithms, deep learning and transfer learning.

KubeFATE supports the deployment of FATE via Docker Compose and Kubernetes. We recommend installing a development environment of FATE via Docker Compose, and a production environment via Kubernetes.

Getting Involved

  • For any frequently asked questions, you can check in FAQ.
  • Please report bugs by submitting issues.
  • Submit contributions using pull requests

Project Structure

KubeFATE
|-- docker-deploy   
|-- k8s-deploy   

docker-deploy: The principle is to quickly set up an federated learning environment . Docker Compose can deploy FATE components on a single host. By using Docker Compose, FATE can be set up for environments of multiple parties which are collaborating in a federated manner. Please refer to Docker Compose Deployment for more details.

k8s-deploy: The deployment approach is designed for a production environment. It is designed with flexibility to operate FATE clusters in different environments.

Major features of KubeFATE k8s-deploy

  • Provide a single executable binary for initializing and managing FATE clusters.
  • Full life cycle management of FATE clusters, including deploying a new FATE cluster, querying an existing FATE cluster, destroying a given FATE cluster, etc.
  • Support customized deployment.
  • Support an instance of KubeFATE to manage multiple instances of FATE deployments.
  • Provide cluster management service with RESTful APIs.

For more details, please refer to Kubernetes Deployment.

Building KubeFATE

To build the binary of KubeFATE (both CLI and KubeFATE service), a Golang development environment is needed.

$ git clone https://github.com/FederatedAI/KubeFATE.git
$ cd KubeFATE/k8s-deploy/
$ make kubefate-without-swag

To build the container image of KubeFATE service, a Docker environment is needed.

$ make docker-build

Specifying an image repository

By default, the installation script pulls the images from Docker Hub during the deployment.

  • For docker compose mode, modify the .env file to specify the image registry.
  • For K8s mode, check this offical doc.

License

Apache License 2.0

kubefate's People

Contributors

asdfsx avatar dependabot[bot] avatar dockerzhang avatar dylan-fan avatar eliaskousk avatar fedml-alex avatar gegose avatar gps949 avatar hainingzhang avatar haozheng95 avatar hyxxsfwy avatar jat001 avatar jiahaoc1993 avatar jingchen23 avatar lalalapotter avatar laynepeng avatar n063h avatar owlet42 avatar pengluhyd avatar sharelinux avatar stone-wlg avatar tanmc123 avatar wfangchi avatar x007007007 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.