Table of Contents

Class AsyncFederatedLearningOptions

Namespace
AiDotNet.Models.Options
Assembly
AiDotNet.dll

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

double

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

int

Mode

Gets or sets the async mode.

public FederatedAsyncMode Mode { get; set; }

Property Value

FederatedAsyncMode

RejectUpdatesWithStalenessGreaterThan

Gets or sets the maximum staleness allowed before rejecting an update.

public int RejectUpdatesWithStalenessGreaterThan { get; set; }

Property Value

int

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

int

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

double

StalenessWeighting

Gets or sets the staleness weighting mode for asynchronous updates.

public FederatedStalenessWeighting StalenessWeighting { get; set; }

Property Value

FederatedStalenessWeighting