Podstawowa Koncepcja: Dane Pozostają Lokalnie
W konwencjonalnym uczeniu maszynowym zbieramy wszystkie dane u wszystkich osób do jednego dużego magazynu i trenujemy na nich tam. Uczenie federacyjne odwraca to postępowanie: surowe dane nigdy nie są przenoszone. Zamiast tego, współdzielony model jest wysyłany do miejsc, gdzie dane już istnieją – serwerów szpitala, czujników fabryki lub milionów indywidualnych telefonów, a każdy z tych obiektów trenuje ten model lokalnie na swoich przykładach. Tylko wynikowe aktualizacje modelu, czyli numeryczne korekty wag i gradientów, wracają do serwera koordynującego. Serwer nigdy nie widzi pojedynczej karty pacjenta, prywatnego wiadomości ani zdjęcia. Widzi jedynie skompresowane podsumowania matematyczne tego, czego każde urządzenie nauczyło się, które następnie są łączone. W rezultacie powstaje model, który skutecznie nauczył się z danych wszystkich osób bez konieczności gromadzenia tych danych w jednym miejscu.
Anatomia Jednej Rundy Treningowej
Federated learning odbywa się w powtarzających się rundach, każdej z czterech odrębnych faz. Po pierwsze, dystrybucja: serwer wysyła aktualne wagi globalnego modelu do wybranej grupy klientów. Po drugie, trening lokalny: każdy klient uruchamia kilka kroków gradientu obniżającego używając jedynie własnego lokalnego zbioru danych, popychając swoją prywatną kopię modelu w kierunku lepszej wydajności na jego przykładach. Po trzecie, przesyłanie: klienci wysyłają swoje zaktualizowane wagi lub tylko różnice względem oryginalnej wersji z powrotem do serwera. Po czwarte, agregacja: serwer łączy wszystkie otrzymane aktualizacje, zazwyczaj poprzez średnią ważoną opartą na ilości danych wykorzystanych przez każdego klienta, co prowadzi do powstania nowego i ulepszonego globalnego modelu. Ten ulepszony model staje się punktem wyjścia dla następnej rundy, a cykl powtarza się, stopniowo zbliżając się do modelu, który dobrze radzi sobie w całej federacji.
Dlaczego to ma znaczenie: Prywatność i Przepustowość
Uczenie federacyjne istnieje, ponieważ dwa ograniczenia często uniemożliwiają lub stanowią niepożądane centralizowanie danych. Po pierwsze, kwestie prywatności i regulacje prawne: szpitale nie mogą swobodnie eksportować kartotek pacjentów, a użytkownicy nie chcą, aby ich wpisy, nagrania głosowe lub zdjęcia były masowo przesyłane do serwerów firmy. Dzięki przechowywaniu surowych danych na urządzeniu i udostępnianiu jedynie aktualizacji modelu, uczenie federacyjne umożliwia trenowanie użytecznych modeli, takich jak sugestie klawiatury w telefonie komórkowym, oparte na rzeczywistych wzorcach użytkowania, a wrażliwe treści nigdy nie opuszczają urządzenia. Po drugie, ograniczenia związane z kosztami komunikacji: surowe dane od milionów urządzeń byłyby ogromne do przesyłania i przechowywania, podczas gdy kompaktowe aktualizacje modelu są stosunkowo małe i mogą być efektywnie wysyłane, nawet w przypadku słabych sieci komórkowych. Razem, te zalety uczyniły uczenie federacyjne podstawą rzeczywistych produktów, takich jak modele sugestii klawiatury oraz wspólne badania obrazowania medycznego w szpitalach.
Trudne Zagadnienia: Dane Niezależnie i Nieidentycznie Rozłożone (NII) oraz Opóźnione Klientów
Uczenie federacyjne jest trudniejsze niż zwykłe rozproszone szkolenie prowadzone w jednym centrum danych, gdzie każdy pracownik ma szybkie i niezawodne połączenia sieciowe i dzieli się przybliżoną częścią przetasowanego zbioru danych. Rzeczywiste klientów jest trudno kontrolować. Ich dane zazwyczaj nie są niezależnie i identycznie rozłożone (NII), co oznacza, że dane właściciela jednego telefonu to głównie wpisy w języku francuskim, a u innego zwykle robią zdjęcia kotom – każdy lokalny zbiór danych odzwierciedla więc inny, skośny fragment świata. Uśrednianie modeli wytrenowanych na tak zróżnicowanych danych może popychać globalny model w sprzecznych kierunkach i spowalniać konwergencję. Klienci również różnią się znacznie pod względem mocy obliczeniowej i połączeń – niektórzy kończą rundę szkolenia w kilka sekund, a inni opóźniają się lub całkowicie wyłączają się w połowie rundy, co nazywa się efektem opóźnionych klientów. Praktyczne systemy uczenia federacyjnego muszą tolerować te awarie, ostrożnie ważone są wkład, a czasami czekają tylko na wystarczająco szybką podgrupę klientów zamiast całej floty.
Często zadawane pytania
Jak uczenie federacyjne różni się od po prostu trenowania modelu na ogromnym, złączonym zbiorze danych?
W centralnym uczeniu wszystkie surowe dane są fizycznie kopiowane do jednego miejsca przed rozpoczęciem jakiegokolwiek uczenia, co oznacza, że osoba kontrolująca ten serwer może zobaczyć każdy indywidualny rekord. W uczeniu federacyjnym surowe dane nigdy nie opuszczają oryginalnego urządzenia lub lokalizacji; przesyłane są jedynie aktualizacje modelu matematycznego, takie jak wartości gradientu lub zmiany wag. Serwer w zasadzie trenuje na 'podsumowaniach uczenia' zamiast na samych przykładach. To sprawia, że uczenie federacyjne jest znacznie bardziej przyjazne dla prywatności i często tańsze w komunikacji, ponieważ typowo kilka megabajtów wag modelu są mniejsze niż podlegający analizie zbiór danych, choć zazwyczaj wymaga to więcej rund koordynacji, aby osiągnąć tę samą dokładność, co bezpośredni centralny podział.
Czy uczenie federacyjne w pełni gwarantuje prywatność?
Nie całkowicie samodzielnie. Chociaż surowe dane pozostają lokalne, badania wykazały, że aktualizacje modelu mogą czasami ujawniać informacje o danych, które je wygenerowały, na przykład poprzez ataki inwersji gradientu, które częściowo rekonstruują przykłady treningowe. Ze względu na to, rzeczywiste systemy federacyjne często dodają dodatkowe zabezpieczenia, takie jak prywatność różnicowa, która wprowadza skalibrowany szum do aktualizacji, lub bezpieczne agregowanie, które kryptograficznie zapewnia, że serwer widzi tylko uśredniony wynik wielu aktualizacji klientów, nigdy pojedynczej. Uczenie federacyjne najlepiej rozumieć jako solidną architekturę poprawiającą prywatność, a nie jako absolutny gwarant prywatności i jest często łączone z tymi dodatkowymi technikami w przypadku wrażliwych zastosowań, takich jak opieka zdrowotna.
Co oznacza 'uczenie federacyjne'?
Uczenie federacyjne, często skrócone jako FedAvg, jest najczęstszym algorytmem agregacji: po zakończeniu przez klienta lokalnego treningu i przesłaniu zaktualizowanych wag modelu, serwer oblicza ważoną średnią wszystkich otrzymanych zestawów wag, zwykle ważąc wkład każdego klienta proporcjonalnie do liczby wykorzystanych przykładów treningowych. Uzyskany wynik staje się nowym globalnym modelem dla kolejnej rundy. Jest to zaskakująco prosta idea, która działa całkiem dobrze w praktyce, ponieważ uśrednianie wielu niezależnie wytrenowanych modeli wygładza szum pochodzący z danych idiosynchronicznych jednego klienta i wzmacnia wzorce, które są szeroko użyteczne, stopniowo kierując współdzielony model w stronę dobrej ogólnej wydajności.
Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Federated Learning: Train Without Sharing Data i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.
▶ Otwórz symulację Federated Learning: Train Without Sharing Data