FLUTE - colorful blue and green concentric circles

Project FLUTE

Breaking barriers for Federated Learning research at scale

FLUTE (Federated Learning Utilities for Testing and Experimentation) is a high-performance open-source platform for federated learning research and offline simulations at scale. The vision for FLUTE is to support progress in the state-of-the-art in Federated Learning by providing task-agnostic support for a wide variety of scenarios and cutting-edge algorithms with strong experimental results in a user-friendly environment, while lowering the FL-related entry barriers to data scientists and researchers.  The key differentiator behind FLUTE is the ease of implementing new scenarios for experimentation in core areas of active research—such as optimization, quantization, privacy, and scalability in a robust simulator.

AML Native Integration graph

AML Native Integration

FLUTE’s innovative framework has the advantage of a native AML integration for job submissions, providing a user-friendly interface to setup, track and manage their experiments. AML also allows to rerun/abort crashed jobs, analyze metrics and download models and logs to a local machine. Besides AML, FLUTE also runs seamlessly on stand-alone devices such as laptops and desktop machines, using local GPUs when available

Unlocking FL Research at scale

Federated Learning technology (and FLUTE as part of it) has shown great promise creating a new ecosystem of advanced non-centralized learning, in the service of the customer needs. Learning with privacy, heterogeneity and security constraints is the path towards enterprise-ready ML, advancing our vision of a next-generation enterprise AI platform that supports constrained ML workloads.

infographic table with federated learning details
This diagram shows a payload exchange between a server, inside Worker 0, and clients that live inside Workers 2 and 3. First, the server pushes the central ML model plus the clients’ data to Workers 2 and 3. Then, each client trains the model with their local data. Finally, the clients send the pseudo-gradients of this new model back to the server for aggregation and the creation of a new global model.

Simplifies rapid prototyping

FLUTE aims to provides the ease for plug in novel algorithms and perform proof-of-concept for any given model combination. Some of the features already included in FLUTE are:​

  • FedAvg​
  • Dynamic Gradient Aggregation​
  • Adaptative Optimization​
  • Differential Privacy​
  • Quantization​
  • Dropout and Stale Clients