Federated Learning
Federated Learning trainiert ein Modell auf vielen Geräten oder in mehreren Organisationen, die ihre Rohdaten lokal speichern und nur Modellaktualisierungen mit einem Server teilen.
Föderiertes Lernen ist eine Methode, ein maschinelles Lernmodell auf vielen Geräten oder in mehreren Organisationen zu trainieren, während die Trainingsdaten dort bleiben, wo sie erfasst wurden. Ein koordinierender Server sendet das aktuelle Modell an die Teilnehmer. Jeder trainiert es mit seinen eigenen Daten und sendet nur die daraus resultierenden Modellaktualisierungen zurück, die zu einem verbesserten gemeinsamen Modell zusammengeführt werden. Google-Forschende prägten den Begriff 2016 in ihrer Arbeit Communication-Efficient Learning of Deep Networks from Decentralized Data. Darin stellten sie den Algorithmus Federated Averaging (FedAvg) für das Training mit Daten vor, die auf den Mobilgeräten der Nutzer bleiben. Wird das Modell zu den Daten gebracht, können Smartphones, Krankenhäuser und Banken aus Informationen lernen, die aufgrund von Datenschutzbestimmungen, Vorschriften wie der DSGVO der EU oder ihrer schieren Größe nicht in einem einzigen Data Lake zusammengeführt werden können.
So funktioniert föderiertes Lernen#
Das Training erfolgt in Runden. Der Server wählt eine Gruppe verfügbarer Clients aus und sendet ihnen die globalen Modellgewichte. Jeder Client führt mit seinen lokalen Daten einige Epochen des Gradientenabstiegs aus und sendet seine aktualisierten Gewichte zurück. FedAvg bildet anschließend den gewichteten Mittelwert der zurückgesendeten Gewichte. Dabei erhält jeder Client einen Anteil entsprechend der Anzahl seiner Trainingsbeispiele. Das Ergebnis wird zum globalen Modell der nächsten Runde. Mehrere lokale Schritte zwischen den Übertragungen verringerten in den FedAvg-Experimenten die Anzahl der Kommunikationsrunden um den Faktor 10 bis 100 gegenüber synchronisiertem stochastischem Gradientenabstieg. Dieser Code simuliert FedAvg für ein lineares Modell mit drei Clients, die unterschiedlich viele Daten haben:
import torch
torch.manual_seed(0)
true_w = torch.tensor([2.0, -3.0])
# Three clients with private datasets of different sizes; raw data never leaves a client
clients = []
for n in (50, 200, 500):
X = torch.randn(n, 2)
clients.append((X, X @ true_w + 0.1 * torch.randn(n)))
global_w = torch.zeros(2)
for r in range(1, 6):
weighted = []
for X, y in clients:
w = global_w.clone()
for _ in range(5): # local gradient descent steps on the client's own data
w -= 0.1 * 2 * X.T @ (X @ w - y) / len(y)
weighted.append(len(y) * w)
# FedAvg: average the client weights, weighted by each client's number of samples
global_w = sum(weighted) / sum(len(y) for _, y in clients)
print(f"round {r}: global weights {[round(v, 3) for v in global_w.tolist()]}")Ausgegeben werden die globalen Gewichte [1.354, -2.023] nach Runde 1, [1.935, -2.898] nach Runde 3 und [1.995, -2.99] nach Runde 5. Sie nähern sich den tatsächlichen Werten [2, -3] an, obwohl der Server nur die Gewichte der einzelnen Clients erhält.
Föderiertes Lernen über Geräte und über Organisationen hinweg#
Föderiertes Lernen wird in zwei Szenarien mit unterschiedlichen Rahmenbedingungen eingesetzt. Beim Training über Geräte hinweg sind Millionen Smartphones oder Sensoren beteiligt, die jeweils nur wenige Daten speichern und oft offline oder im Akkubetrieb sind. Daher wird pro Runde nur ein kleiner Teil von ihnen verwendet, und Ausfälle müssen toleriert werden. Googles Gboard-Tastatur trainiert ihre Modelle zur Vorhersage des nächsten Wortes auf diese Weise. Beim Training über Organisationen hinweg arbeiten einige wenige Einrichtungen wie Krankenhäuser oder Banken zusammen, die jeweils große Datensätze auf zuverlässigen Servern speichern. In der Studie zur föderierten Tumorsegmentierung trainierten 71 Gesundheitseinrichtungen auf sechs Kontinenten ein Modell zur Segmentierung von Glioblastomen anhand von 25.256 MRT-Aufnahmen von 6.314 Patienten, ohne diese Aufnahmen untereinander auszutauschen. Das föderierte Modell grenzte den chirurgisch behandelbaren Tumor um 33 % besser ab als ein Modell, das mit öffentlichen Daten trainiert wurde. Welches Szenario geeignet ist, hängt davon ab, wo die Daten gespeichert sind:
Dasselbe Verfahren funktioniert auch mit Bildverarbeitungsmodellen: Jedes Krankenhaus, jede Fabrik und jedes Geschäft kann die aktuellen globalen Gewichte von YOLO26 laden, sie mit den eigenen Bildern feinabstimmen, indem der standardmäßige Ultralytics-YOLO-Trainingsmodus verwendet wird, und nur die aktualisierten Gewichte zur Mittelwertbildung an den Server zurücksenden. Open-Source-Frameworks wie Flower und NVIDIA FLARE übernehmen für beide Szenarien die Auswahl der Clients, die Kommunikation und die Aggregation.
Datenschutz und Sicherheit#
Daten lokal zu speichern, macht das Training nicht automatisch privat, denn Modellaktualisierungen enthalten Informationen über die Daten, aus denen sie hervorgegangen sind. Angriffe zur Gradienteninversion wie Deep Leakage from Gradients rekonstruierten Trainingsbilder und Beschriftungen aus geteilten Gradienten. Mitgliedschaftsinferenzangriffe prüfen, ob ein bestimmter Datensatz im Training verwendet wurde. Produktionssysteme setzen zwei Schutzmaßnahmen ein. Bei der sicheren Aggregation werden Aktualisierungen verschlüsselt, sodass der Server nur ihre Summe erfährt. Differenzieller Datenschutz begrenzt jede Aktualisierung und fügt abgestimmtes Rauschen hinzu, sodass der Beitrag eines einzelnen Nutzers nicht rekonstruiert werden kann. Google berichtete, dass alle neuronalen Sprachmodelle zur Vorhersage des nächsten Wortes in Gboard, die mit föderiertem Lernen trainiert werden, nun Garantien für differenziellen Datenschutz bieten. Der Server muss sich außerdem vor Clients schützen, die manipulierte Aktualisierungen senden. Robuste Aggregationsregeln wie der koordinatenweise Median begrenzen den Einfluss eines einzelnen Clients. Unterscheiden sich die Daten der Clients stark, etwa wegen unterschiedlicher Scanner in Krankenhäusern, driften die lokalen Modelle auseinander und die Konvergenz verlangsamt sich.
Föderiertes Lernen und verwandte Begriffe#
- Verteiltes Training: Teilt einen zentral gespeicherten Datensatz auf mehrere GPUs in einem Rechenzentrum auf, um schneller zu trainieren. Föderiertes Lernen kann die Daten nicht verschieben. Außerdem sind die Teilnehmer langsamer, weniger zuverlässig und verfügen über unterschiedlich verteilte Daten.
- Geteiltes Lernen: Teilt das Netzwerk selbst zwischen Client und Server auf und tauscht Zwischenausgaben aus. Beim föderierten Lernen hingegen erhält jeder Client das vollständige Modell und es werden Gewichte ausgetauscht.
- Datenschutz: Das übergeordnete Ziel, personenbezogene Informationen zu schützen. Föderiertes Lernen ist eine Methode dafür und wird meist mit differenziellem Datenschutz und sicherer Aggregation kombiniert.
- Edge AI: Führt Modelle auf Geräten aus. Föderiertes Lernen über Geräte hinweg erweitert dieses Konzept, indem es auch auf diesen Geräten trainiert.










