Maschinelles Lernen (ML) ist eine bestimmte Untergruppe (Zweig) der künstlichen Intelligenz (KI). Die Hauptidee von ML besteht darin, Systeme in die Lage zu versetzen, aus historischen Daten zu lernen, um neue Ausgabewerte für Eingabeereignisse vorherzusagen. Das Schöne daran ist, dass ML nicht erfordert, dass Systeme explizit programmiert werden, um dies zu erreichen. All dies mit wenig menschlichem Eingreifen. Angesichts der wachsenden Datenmengen in der heutigen Welt hat ML eine beispiellose Popularität erlangt. Wir können heute erreichen, was gestern noch unvorstellbar war, von der Vorhersage des Krebsrisikos anhand von Mammogrammen bis hin zu polyglotten KI-Übersetzern. Infolgedessen ist ML für viele Unternehmen zum wichtigsten Unterscheidungsmerkmal im Wettbewerb geworden, was dazu geführt hat, dass ML-gestützte Software in unserem Leben schnell allgegenwärtig wird. Der Schlüssel zu ML ist, dass die Genauigkeit der Prognosemodelle umso besser ist, je mehr Daten verfügbar sind.
Das Erscheinen von Distributed ML
ML ist zwar zu einer ziemlich leistungsstarken Technologie geworden, aber aufgrund seines Hungers nach Trainingsdaten ist es schwierig, ML-Modelle in einer einzigen Maschine zu erstellen. Es ist nicht ungewöhnlich, dass Trainingsdaten in der Größenordnung von Hunderten von Gigabyte bis Terabyte liegen, wie zum Beispiel im Bereich der Erdbeobachtung. Aus diesem Grund mussten ML-Modelle für verteilte Daten über mehrere Speicherknoten erstellt werden.
Distributed ML zielt darauf ab, ML-Modelle mithilfe mehrerer Rechenknoten zu erlernen, um größere Eingabe-Trainingsdatengrößen zu bewältigen und die Leistung und Genauigkeit der Modelle zu verbessern [1]. Somit hilft verteiltes ML Organisationen und Einzelpersonen, aus riesigen Mengen an Trainingsdaten aussagekräftige Schlüsse zu ziehen. Gesundheitswesen und Werbung sind nur zwei Beispiele für die häufigsten Sektoren, die stark vom verteilten maschinellen Lernen profitieren.
Es gibt zwei grundlegende Möglichkeiten, verteiltes ML durchzuführen: Datenparallelität und Modellparallelität [2]. Abbildung 1 veranschaulicht diese beiden Ansätze für verteiltes ML.
Beim Ansatz der Datenparallelität partitioniert das System die eingegebenen Trainingsdaten horizontal. Normalerweise erstellt es so viele Partitionen, wie Rechenknoten (Worker) vorhanden sind, und verteilt jede Datenpartition an einen anderen Worker. Dann sendet es dieselben Modellmerkmale an jeden Worker, der wiederum anhand seiner Datenpartition als Eingabe ein lokales Modell erlernt. Die Mitarbeiter senden dann ihre lokalen Modelle an eine zentrale Stelle, wo das System sie zu einem einzigen globalen Modell zusammenführt.
Der Ansatz der Modellparallelität partitioniert im Gegensatz zur Datenparallelität die Modellmerkmale und sendet jede Modellpartition an einen anderen Worker, der wiederum ein lokales Modell mit denselben Eingabedaten erstellt. Das heißt, die gesamten Eingabe-Trainingsdaten werden für alle Mitarbeiter repliziert. Anschließend bringt das System diese lokalen Modelle an einen zentralen Ort, um sie zu einem einzigen globalen Modell zusammenzufassen.
Obwohl verteiltes ML leistungsstark ist, basiert es auf einer Kernannahme, die seine Anwendbarkeit einschränkt: Man muss die Kontrolle und den Zugriff auf die gesamten Trainingsdaten haben.
In immer mehr Fällen ist jedoch kein direkter Zugriff auf Rohdaten möglich, weshalb verteiltes ML in solchen Fällen, beispielsweise im Gesundheitswesen, nicht angewendet werden kann.
Die Entstehung des föderierten Lernens
Das Konzept von FL wurde erstmals 2017 von Google eingeführt [3]. Das Konzept der föderierten Analysen/Datenbanken stammt jedoch aus den 1980er Jahren [4]. Ähnlich wie bei föderierten Datenbanken zielt FL darauf ab, Berechnungen dorthin zu bringen, wo sich die Daten befinden.
Federated Learning (FL) ist im Grunde ein verteilter ML-Ansatz, aber im Gegensatz zu herkömmlichem verteiltem ML werden Rohdaten von verschiedenen Mitarbeitern niemals aus den Mitarbeitern herausbewegt. Die Mitarbeiter besitzen die Daten, und sie sind die einzigen, die die Kontrolle darüber haben und direkten Zugriff darauf haben. Im Allgemeinen ermöglicht FL, an verschiedenen unabhängigen/autonomen Standorten Erfahrungen mit einer breiteren Palette von Datensätzen zu sammeln.
Die Gewährleistung des Datenschutzes ist in der heutigen Welt, in der das Bewusstsein der Gesellschaft für den Datenschutz als eines der Hauptanliegen der Gesellschaft zunimmt, von entscheidender Bedeutung. Beispielsweise haben viele Regierungsorganisationen schriftliche Gesetze wie die DSGVO [5] und den CCPA [6] erlassen, um die Art und Weise zu kontrollieren, wie Daten gespeichert und verarbeitet werden. FL ermöglicht es Organisationen und Einzelpersonen, ML-Modelle für mehrere autonome Parteien zu trainieren, ohne den Datenschutz zu gefährden. Während der Schulung teilen Organisationen/Einzelpersonen ihre lokalen Modelle, um von den lokalen Modellen der jeweils anderen zu lernen. So können Organisationen und Einzelpersonen die Daten anderer nutzen, um robustere ML-Modelle zu erlernen, als wenn sie nur ihre eigenen Daten verwenden würden.
Das Schöne an FL ist, dass es Organisationen und Einzelpersonen ermöglicht, auf ein gemeinsames Ziel hinzuarbeiten, ohne den Datenschutz zu opfern.
Mehrere Teilnehmer trainieren gemeinsam ein Modell mit ihren sensiblen Daten und kommunizieren untereinander nur das gelernte lokale Modell. Abbildung 2 veranschaulicht die allgemeine Architektur des föderierten Lernens (FL).
FL nutzt auch die beiden grundlegenden Ausführungsmodi, um Modelle für mehrere Teilnehmer zu erstellen: horizontales Lernen (Datenparallelität) und vertikales Lernen (Modellparallelität).
Fazit
FL ist eine leistungsstarke Technologie, mit der Organisationen und Einzelpersonen zusammenarbeiten können, um dasselbe Ziel zu erreichen, ohne den Datenschutz zu beeinträchtigen.
Alter Wein in einer neuen Flasche? Wir können zumindest daraus schließen, dass FL eine Mischung aus föderierten Datenbanken und verteiltem ML ist.
Es gibt jedoch einige Aspekte, die FL einzigartig machen:
Im Gegensatz zu verteiltem ML verhindert FL, dass Organisationen oder Einzelpersonen auf Daten anderer Organisationen/Einzelpersonen zugreifen.
- FL ist im Wesentlichen geografisch verteilt, während verteiltes ML eine On-Premise-Technologie ist.
- Eines der Hauptziele von FL ist der Schutz des Datenschutzes, was in föderierten Datenbanken ein nettes Feature ist. Distributed ML ist das egal, weil es die volle Kontrolle über die Daten übernimmt.
- Während föderierte Datenbanken von einem relationalen Datenmodell ausgehen, macht FL keine Annahmen über das zugrunde liegende Datenmodell.
Referenzen
[1] Alon Y. Halevy, Peter Norvig, Fernando Pereira: Die unangemessene Effektivität von Daten. IEEE Intel. System 24 (2): 8-12 (2009).
[2] Diego Peteiro-Barral, Bertha Guijarro-Berd iñas: Eine Übersicht über Methoden für verteiltes maschinelles Lernen. Prog. Künstler. Intell. 2 (1): 1-11 (2013).
[3] Brendan McMahan, Daniel Ramage: Föderiertes Lernen: Kollaboratives maschinelles Lernen ohne zentralisierte Trainingsdaten. KI-Blog von Google. 6. April 2017.
[4] Dennis Heimbigner, Dennis McLeod: Eine föderierte Architektur für das Informationsmanagement. ACM Trans. Inf. System 3 (3): 253-278 (1985).
[5] Allgemeine Datenschutzverordnung (GDPR): https://gdpr-info.eu/
[6] California Consumer Privacy Act (CCPA): https://oag.ca.gov/privacy/ccpa
Über Scalytics
Apache Wayang: Das führende Java-basierte Federated Learning-Framework
Scalytics nutzt Apache Wayang als Basis, und wir sind stolz darauf, dieses Projekt zu fördern. Sie können das öffentliches GitHub-Repository hier einsehen. Wenn Ihnen unsere Software gefällt, zeigen Sie Ihre Wertschätzung und Unterstützung – ein Stern ⭐ würde uns viel bedeuten!
Wenn Sie professionelle Unterstützung von unserem Team von branchenführenden Experten benötigen, können Sie sich jederzeit an uns über Slack oder E-Mail wenden.