Atlas’ta ara

Keşfetmeye buradan başla

AI Radar/Araştırma analizi

Federe öğrenme: veri yerinde kalır, model gezer

Veriyi merkezde toplamak yerine, modeli verinin olduğu cihaza götürmek: FedAvg’in mantığı, iletişim ile doğruluk arasındaki gerilim ve ‘yerel adım’ sayısının bedeli.

ÖN BİLGİ

Bu yazıyı rahat izlemek için şunlara önce bakmış olman iyi olur:

01Veriyi değil, güncellemeyi gönder#

Telefonlardaki yazı alışkanlığı gibi verilerle bir model eğitmek istediğini düşün. Bu verileri bir veri merkezinde toplamak hem gizlilik hem iletişim açısından sorunludur. McMahan ve arkadaşlarının federe öğrenme önerisinde veri cihazlarda kalır; her cihaz modeli yerelde biraz eğitir; sunucuya yalnızca güncellemeler gider ve sunucu bunları birleştirerek ortak modeli günceller. En yaygın birleştirme yöntemi iteratif model ortalamasıdır (FedAvg). Yazarlar, yöntemin dengesiz ve bağımsız-aynı dağılımlı olmayan (non-IID) verilerle de çalıştığını; eşzamanlı SGD’ye göre gereken iletişim turlarını 10–100 kat azalttığını bildirdi. McMahan ve diğerleri, AISTATS 2017 ↗

02Her tur, ne kadar yerelde adım atmalı?#

İletişim pahalı olduğundan, cihazların turda çok sayıda yerel adım atması cazip gelir. Ama her cihaz yalnızca kendi verisini görür; çok adım atarsa kendi verisine fazla uyar. Bu etkiye istemci sapması denir.

Aşağıdaki deneyde üç cihaz, aynı gerçek fonksiyonu (y = x²) farklı x aralıklarında görür: A cihazı 0–1, B cihazı 1–2, C cihazı 2–3. Ortak model düz bir çizgidir (bilerek yetersiz); en iyi doğru, üç cihazın tüm verisine birlikte uydurulan merkezi çözümdür (hatası yaklaşık 0,449). Turda yerel adım sayısını ve tur sayısını değiştir.

01

Veri cihazda kalır, güncelleme gelir

Hesaplanan · temsili girdiler

Yerel adım sayısını artır: iletişim azalır ama ne oluyor? Merkezi eğitimin (tüm veri tek yerde) en iyi çözümüyle karşılaştır.

noktalar: cihaz A, B, C · kesikli: merkezi çözüm · kırmızı: FedAvg0123050100tüm veride hataturFedAvg hatasıMerkezi çözüm
FEDAVG SONUNDA HATA0,753
MERKEZİ ÇÖZÜMÜN HATASI0,449

Turda tek yerel adımla FedAvg, merkezi eğitime çok yakın davranıyor: ama her adımda iletişim gerekiyor.

Ham verinin cihazda kalması tek başına gizliliği garanti etmez: gönderilen güncellemeler de bilgi taşıyabilir.

Üç cihaz aynı gerçek fonksiyondan (y = x²) farklı x aralıklarında veri görür; ortak model ise düz bir çizgidir (bilerek yetersiz). Her turda cihazlar yerelde adım atar, sunucu ağırlıkları ortalar (FedAvg). Hepsi tarayıcıda gerçekten hesaplanır; gerçek sistemlerde cihaz sayısı, veri ve model çok daha büyüktür.

Sonuçlar (bu kurulumda, 10 / 100 / 200 tur sonunda ortak modelin tüm veriye hatası):

Turda yerel adım10 tur100 tur200 tur
12,240,750,51
51,310,460,46
201,020,510,51
1000,780,640,64

Ne görüyoruz? Yerel adım arttıkça ilk turlarda ilerleme hızlanıyor (10 turda hata 2,24’ten 0,78’e iniyor). Ama uzun vadede, çok yerel adım, merkezi çözümden uzakta bir noktaya yerleşiyor: 100 yerel adımla hata 0,64’te kalıyor; 5 adım merkezi çözüme (0,449) çok yakın. Yani en az iletişimle en iyi sonuç arasında bir denge noktası var ve bu nokta veriye ve modele göre değişir.

Bunlar, bu oyuncak kurulumun sayılarıdır. Cihaz verisinin ne kadar farklı olduğuna ve modelin ne kadar yetersiz olduğuna bağlıdır; “5 adım en iyidir” gibi bir sonuç çıkarılamaz.

03Veri cihazda kalır; ama bu tek başına gizlilik değildir#

Federe öğrenmede ham veri cihazdan çıkmaz; bu önemli bir adımdır, ama gizliliğin garantisi değildir: gönderilen güncellemeler de verinin izlerini taşıyabilir. Güçlü bir güvence için federe öğrenme genellikle ek mekanizmalarla (güvenli toplama, gürültü eklemek) birleştirilir. Bunların en kuramsal olanı bir sonraki notun konusu: diferansiyel mahremiyet.

KENDİNİ SINA

Bu yazıyı bitirdiğinde:

  • Federe öğrenmenin veriyi değil güncellemeyi gönderdiğini anlatabilirsin.
  • Çok yerel adımın bedelini ve federe öğrenmenin tek başına gizlilik olmadığını açıklayabilirsin.

Cümlelerden birini kendi sözlerinle anlatamıyorsan, ilgili bölüme dön ve demoyu yeniden dene.

İlerleme yalnızca bu tarayıcıda saklanır.
BAĞLANTILI KAVRAMLAR

Bir fikri diğerine bağla.

Rotanı gör: sıradaki adım ne? Bütün dersler