Budowa modeli uczenia maszynowego zgodnie z regulacjami o ochronie danych za pomocą metody Federated Learning
Tradycyjne w pełni nadzorowane metody budowy modeli uczenia maszynowego (ML) zakładają pełny dostęp do danych i etykiet. Jednakże, taki dostęp może zostać ograniczony poprzez regulacje prawne o ochronie danych. Ostatnie postępy w obszarze privacy-preserving ML proponują Federated Learning (FL) jako metodę przezwyciężania takich problemów. FL pozwala trenować modele ML bez bezpośredniego dostępu do prywatnych danych. W prezentacji omówimy podstawy podejścia FL i pokażemy jak może zostać wykorzystane do budowy modeli ML zachowując prywatność danych. Zademonstrujemy nasz sposób budowy modeli klasyfikacyjnych i regresyjnych do problemów z dziedziny mediów społecznościowych, uwzględniając tradycyjne algorytmy ML oraz głębokie sieci neuronowe.
Prezentacja z Warszawskich Dni Informatyki 2021
Pożrą, przeżują i wydalą - Google, Facebook i polskie biznesy internetowe
Budowa modeli uczenia maszynowego zgodnie z regulacjami o ochronie danych za pomocą metody Federated Learning
1. Budowa modeli uczenia maszynowego
zgodnie z regulacjami o ochronie danych za
pomocą metody Federated Learning
Mikołaj Małkiński, Maciej Leoniak
Machine Learning Engineers, Sotrender
www.WarszawskieDniInformatyki.pl
2. 2
Ochrona danych w uczeniu
maszynowym
Przykład GBoard:
• Cel - predykcja kolejnego słowa w
wiadomości użytkownika
• Problem - wiadomości użytkowników objęte
są ochroną - dane nie mogą być pobierane z
urządzeń
• Rozwiązanie - trening modelu globalnego
bez pobierania danych z urządzeń
https://arxiv.org/pdf/1811.03604.pdf
3. 3
Dlaczego Federated Learning
Możliwe podejścia:
1. Uczenie scentralizowane (podejście klasyczne) - brak prywatności danych
2. Uczenie zdecentralizowane (osobny model trenowany na każdym urządzeniu) - słaba generalizacja
3. Federated Learning (globalny model trenowany bez pobierania danych) - zachowana prywatność i
generalizacja
https://www.researchgate.net/figure/Centralized-vs-Distributed-On-Site-vs-Federated-Learning-Architectures-In-Centralized_fig1_344871928
4. 4
Federated Learning w Sotrender -
case study
• Cel projektu - przewidywanie zasięgu organicznego i płatnego postów na Facebooku
• Problem - regulacje Facebooka nie pozwalają na łączenie danych prywatnych z różnych profili
• Rozwiązanie - trening modelu oparty o Federated Learning
• Dostępne dane:
Prywatne:
• Liczba wyświetleń płatnych i organicznych
postów
• Szczegółowe informacje o postach - np.
liczba kliknięć w post, wyświetleń filmu
• Dostępne tylko dla niektórych profili
Publiczne:
• Dane dotyczące postów - np. treść, zdjęcie
/ wideo, liczba reakcji i komentarzy w
czasie
• Dane dotyczące profili - np. kategoria,
liczba fanów
• Dostępne dla wszystkich profili
5. Schemat działania
5
Proces treningu:
1. Główny serwer wysyła model do
węzłów
2. Węzły pobierają dane
3. Iteracja treningu w węzłach
4. Obliczone gradienty przesyłane do
serwera
5. Główny model aktualizowany na
podstawie otrzymanych parametrów
6. Kolejna iteracja z nowym modelem -
powrót do kroku 1.
https://medium.com/accenture-the-dock/instilling-responsible-and-reliable-ai-development-with-
federated-learning-d23c366c5efd
9. Wyzwania podczas treningu
9
Rysunki poglądowe z:
- Koneff, Mark D., et al. "Evaluation of harvest and information needs for North American sea ducks." PloS one 12.4 (2017): e0175411.
- Li, Hao, et al. "Visualizing the loss landscape of neural nets." In NeurIPS (2018).
- Cao, Yue, Mingsheng Long, and Jianmin Wang. "Unsupervised domain adaptation with distribution matching machines." In AAAI (2018).
Profil 1 Profil 2
14. 14
Inne biblioteki
- FATE
- Diffprivlib: The IBM Differential Privacy Library
- FedML
- …
- Li, Qinbin, et al. "A survey on federated learning systems:
vision, hype and reality for data privacy and protection." arXiv
preprint arXiv:1907.09693 (2019).
- https://github.com/chaoyanghe/Awesome-Federated-Learning
- https://github.com/poga/awesome-federated-learning
15. 15
Federated XGBoost
- Rozszerzenie biblioteki
XGBoost do wersji Federated
- Każdy uczestnik trenuje lokalny
model na własnych danych
- Agregator łączy aktualizacje
modeli uczestników
- Nowy model jest z powrotem
rozsyłany do uczestników
- Leung, Chester, Andrew Law, and Octavian Sima.
"Towards Privacy-Preserving Collaborative Gradient
Boosted Decision Trees."
- https://github.com/mc2-project/federated-xgboost
- https://federated-xgboost.readthedocs.io/en/latest/
16. 16
Secure XGBoost
- Bezpieczny wspólny trening
(secure collaborative learning)
- Zaszyfrowane dane
- Ochrona przed potencjalnie
niebezpiecznym środowiskiem
dzięki enklawom
- Drugi poziom ochrony
- https://secure-xgboost.readthedocs.io/en/latest/
- https://github.com/mc2-project/secure-xgboost
- https://towardsdatascience.com/secure-collaborative-xgboost-on-encrypted-data-ac7bc0ec7741
18. 18
Nasza infrastruktura do FL
Profil 1
Profil 2
Profil N
Agregator
Baza danych NoSQL
z danymi z FB
Get private data
Train model
19. 19
Feature engineering
Dane publiczne
Cechy zostały stworzone na
publicznych danych, np.:
• Rozkład w czasie i stosunek
liczby polubień, komentarzy
i udostępnień
• Liczba postów danego
profilu przed / po danym
poście, czas od ostatniego /
kolejnego postu
Dane prywatne danego
profilu
Nie można wykorzystywać
danych prywatnych konkretnego
profilu, np. liczby wyświetleń
wszystkich postów danego profilu
w zeszłym miesiącu.
Dane prywatne
zagregowanych profili
Do tworzenia cech na poziomie
grup profili, np. liczba wyświetleń
postów wszystkich profili w danej
kategorii, trzeba by wykorzystać
zabezpieczone agregowanie
(secure aggregation).
20. 20
Zabezpieczone agregowanie
● Wykorzystywane do agregacji danych z
zachowaniem prywatności danych
● Dane przesyłane są w sposób, który
uniemożliwia odczytanie właściwych
wartości, umożliwiając obliczenie agregacji
Przykład - jeśli chcemy obliczyć sumę wartości, do
każdej z nich dodajemy jedną z losowych wartości,
które sumują się do 0.
21. 21
Obserwacje z wykorzystania FL
• Spadki wyników modelu
• Niekoniecznie te same hiperparametry modelu co podczas treningu scentralizowanego
• Dłuższy trening
• Wyższe wymagania sprzętowe
• Dostępne jedynie eksperymentalne biblioteki do treningu klasycznych modeli ML lub
komitetów drzew
• Zwiększony nacisk na wykorzystanie sieci neuronowych, np. architektury TabNet
22. 22
Podsumowanie
Federated Learning
1. Stosowany gdy dane potrzebne do treningu modelu
objęte są ochroną prawną
2. Nie tylko gdy dane znajdują się na prywatnym
urządzeniu
3. Trenuje globalny model bez łączenia danych poprzez
przesyłanie gradientów
4. Wykorzystuje specjalne biblioteki, jak np. Federated
XGBoost, PySyft
5. Wymaga odpowiedniego podejścia do przetwarzania
danych, np. zabezpieczonego agregowania
Your problem and FL have liked each
other
PROBLEM
FEDERATED
LEARNING
25. Inne przykłady zastosowania FL
Predykcja następnego słowa (GBoard)
25
https://arxiv.org/pdf/1811.03604.pdf
Odkrywanie leków (MELLODDY)
https://blogs.nvidia.com/blog/2019/10/13/what-is-federated-learning