Birlikte

Dağıtık hesaplama: havuzlar, işler ve güven

Scellis'te dağıtık hesaplama için tam olarak tek bir mekanizma vardır. İçerik adresli bir iş (Job) parçalara (Shard) bölünür, parçaları eşlerden oluşan bir havuz (Pool) yürütür, sonuçları bildirilmiş bir indirgeme (Reduction) birleştirir ve bir sonuç ancak doğrulandıktan sonra kabul edilir. Modelin tamamı budur. Tek üyeli bir havuz sıradan bir solo çalıştırmadır — koordinatörsüz, tamamen çevrimdışı. Federatif öğrenme aynı mekanizmanın bir konfigürasyonudur, asla ayrı bir alt sistem değil. Bu yelpaze boyunca değişen şey makine değil, etrafındaki güvendir — ve bu sayfa sınırları da yetenekler kadar açık söyler. Arkasındaki koordinatör uygulanmış ve test edilmiştir; gerçek tarayıcılar arasında çalışan havuzlu işler ise aktif olarak devreye alınıyor.

işinizjob · 7b0e…12 parçayabölünürhavuz · ödünç verilen cihazlardizüstünüzparça 3 · bittibir çalışma arkadaşınızparça 7 · bittilaboratuvar makinesiparça 9 · bittikapanan bir telefonparça 11 · devredildidenetleniryeniden sınanırgeçtibirleştirilirtek sonuçtutmadı · hiç sayılmaz
Şek. 1 — Tek bir iş, birçok kişinin cihazı. Her cihaz bir parça alır ve bir parça ancak başka bir cihaz onu yeniden çalıştırıp aynı sonucu bulduğunda sayılır — tasarım yanlış bir yanıtı sonucunuzun dışında tutar; bugün doğrulanmamış bir parça değiştirilmek yerine sonucunuzda işaretlenir. Ayrılan bir cihazın parçası başkasına devredilir. Tek cihazlı bir havuz da aynı resimdir, tek cihazla.

Tek mekanizma, birçok iş yükü#

Havuzlama bir eğitim özelliği değildir. Parametre taramaları, Monte-Carlo simülasyonları, topluluk modelleri (ensemble), k-katlı çapraz doğrulama ve toplu analiz — hepsi aynı iş → parça → indirgeme yolunda ilerler; çünkü aynı biçimi paylaşırlar: bağımsız parçalar artı onları birleştirmenin bildirilmiş bir yolu. Eğitim de aynı yoldadır — ayrıcalıklı değil, bir konfigürasyon olarak. Ve iş, parçalar geldikçe canlı çizilecek şekilde kurulmuştur: bir taramanın ısı haritası hücre hücre dolar (işler için canlı görünüm hâlâ devreye alınıyor), bir eğitim çalıştırması, bir paylaşılan oturumdaki herkesin aynı anda izlediği kayıp eğrisini çizer.

Bu mekanizmada strateji biçimli olan her şey içeriktir, asla motor kodu değil. Bölümleyiciler, indirgeyiciler, toplulaştırma stratejileri — FedAvg, FedProx, SCAFFOLD, DiLoCo ve FedBuff yerleşik içerik olarak gelir — ve havuz topolojisi, tıpkı bir blok gibi kullanıcı tarafından yazılabilir varlıklardır; asla sabit kodlanmış bir switch değil. İhtiyacınız olan toplulaştırma stratejisi yoksa onu siz yazarsınız — ve diğer her şeyle aynı katalog yolundan geçer.

Üç güven rejimi, asla birbirine karıştırılmaz#

Havuzunuzda kimin olduğu neyin güvenli olduğunu değiştirir; bu yüzden Scellis bunu bulanıklaştırmayı reddeder. Üç güven rejimi vardır ve platform onları asla tek bir rahatlatıcı ayara indirgemez.

Güven rejimiKim katılırDuruş
Kendi cihazlarınızDizüstünüz, masaüstünüz ve tabletiniz tek bir kohort olarakOtomatik katılım; onay sürtünmesi yok — hepsi zaten sizsiniz
İzinli konsorsiyumKurumsal olarak imzalanmış anahtarlara sahip eşlerRegüle edilmiş veya güvenlik açısından kritik işler için tek rejim
Açık kalabalıkAnonim yabancılarVarsayılan olarak saf hesaplama; habersiz denetlenir; bütçeyle sınırlıdır; veri-paralel iş yalnızca açık verilerle

Sınırlar öneri değil, kuraldır ve yapı gereği uygulanır. Güvenlik açısından kritik bir konfigürasyon açık bir havuzda başlamayı reddeder — yüksek sesle, yapı gereği, platformdaki diğer her reddin aktığı aynı tanı biçimiyle. Açık veri-paralel iş de kamuya açık girdi verileriyle sınırlıdır; çünkü yabancıların özel veriler üzerinde parça çalıştırması, kimsenin kazara ulaşamaması gereken bir ayardır. Tersi de aynı ölçüde dürüsttür: gizli bir model ya da veri kümesi açık havuzu reddeder; çünkü yürüten eşler, üzerinde hesap yaptıkları şeyi zorunlu olarak ellerinde tutar.

