Federated Learning ist für alle Situationen geeignet, in denen verschiedene Entitäten von unterschiedlichen geografischen Standorten oder Cloud-Provider ein Analysemodell trainieren möchten, ohne ihre Daten gemeinsam zu nutzen.
Gehen Sie wie folgt vor, um mit Federated Learning zu beginnen:
- Machen Sie sich mit der Terminologievertraut.
- Überprüfen Sie die Architektur für die Erstellung eines Experiments für föderiertes Lernen.
- Führen Sie ein Lernprogramm aus, um schrittweise Anleitungen zum Erstellen eines Experiments für föderiertes Lernen zu erhalten, oder sehen Sie sich Beispiele an.
Terminologie
Terminologie, die in IBM Federated Learning-Schulungsprozessen verwendet wird.
Laufzeit | Definition |
---|---|
Partei | Benutzer, die unterschiedliche Datenquellen beisteuern, um ein Modell gemeinsam zu trainieren. Federated Learning stellt sicher, dass das Training ohne Risiko der Datenexposition zwischen den verschiedenen Parteien stattfindet. Eine Partei muss mindestens über eine Viewer-Berechtigung im watsonx.ai Studio Federated Learning-Projekt verfügen. |
Administrator | Ein Parteimitglied, das das Experiment für föderiertes Lernen konfiguriert, um anzugeben, wie viele Parteien zulässig sind, welche Frameworks verwendet werden sollen, und das RTS (Remote Training Systems) konfiguriert. Sie starten das Federated Learning Experiment und begleiten es bis zum Ende. Ein Administrator muss mindestens die Berechtigung Editor im watsonx.ai Studio Federated Learning Projekt haben. |
Fernes Trainingssystem | Ein Asset, das zur Authentifizierung einer Partei beim Aggregator verwendet wird. Projektmitglieder registrieren sich vor dem Training im Remote Training System (RTS). Nur eines der Mitglieder kann einen RTS verwenden, um als Partei an einem Experiment teilzunehmen. Mehrere beitragende Parteien müssen sich jeweils bei einem RTS für ein Experiment authentifizieren. |
Aggregator | Der Aggregator verbindet die Modellergebnisse zwischen den Parteien, um ein Modell zu erstellen. |
Fusionsmethode | Der Algorithmus, der verwendet wird, um die Ergebnisse zu kombinieren, die die Parteien an den Aggregator zurückgeben. |
Datenhandler | In IBM Federated Learning ist ein Datenhandler eine Klasse, die zum Laden und Vorverarbeiten von Daten verwendet wird. Darüber hinaus kann sichergestellt werden, dass Daten, die aus mehreren Quellen erfasst werden, für das Training einheitlich formatiert werden. Weitere Details zum Datenhandler finden Sie unter Datenhandler. |
Globales Modell | Das resultierende Modell, das zwischen verschiedenen Parteien verbunden wird. |
Trainingsrunde | Eine Trainingsrunde ist der Prozess des lokalen Datentrainings, der globalen Modellfusion und der Aktualisierung. Das Training ist iterativ. Der Administrator kann die Anzahl der Trainingsrunden auswählen. |
Architektur
IBM Federated Learning umfasst zwei Hauptkomponenten: den Aggregator und die fernen Schulungsparteien.
Aggregator
Der Aggregator ist ein Modellfusionsprozessor. Der Administrator verwaltet den Aggregator.
Der Aggregator führt die folgenden Aufgaben aus:
- Wird als Plattformservice in den Regionen Dallas, Frankfurt, London oder Tokio ausgeführt.
- Beginnt mit einem Experiment für föderiertes Lernen.
Partei
Eine Partei ist ein Benutzer, der Modelleingaben für den Aggregator des Experiments für föderiertes Lernen bereitstellt. Die Partei kann Folgendes sein:
auf jedem System, das den watsonx.ai Runtime Python ausführen kann und mit den watsonx.ai Runtime Frameworks kompatibel ist.
Hinweis:Das System muss nicht speziell Cloud Pak for Data as a Servicesein. Eine Liste der Systemvoraussetzungen finden Sie unter System einrichten.
Ausführung auf dem System an einem beliebigen geografischen Standort. Es wird empfohlen, jede Partei in derselben Region zu lokalisieren, in der die Datenextraktion aus verschiedenen Regionen vermieden werden soll.
Diese Abbildung zeigt die Architektur von IBM Federated Learning. Ein fernes Trainingssystem wird verwendet, um die Identität der Partei beim Aggregator während des Trainings zu authentifizieren. Mehrere Parteien mit unterschiedlichen Datenquellen verbinden sich mit ihrem Remote-Trainingssystem. Datenwissenschaftler überwachen das Training. Am Ende entsteht ein Modell auf Basis der gemeinsam trainierten Daten.
Benutzerworkflow
- Data-Scientist:
- Gibt die Datenquellen an
- Erstellt ein erstes "nicht trainiertes" Modell.
- Erstellt eine Datenhandlerdatei.
Diese Tasks können sich mit einer Schulungsparteientität überschneiden. - Bewertet das Endmodell.
- Eine Partei stellt eine Verbindung zum Aggregator auf ihrem System her, der fern sein kann.
- Ein Administrator steuert das Experiment für föderiertes Lernen wie folgt:
- Konfigurieren des Experiments für die Unterbringung ferner Parteien.
- Der Aggregator wird gestartet.
- Speichern und Bereitstellen des Modells.
Diese Abbildung zeigt die Aktionen, die den einzelnen Rollen im Federated Learning-Prozess zugeordnet sind.
Übergeordnetes Thema: IBM Federated Learning