KI 101
Was ist Federated Learning?

Was ist Federated Learning?
Die traditionelle Methode, um KI-Modelle zu trainieren, besteht darin, Server einzurichten, auf denen Modelle auf Daten trainiert werden, oft durch die Verwendung einer cloud-basierten Rechenplattform. Allerdings ist in den letzten Jahren eine alternative Form der Modellerstellung entstanden, die als Federated Learning bezeichnet wird. Federated Learning bringt maschinelle Lernmodelle zur Datenquelle, anstatt die Daten zum Modell zu bringen. Federated Learning verbindet mehrere Rechengeräte zu einem dezentralen System, das es den einzelnen Geräten, die Daten sammeln, ermöglicht, beim Trainieren des Modells zu helfen.
In einem Federated-Learning-System haben die verschiedenen Geräte, die Teil des Lernnetzwerks sind, jeweils eine Kopie des Modells auf dem Gerät. Die verschiedenen Geräte/Clients trainieren ihre eigene Kopie des Modells mithilfe der lokalen Daten des Clients, und dann werden die Parameter/Gewichte aus den einzelnen Modellen an ein Master-Gerät oder einen Server gesendet, der die Parameter aggregiert und das globale Modell aktualisiert. Dieser Trainingsprozess kann dann wiederholt werden, bis ein gewünschtes Maß an Genauigkeit erreicht ist. Kurz gesagt, die Idee hinter Federated Learning ist, dass keine der Trainingsdaten jemals zwischen Geräten oder zwischen Parteien übertragen werden, nur die Updates im Zusammenhang mit dem Modell.
Federated Learning kann in drei verschiedene Schritte oder Phasen unterteilt werden. Federated Learning beginnt typischerweise mit einem generischen Modell, das als Basis dient und auf einem zentralen Server trainiert wird. Im ersten Schritt wird dieses generische Modell an die Clients der Anwendung gesendet. Diese lokalen Kopien werden dann auf Daten trainiert, die von den Client-Systemen generiert werden, und lernen und verbessern ihre Leistung.
Im zweiten Schritt senden die Clients alle ihre gelernten Modellparameter an den zentralen Server. Dies geschieht periodisch, nach einem festen Zeitplan.
Im dritten Schritt aggregiert der Server die gelernten Parameter, wenn er sie erhält. Nachdem die Parameter aggregiert wurden, wird das zentrale Modell aktualisiert und erneut mit den Clients geteilt. Der gesamte Prozess wird dann wiederholt.
Der Vorteil daran, eine Kopie des Modells auf den verschiedenen Geräten zu haben, ist, dass Netzwerkverzögerungen reduziert oder eliminiert werden. Die Kosten, die mit dem Teilen von Daten mit dem Server verbunden sind, werden ebenfalls eliminiert. Andere Vorteile von Federated-Learning-Methoden umfassen die Tatsache, dass Federated-Learning-Modelle privat sind und die Modellantworten für den Benutzer des Geräts personalisiert sind.
Beispiele für Federated-Learning-Modelle sind Empfehlungsmotoren, Betrugsdetektionsmodelle und medizinische Modelle. Medien-Empfehlungsmotoren, wie sie von Netflix oder Amazon verwendet werden, könnten auf Daten trainiert werden, die von Tausenden von Benutzern gesammelt wurden. Die Client-Geräte würden ihre eigenen separaten Modelle trainieren und das zentrale Modell würde lernen, bessere Vorhersagen zu treffen, auch wenn die einzelnen Datenpunkte einzigartig für die verschiedenen Benutzer wären. Ähnlich könnten Betrugsdetektionsmodelle, die von Banken verwendet werden, auf Mustern von Aktivitäten von vielen verschiedenen Geräten trainiert werden, und eine Handvoll verschiedener Banken könnten zusammenarbeiten, um ein gemeinsames Modell zu trainieren. In Bezug auf ein medizinisches Federated-Learning-Modell könnten mehrere Krankenhäuser zusammenarbeiten, um ein gemeinsames Modell zu trainieren, das potenzielle Tumore durch medizinische Scans erkennen kann.
Typen von Federated Learning
Federated-Learning-Schemata fallen typischerweise in eine von zwei verschiedenen Klassen: Multi-Party-Systeme und Single-Party-Systeme. Single-Party-Federated-Learning-Systeme werden als “Single-Party” bezeichnet, weil nur eine einzige Entität für die Überwachung der Erfassung und des Flusses von Daten über alle Client-Geräte im Lernnetzwerk verantwortlich ist. Die Modelle, die auf den Client-Geräten existieren, werden auf Daten trainiert, die die gleiche Struktur haben, obwohl die Datenpunkte typischerweise einzigartig für die verschiedenen Benutzer und Geräte sind.
Im Gegensatz zu Single-Party-Systemen werden Multi-Party-Systeme von zwei oder mehr Entitäten verwaltet. Diese Entitäten arbeiten zusammen, um ein gemeinsames Modell zu trainieren, indem sie die verschiedenen Geräte und Datensätze nutzen, auf die sie Zugriff haben. Die Parameter und Datenstrukturen sind typischerweise ähnlich über die Geräte hinweg, die den verschiedenen Entitäten gehören, müssen aber nicht genau gleich sein. Stattdessen wird eine Vorverarbeitung durchgeführt, um die Eingaben des Modells zu standardisieren. Eine neutrale Entität könnte eingesetzt werden, um die Gewichte zu aggregieren, die von den Geräten unique für die verschiedenen Entitäten festgelegt werden.
Rahmenwerke für Federated Learning
Beliebte Rahmenwerke, die für Federated Learning verwendet werden, sind Tensorflow Federated, Federated AI Technology Enabler (FATE) und PySyft. PySyft ist eine Open-Source-Federated-Learning-Bibliothek, die auf der Deep-Learning-Bibliothek PyTorch basiert. PySyft soll sicherstellen, dass private, sichere Deep-Learning-Anwendungen über Server und Agenten hinweg mithilfe von verschlüsselter Rechnung möglich sind. Währenddessen ist Tensorflow Federated ein weiteres Open-Source-Rahmenwerk, das auf Googles Tensorflow-Plattform aufbaut. Neben der Möglichkeit, eigene Algorithmen zu erstellen, ermöglicht Tensorflow Federated es Benutzern, eine Reihe von Federated-Learning-Algorithmen auf ihren eigenen Modellen und Daten zu simulieren. Schließlich ist FATE auch ein Open-Source-Rahmenwerk, das von Webank AI entwickelt wurde und das Federated-AI-Ökosystem mit einem sicheren Rechenrahmenwerk ausstatten soll.
Herausforderungen bei Federated Learning
Da Federated Learning noch relativ neu ist, müssen noch eine Reihe von Herausforderungen überwunden werden, damit es sein volles Potenzial entfalten kann. Die Trainingsfähigkeiten von Edge-Geräten, Datenkennzeichnung und -standardisierung sowie Modellkonvergenz sind potenzielle Hindernisse für Federated-Learning-Ansätze.
Die Rechenfähigkeiten der Edge-Geräte bei der lokalen Ausbildung müssen berücksichtigt werden, wenn Federated-Learning-Ansätze entwickelt werden. Während die meisten Smartphones, Tablets und anderen IoT-kompatiblen Geräte in der Lage sind, maschinelle Lernmodelle zu trainieren, behindert dies typischerweise die Leistung des Geräts. Kompromisse müssen zwischen Modellgenauigkeit und Geräteleistung gemacht werden.
Die Kennzeichnung und Standardisierung von Daten ist eine weitere Herausforderung, die Federated-Learning-Systeme überwinden müssen. Supervised-Learning-Modelle erfordern Trainingsdaten, die klar und konsistent gekennzeichnet sind, was schwierig zu tun ist, wenn es um die vielen Client-Geräte geht, die Teil des Systems sind. Aus diesem Grund ist es wichtig, Modelldaten-Pipelines zu entwickeln, die automatisch Labels in einer standardisierten Weise auf Ereignisse und Benutzeraktionen anwenden.
Die Modellkonvergenzzeit ist eine weitere Herausforderung für Federated Learning, da Federated-Learning-Modelle typischerweise länger brauchen, um zu konvergieren als lokal trainierte Modelle. Die Anzahl der Geräte, die an der Ausbildung beteiligt sind, fügt eine Unvorhersehbarkeit hinzu, da Verbindungsprobleme, unregelmäßige Updates und sogar unterschiedliche Anwendungsbenutzungszeiten zu einer erhöhten Konvergenzzeit und verringerten Zuverlässigkeit beitragen können. Aus diesem Grund sind Federated-Learning-Lösungen typischerweise am nützlichsten, wenn sie bedeutende Vorteile gegenüber der zentralen Ausbildung eines Modells bieten, wie z. B. in Fällen, in denen Datensätze extrem groß und verteilt sind.

Photo: Jeromemetronome via Wikimedia Commons, CC By S.A. 4.0 (https://en.wikipedia.org/wiki/File:Federated_learning_process_central_case.png)












