|
9 | 9 | .. |pic3| image:: https://readthedocs.org/projects/fedn/badge/?version=latest&style=flat
|
10 | 10 | :target: https://fedn.readthedocs.io
|
11 | 11 |
|
12 |
| -FEDn |
13 |
| --------- |
| 12 | +FEDn: An enterprise-ready federated learning framework |
| 13 | +------------------------------------------------------- |
14 | 14 |
|
15 |
| -FEDn empowers its users to create federated learning applications that seamlessly transition from local proofs-of-concept to secure distributed deployments. |
| 15 | +Our goal is to provide a federated learning framework that is both secure, scalable and easy to use. We believe that that minimal code change should be needed to progress from early proof-of-concepts to production. This is reflected in our core design principles: |
16 | 16 |
|
17 |
| -Leverage a flexible pseudo-local sandbox to rapidly transition your existing ML project to a federated setting. Test and scale in real-world scenarios using FEDn Studio - a fully managed, secure deployment of all server-side components (SaaS). |
| 17 | +- **Data-scientist friendly**. A ML-framework agnostic design lets data scientists implement use-cases using their framework of choice. A UI and a Python API enables users to manage complex FL experiments and track metrics in real time. |
18 | 18 |
|
19 |
| -We develop the FEDn framework following these core design principles: |
| 19 | +- **Secure by design.** FL clients do not need to open any ingress ports. Industry-standard communication protocols (gRPC) and token-based authentication and RBAC (JWT) provides flexible integration in a range of production environments. |
20 | 20 |
|
21 |
| -- **Seamless transition from proof-of-concepts to real-world FL**. FEDn has been designed to make the journey from R&D to real-world deployments as smooth as possibe. Develop your federated learning use case in a pseudo-local environment, then deploy it to FEDn Studio (cloud or on-premise) for real-world scenarios. No code change is required to go from development and testing to production. |
| 21 | +- **Cloud native.** By following cloud native design principles, we ensure a wide range of deployment options including private cloud and on-premise infrastructure. Reference deployment here: https://fedn.scaleoutsystems.com. |
22 | 22 |
|
23 |
| -- **Designed for scalability and resilience.** FEDn enables model aggregation through multiple aggregation servers sharing the workload. A hierarchical architecture makes the framework well suited borh for cross-silo and cross-device use-cases. FEDn seamlessly recover from failures in all critical components, and manages intermittent client-connections, ensuring robust deployment in production environments. |
| 23 | +- **Scalability and resilience.** Multiple aggregation servers (combiners) can share the workload. FEDn seamlessly recover from failures in all critical components and manages intermittent client-connections. |
24 | 24 |
|
25 |
| -- **Secure by design.** FL clients do not need to open any ingress ports, facilitating distributed deployments across a wide variety of settings. Additionally, FEDn utilizes secure, industry-standard communication protocols and supports token-based authentication and RBAC for FL clients (JWT), providing flexible integration in production environments. |
26 |
| - |
27 |
| -- **Developer and data scientist friendly.** Extensive event logging and distributed tracing enables developers to monitor experiments in real-time, simplifying troubleshooting and auditing. Machine learning metrics can be accessed via both a Python API and visualized in an intuitive UI that helps the data scientists analyze and communicate ML-model training progress. |
| 25 | +- **Developer friendly.** Extensive event logging and distributed tracing enables developers to monitor the sytem in real-time, simplifying troubleshooting and auditing. |
28 | 26 |
|
| 27 | +We provide a fully managed deployment free of charge for for testing, academic, and personal use. Sign up for a `FEDn Studio account <https://fedn.scaleoutsystems.com/signup>`__ and take the `Quickstart tutorial <https://fedn.readthedocs.io/en/stable/quickstart.html>`__. |
29 | 28 |
|
30 | 29 | Features
|
31 | 30 | =========
|
32 | 31 |
|
33 |
| -Core FL framework (this repository): |
| 32 | +Federated learning: |
34 | 33 |
|
35 | 34 | - Tiered federated learning architecture enabling massive scalability and resilience.
|
36 | 35 | - Support for any ML framework (examples for PyTorch, Tensforflow/Keras and Scikit-learn)
|
37 | 36 | - Extendable via a plug-in architecture (aggregators, load balancers, object storage backends, databases etc.)
|
38 | 37 | - Built-in federated algorithms (FedAvg, FedAdam, FedYogi, FedAdaGrad, etc.)
|
39 |
| -- CLI and Python API. |
| 38 | +- UI, CLI and Python API. |
40 | 39 | - Implement clients in any language (Python, C++, Kotlin etc.)
|
41 | 40 | - No open ports needed client-side.
|
42 |
| -- Flexible deployment of server-side components using Docker / docker compose. |
43 | 41 |
|
44 | 42 |
|
45 |
| -FEDn Studio - From development to FL in production: |
| 43 | +From development to FL in production: |
46 | 44 |
|
47 | 45 | - Secure deployment of server-side / control-plane on Kubernetes.
|
48 |
| -- UI with dashboards for orchestrating experiments and visualizing results |
| 46 | +- UI with dashboards for orchestrating FL experiments and for visualizing results |
49 | 47 | - Team features - collaborate with other users in shared project workspaces.
|
50 | 48 | - Features for the trusted-third party: Manage access to the FL network, FL clients and training progress.
|
51 | 49 | - REST API for handling experiments/jobs.
|
52 | 50 | - View and export logging and tracing information.
|
53 | 51 | - Public cloud, dedicated cloud and on-premise deployment options.
|
54 | 52 |
|
55 |
| -Available clients: |
| 53 | +Available client APIs: |
56 | 54 |
|
57 | 55 | - Python client (this repository)
|
58 | 56 | - C++ client (`FEDn C++ client <https://github.com/scaleoutsystems/fedn-cpp-client>`__)
|
|
0 commit comments