Grundlagen der KI

Was ist Federated Learning?

mm
Unite.AI zu deinen bevorzugten Quellen auf Google hinzufügen

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. In den letzten Jahren ist jedoch 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 Training 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 senden dann die Parameter/Gewichte der einzelnen Modelle an ein Master-Gerät oder Server, das die Parameter aggregiert und das globale Modell aktualisiert. Dieser Trainingsprozess kann dann wiederholt werden, bis ein gewünschtes Maß an Genauigkeit erreicht wird. Kurz gesagt, die Idee hinter Federated Learning ist, dass keine Trainingsdaten jemals zwischen Geräten oder 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 Grundlage 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 darin, 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. Weitere Vorteile von Federated-Learning-Methoden sind, dass Federated-Learning-Modelle privat sind und die Modellantworten personalisiert sind für den Benutzer des Geräts.

Beispiele für Federated-Learning-Modelle sind Empfehlungssysteme, Betrugsdetektionsmodelle und medizinische Modelle. Medien-Empfehlungssysteme, wie sie von Netflix (NFLX ) oder Amazon (AMZN ) 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 individuellen 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 könnte.

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 kooperieren, 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 kann eingesetzt werden, um die Gewichte zu aggregieren, die von den Geräten festgelegt werden, die den verschiedenen Entitäten gehören.

Frameworks für Federated Learning

Beliebte Frameworks, 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 Deep Learning über Server und Agenten hinweg privat und sicher ist, indem verschlüsselte Berechnungen verwendet werden. Tensorflow Federated hingegen ist ein weiteres Open-Source-Framework, 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 ein weiteres Open-Source-Framework, das von Webank AI entwickelt wurde und das Federated-AI-Ökosystem mit einem sicheren Rechenframework versorgen soll.

Herausforderungen bei Federated Learning

Da Federated Learning noch relativ neu ist, müssen noch eine Reihe von Herausforderungen überwunden werden, um sein volles Potenzial zu erreichen. 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 müssen bei der Auslegung von Federated-Learning-Ansätzen berücksichtigt 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 erreichen ist, wenn man die vielen Client-Geräte berücksichtigt, die Teil des Systems sind. Aus diesem Grund ist es wichtig, Modelldaten-Pipelines zu entwickeln, die automatisch Kennzeichnungen in standardisierter Weise auf Grundlage von Ereignissen 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 am Training beteiligt sind, fügt eine Unvorhersehbarkeit hinzu, da Verbindungsprobleme, unregelmäßige Updates und sogar unterschiedliche Anwendungsverwendungzeiten 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 dem zentralen Training eines Modells bieten, wie z. B. in Fällen, in denen Datensätze extrem groß und verteilt sind.

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

Blogger und Programmierer mit Spezialisierungen in Machine Learning und Deep Learning Themen. Daniel hofft, anderen zu helfen, die Macht von KI für das soziale Wohl zu nutzen.