| commit | 6ed21516de1c58f36dd17a87f34709f976e1e01e | [log] [tgz] |
|---|---|---|
| author | Xin Li <[email protected]> | Sat Sep 07 02:04:37 2024 +0000 |
| committer | Automerger Merge Worker <[email protected]> | Sat Sep 07 02:04:37 2024 +0000 |
| tree | e298dcd669ed5654973f267d7c9699106bb73772 | |
| parent | baf14b4c828d9d08851bce47c5add99e50cf909c [diff] | |
| parent | 5e173a7baa328e844eac1516a566f50215851386 [diff] |
[automerger skipped] Merge 24Q3 to AOSP main am: 5e173a7baa -s ours am skip reason: Merged-In Id3eb609bcb1c60088b07dfe1a5c059d6b4354fe5 with SHA-1 1591b1702a is already in history Original change: https://android-review.googlesource.com/c/platform/external/federated-compute/+/3258592 Change-Id: Ia858b3432586aeb98aad606fd475696aa3fecd85 Signed-off-by: Automerger Merge Worker <[email protected]>
This repository hosts code for executing federated programs and computations.
A federated computation is a set of processing steps that run on a server and set of clients, where each step is either
A federated program is a set of processing steps run by a central coordinator that include one or more invocations of federated computation, transformations of computation results, and releases of aggregate values to the engineer/analyst who invoked the program.
To learn more about these concepts, check out:
At Google, federated programs and computations are authored in TensorFlow Federated, compiled to deployable artifacts, and run in a distributed system consisting of a central coordinator, and a set of devices such as phones. The TFF repository contains infrastructure for authoring and simulating federated programs and computations.
This repository hosts infrastructure for compiling and running federated programs and computations in the cross-device setting. We are actively working on open sourcing the core components of our production infrastructure, with a focus on privacy-sensitive code-paths such as the pipeline for compiling deployable artifacts from TFF computations, client-side processing, and server-side aggregation logic.
As of 12/7/2022, parts of the repository - in particular, code in the client/ directory, and the service & data format definitions in proto/ - are used in production in Google's federated learning infrastructure. Other parts - notably, production server side infrastructure - have not yet been open sourced due to its dependencies on proprietary infrastructure, and we instead provide a reference / example server implementation in demo/ for demonstration purposes.
The best way to get started is to run the end-to-end demo //fcp/demo:federated_program_test, which will spin up example services, clients, and run a federated program; this test will cover the majority of the code in this repository.
This is not an officially supported Google product.
Please refer to the instructions in GETTING_STARTED.md.