Sayılmadan önce çapraz denetlenir, makbuzla ölçülür#

Uzaktan gelen bir sonuca varışta asla güvenilmez. Bugün koordinatör bir sonucu ancak ikinci, bağımsız bir eş aynı parça için birebir aynı sonucu döndürdüğünde sayar — deterministik CPU katmanında sağlam olan tam eşleşme. GPU sonuçlarını bildirilmiş bir tolerans içinde denetlemek, denetlenecek parçaları hiçbir eşin öngöremeyeceği biçimde seçmek ve denetimi geçemeyen bir sonucu değiştirmek ise aktif olarak devreye alınıyor; o zamana dek denetimi geçemeyen ya da denetlenmemiş bir sonuç değiştirilmez, işaretlenir. Matris çarpımlarında doğrulayıcının maliyetini düşüren Freivalds olasılıksal denetimleri uygulanmış ve test edilmiştir ama henüz koordinatöre bağlanmamıştır; yanıtı bilinen, aralara serpiştirilmiş kanarya parçaları da doğrulayıcıları henüz hesap vermeye zorlamaz. Doğrulama rejiminin tamamı, cihazlar arasına genişletilmiş doğruluk hikâyesidir.

Uyarı

Doğrulama, hesaplamanın doğru yapılıp yapılmadığını denetler — ama doğrulayıcılar güven çıpasına bağlanana dek, aynı kişinin yönettiği iki ücretsiz kimlik yanlış bir yanıtta yine de uzlaşabilir. Bir eşin girdilerinin dürüst olduğunu kanıtlayamaz. Veri zehirlenmesi — dayanıklı toplulaştırma ve izinli rejimle — sınırlandırılır, çözülmez; Scellis bunu açıkça söyler.

Kabul edilen iş, hash zincirli bir deftere bir makbuz yazar ve katkı, doğrulanmış iş birimleriyle ölçülür, geçen süreyle değil — geçen süre yavaşlığa para öder ve tahrif edilebilir. Her birim, sağlayıcının şişiremeyeceği, planlayıcı tarafından türetilmiş bir maliyet taşır. Özgecil havuzlama — kendi cihazlarınız, gönüllüler, bir konsorsiyum — hiçbir ödeme rayı gerektirmez; koordinatörü, kiralamaları ve makbuzları uygulanmış ve test edilmiştir, ama henüz hiçbir tarayıcı kiralanmış bir parçayı uçtan uca yürütmedi. Ödemeler, emanet (escrow) ve teminat (staking) içeren ücretli hesaplama pazarı ise adı konmuş ileri yoldur — tam da bu makbuzların üzerine kurulur; tek ve bölünmez bir birim olarak gelir, çünkü ödemeleri sahtekârlık caydırıcılarından önce çıkarmak Sybil çiftçiliğini kârlı kılardı.

Ne ölçeklenir — ne ölçeklenmez#

İş yükü biçimiDürüst ölçekleme
Map biçimli — taramalar, Monte-Carlo, toplu işÇok sayıda eşe yakın-doğrusal olması beklenir — tarayıcılar arasında henüz ölçülmedi; parçalar birbiriyle hiç konuşmaz
Senkronize eğitimEn iyi durumda kabaca onlarca kararlı eş; senkroniyi azaltarak (daha çok yerel adım) genişler, asla sihirle değil — tarayıcılar arasında henüz bağlanmadı
Federatif öğrenmeİstatistiksel gücü ölçekler — daha çok katılımcı merkez, modelin arkasında daha çok yerel örnek — hızı değil

Senkronize eğitim kararlı bir kohortun oyunudur, asla açık bir sürünün değil: eşler güncelleme alışverişi yapmak zorundadır ve duvara dönüşen şey hesaplama değil, bu alışveriştir; baskın maliyet aritmetik değil, katılıp-ayrılmadır (churn). “Ölçekleme”nin arkasında kendi cümlesini hak eden ikinci bir sınır daha saklıdır: veri-paralel havuzlama, modelin tamamını her eşte çoğaltır. Verimi katlar; ama tek bir cihaza sığmayan bir modeli sığdıramaz. Daha büyük modelleri sığdırmak ayrı bir yoldur — katmanların cihazlar arasında aktarıldığı Relay yolu ya da parçalanmış optimizatör durumu. Sayısal bir hızlanma çarpanı asla vaat edilmez; iddia, adı konmuş mekanizmalardır. Dürüst sınırlar sayfası bunların her birini hata payı hata payı listeler.

Gönüllüye adil, ağ konusunda dürüst#

