Class AsyncFederatedLearningOptions
Configuration options for asynchronous federated learning (FedAsync / FedBuff).
public class AsyncFederatedLearningOptions
- Inheritance
-
AsyncFederatedLearningOptions
- Inherited Members
Remarks
For Beginners: In synchronous federated learning, the server waits for a whole "round" of clients before updating the global model. In asynchronous federated learning, the server can update as client updates arrive (or in small buffers), which can reduce waiting on slow clients.
Properties
FedAsyncMixingRate
Gets or sets the base mixing rate used by FedAsync.
public double FedAsyncMixingRate { get; set; }
Property Value
Remarks
For Beginners: FedAsync blends the current global model with an incoming client update. A value of 0.5 means "move halfway toward the client update" (before staleness weighting).
FedBuffBufferSize
Gets or sets the buffer size for FedBuff (number of updates to accumulate before applying a server update).
public int FedBuffBufferSize { get; set; }
Property Value
Mode
Gets or sets the async mode.
public FederatedAsyncMode Mode { get; set; }
Property Value
RejectUpdatesWithStalenessGreaterThan
Gets or sets the maximum staleness allowed before rejecting an update.
public int RejectUpdatesWithStalenessGreaterThan { get; set; }
Property Value
Remarks
For Beginners: If this is greater than 0, updates older than this threshold are ignored.
SimulatedMaxClientDelaySteps
Gets or sets the maximum simulated client delay (in server steps) for in-memory async training.
public int SimulatedMaxClientDelaySteps { get; set; }
Property Value
Remarks
For Beginners: This setting is used only by the in-memory simulator to model clients that respond late. A value of 0 makes the simulation effectively synchronous.
StalenessDecayRate
Gets or sets the staleness decay rate used by "Exponential" and "Polynomial" weighting.
public double StalenessDecayRate { get; set; }
Property Value
StalenessWeighting
Gets or sets the staleness weighting mode for asynchronous updates.
public FederatedStalenessWeighting StalenessWeighting { get; set; }