Krum Aggregation

Krum is a Byzantine-robust aggregation rule for federated learning that selects the single client update closest to its nearest neighbors — rather than averaging all updates, Krum picks the one that is most consistent with the majority of other updates.

How Krum Works

  • Distances: For each client $i$, compute the sum of distances to its $n - f - 2$ closest neighbors.
  • Selection: Choose the client $i^*$ with the smallest sum of neighbor distances — the "most central" update.
  • Update: Use $g_{i^*}$ as the aggregated gradient (single-point selection, not an average).
  • Robustness: Tolerates $f < (n-2)/2$ Byzantine clients.

Why It Matters

  • Geometric: Krum uses the geometric structure of gradient space — selects the densest cluster.
  • One-Shot: No iterative computation — just distance calculations and a minimum selection.
  • Limitation: Single selection has high variance — Multi-Krum addresses this.

Krum is pick the most agreeable update — selecting the client whose gradient is most consistent with the majority for Byzantine-robust aggregation.

Take krum aggregation further

Ask the copilot about this term, or have our engineers assess it against your process.