Başkası için yürüttüğünüz bir parça, hiçbir etki izni olmayan saf hesaplama olarak tanımlanmıştır: yerel verilerinizi, kimlik bilgilerinizi veya ağınızı yapısal olarak okuyamaz — onu yürütecek Studio içi çalıştırıcı ise hâlâ devreye alınıyor. Bütçe denetimi sizde kalır — ayarlayabileceğiniz (varsayılan olarak kapalı) bir pil tabanı, iki tıklamayla durdurma. Katkı ayrıca ön planda ve fişe takılı bir cihaz etrafında tasarlanmıştır; çünkü tarayıcı arka plan sekmelerini dondurur: arka plandaki bir sekme hesaplama yapmıyordur ve Scellis yapıyormuş gibi davranmaz.

Havuzlu hesaplama ayrıca sunucusuz değildir ve bu sayfa ona öyle demeyecek. Bir havuz oturumu, oturum süresi boyunca çevrimiçi bir koordinatöre ihtiyaç duyar — “sunucusuz”, iş birliğine açık ağlarda veri düzlemini tarif eder, asla kontrol düzlemini değil. Koordinatör parçaları planlar ve bağlantılara aracılık eder; mutlu yolda tensör baytlarına asla dokunmaz (bir koordinatör nesnesi bir tensörü toplayamaz — yalnızca eşler indirger) ve solo iş için asla gerekmez. İş birliğine açık ağlarda tasarım, çoğu ev bağlantısını STUN üzerinden doğrudan eşler arası, sıfır aktarıcı maliyetiyle kurar; simetrik ve kurumsal NAT'lar bir aktarıcıya (relay) geri düşer ki bu, o senaryo için dürüst kararlı durumdur — eşler arası veri düzlemi de aktarıcı da hâlâ devreye alınıyor. Çok büyük havuzlar, kontrol dağılımı sınırlı kalsın diye koordinatörü hiyerarşik bir ağaca federe eder.

Federatif öğrenme: bir merkezden gerçekte ne çıkar#

Federatif öğrenme, verinin yerinde kaldığı ve modelin seyahat ettiği konfigürasyondur. Ham veri, katılan bir merkezden asla bayt olarak çıkmaz. Ama model güncellemeleri çıkar — ve bir güncelleme, hesaplandığı verinin kayıplı, kimi zaman tersine çevrilebilir bir fonksiyonudur. Bu yüzden baytların dışarı çıkmaması tek başına bir gizlilik güvencesi değildir ve Scellis onu asla öyle sunmaz.

katılan bir merkezverilerinizhiçbir yere gitmezham veri burada kalırgüncelleme ise çıkarkırpma + DP bütçesitoplama
Şek. 2 — İki düzeyli gerçek. Verileriniz yerinde kalır; model güncellemesi çıkar. Bu güncellemenin ele verebileceği bilginin, geçmek zorunda olduğu kırpma ve gizlilik bütçesiyle sınırlanması amaçlanır — verilerin evde kalmış olmasıyla değil.

İşte bu nedenle tasarım, kendi cihazlarınızın ötesindeki her rejimde kırpmalı ve hesabı tutulan diferansiyel gizliliği devreye sokar; aşımı reddeden monoton bir gizlilik bütçesi defteriyle izlenir — tur monitöründe canlı bir (ε,δ) göstergesi durur. Bugün bu taban yalnızca tarifin bir gizlilik hedefi bildirdiği yerde bağlar, bir turun işlediği ε muhasebecilerce hesaplanmak yerine dışarıdan verilir ve gürültü — artık tarayıcının kriptografik olarak güvenli üretecinden çekiliyor — henüz hiçbir ürün yolunca uygulanmıyor — yani güvence henüz yürürlükte değildir ve hiçbir federe tur uçtan uca çalışmamıştır. Güvenli toplulaştırma uygulanabilir yerde üstüne eklenir ve kurumlar arası (cross-silo) senaryolarda zorunludur; dürüst ama meraklı (honest-but-curious) bir sunucuya karşı her tekil güncellemeyi gizler — toplayıcı dışında üçten az merkezin katıldığı bir tur reddedilir, çünkü toplamdan kendi güncellemesini çıkaran başka bir merkezin güncellemesini görürdü — ama toplamı serbest bırakır; yani DP'nin yerine geçmez. Ölçekleme iddiası burada da dürüst kalır: federatif öğrenme istatistiksel güç kazandırır — daha çok katılımcı merkez, modelin arkasında daha çok yerel örnek — daha kısa bir süre değil.

Tek mekanizma, üç güven rejimi, geçen süre yerine makbuzlar — ve üretimde keşfedilmek yerine veri sayfasına yazılmış sınırlar. Yeniden üretilebilirlik iki kademeli bildirilir — oracle yolunda replayable, GPU yolunda tolerans içinde yakınsak — böylece dağıtık bir sonuç, cihazlar arası bir hash'i değil, commit'lenmiş sürümleri alıntılar. Ve tek üyeli bir havuz aynı makinedir — ağ kablosu çekiliyken de çalışır.