Appunti dell'incontro dei collaboratori del TFF del 16/02/2022,Appunti dell'incontro dei collaboratori del TFF del 16/02/2022

  • Partecipanti:

    • Krzysztof Ostrowski (Google)
    • Alex Ingerman (Google)
    • De Witt Clinton (Google)
    • Boyi Chen (LinkedIn)
    • Souvik Ghosh (LinkedIn)
    • Zheng Li (LinkedIn)
  • [chen] Il nostro utilizzo attuale, aree di interesse per i contributi, processi su come contribuire; piano di sviluppo futuro

  • [boyi] Come stiamo usando FL oggi

    • Due parti - una è cross-silo
      • Dati dei nostri utenti
      • I requisiti legali limitano l'accesso ai dati
      • FL è utile con i dati 3P
      • Può sfruttare i dati pur rimanendo conforme alle normative
    • FL sul dispositivo: interessante, ma principalmente funzionante su silo incrociato
    • Alcuni progetti che potremmo portare avanti
      • Hanno costruito prototipi
      • TFF è utile
      • Benchmark FL vs. apprendimento di trasferimento personalizzato
        • Utilizzo dei dati dei clienti per addestrare un modello personalizzato per ciascun cliente rispetto al trasferimento dell'apprendimento f, confrontare
        • Sfide con come funziona FL
          • Alcuni clienti più grandi di altri -> bias
          • I clienti che contribuiscono di più sono preoccupati per i free-rider; i clienti con meno dati sono preoccupati di non influenzare abbastanza il modello
        • Sfide di scalabilità
          • In questo momento per inferenza (centinaia di M)
          • Dati di allenamento non così grandi attualmente (10s-100sK/silos)
          • Esecuzione dell'inferenza in batch su O(centinaia di M) client
          • Il volume totale dei dati come sfida principale
            • Record su tutti i client
          • La dimensione del cluster è ora limitata, limitando il tasso di inferenza
        • Cliente = silo che non deve avere i dati mescolati con altri silos. Qual è la cardinalità?
          • Facendo esperimenti ora, voglio scalare a centinaia di migliaia di silos in futuro
        • Qual è il numero che hai visto per # di clienti TFF?
          • Sul dispositivo: gran numero di piccoli silos di dati; x-silo è un piccolo numero di grandi set di dati
        • Quanto sono simili i silos?
          • Gli schemi sono gli stessi, ma la distribuzione dei dati varia molto tra i silos. Partecipazione ineguale
      • [K] Stai pensando a TFF sia per l'inferenza che per l'allenamento?
        • [B] In questo momento, usa TFF per l'allenamento; preferirebbe addestrare e inferenza sullo stesso quadro.
        • [K] Stessi infra o stessi modelli?
        • [b} in questo momento, stesso modello e stesso cluster
      • [B] Vuoi capire come addestrare i modelli e distribuirli ai dispositivi.
      • [S] La necessità di addestrare modelli in un ambiente, eliminarli e utilizzarli in un altro ambiente è importante. Solo non con la prima applicazione.
  • [B] Cosa vogliamo costruire:

    • Un'idea di contributo, una volta che facciamo benchmark sull'equità, possiamo aggiungere strumenti e benchmark in TFF
      • Come si comporta il modello attraverso i silos (prestazioni disuguali e bias)
    • [K] Lo vedi come un problema nella pratica? [B] Crediamo che in pratica sarà un problema.
    • [B] Pensa a questo da una prospettiva contraddittoria. Le persone saranno preoccupate di inserire i dati nella scatola. È una preoccupazione generale ma non abbiamo una metrica particolare.
    • [K] A quale cosa ci stiamo rivolgendo? Stai parlando di situazioni in cui ci sono silos + regole su come elaborarlo - ma non è contraddittorio, semplicemente non vuoi creare pregiudizi. contro un'altra situazione in cui ci sono più istituzioni, parti che diffidano reciprocamente. Stiamo pensando a uno o entrambi?
    • [B] Vogliamo guardare entrambi; per ora pensa solo a quest'ultimo.
    • [D] es. silo qui ci sono aziende e i set di dati sono dati caricati da ciascuna
    • [K] Stai evidenziando preoccupazioni sul freeload. Ma ci sono anche parti che diffidano reciprocamente. Le parti vogliono impedire ad altri/voi di vedere i dati? Queste preoccupazioni sono in tensione. Da un lato si vuole verificare il contributo per prevenire gli attacchi, dall'altro non si vogliono vedere i contenuti, per la privacy
    • [B] Guardalo in 2 modi. Uno è la tutela della privacy - attraverso DP ecc. Dall'altra parte, dal punto di vista delle prestazioni del modello, quando addestrati dai dati di molti silos, si teme che silos diversi traggano beneficio in modo diverso. Pensiamo che ci sia un modo standard per avvicinarsi al primo; quest'ultimo è più complicato.
    • [K] Equità nel senso che il modello funziona bene; l'altro può essere freeload. È quest'ultimo che è più in tensione con la privacy. Sei preoccupato per questo?
    • [B] Entrambi sono ugualmente importanti. Vuoi proteggere la privacy dei dati e avere un modo equo per distribuire i vantaggi.
    • [S] Non abbiamo ancora buone risposte. [K] Lo stesso.
    • [D] Quanto si fidano queste aziende di linkedin per operare in questo modo?
    • [S] La fiducia non è stata finora un problema, almeno negli esempi di cui sono a conoscenza. Abbiamo ricevuto alcune richieste di vincolo, ma nessun rifiuto netto. Le persone sono disposte a condividere i dati per noi per creare valore comune.
    • [A] Preoccupazione per la privacy dei soli silos o degli individui all'interno dei silos?
    • [S] Quest'ultimo
  • [D] Si sta compilando su Azure? Altre cose di distribuzione a cui dobbiamo pensare?

    • [S] Alla fine arriveranno le GPU; i modelli iniziali saranno più piccoli e avranno meno esigenze. Alla fine, ciò coinvolgerà un gran numero di membri e imprese → i modelli cresceranno in modo abbastanza ampio.
    • [D] È lo stesso azzurro che è pubblicamente disponibile? O qualche infra interno da prendere di mira, che non è visibile all'esterno.
    • [S] Roba abbastanza standard.
    • [D] Semplifica la collaborazione, rende il codice OSS più prezioso poiché tutti possono eseguirlo su Azure pubblico.
  • [K] Facciamo cose! Quali dovrebbero essere questi? Abbiamo menzionato la suite di benchmark e la piattaforma cross-silo. WDYT su come arricchire un PRD in pubblico, parlare di funzionalità e casi d'uso?

    • [Z] Che aspetto hanno le specifiche del prodotto? Piccoli componenti in TFF?
    • [k] potremmo parlare di componenti o di un prodotto che può essere costruito su tff ed essere disponibile per altri.
    • [Z] Voglio capire: è questo il processo di contribuzione? Inizia con il prodotto?
    • [k] stiamo facendo il processo qui. Dipende da dove ti senti a tuo agio.
    • [Z] Hai esempi di tali prodotti, magari al di fuori di TFF ma in TF.
    • [K] TF ha un processo per i documenti di progettazione. Possiamo iniziare a trasformare queste note in qualcosa del genere. Ad esempio, i silos, che si diffidano reciprocamente, vogliono usare tecniche come DP, devono lavorare su Azure
    • [D] Avere una directory di casi d'uso è utile, senza rivelare informazioni
    • [K] Vogliamo sviluppare una tabella di marcia, documenti, esempi di casi d'uso che esisteranno comunque in TFF, possiamo iniziare insieme. Se iniziare in piccolo è più facile, allora facciamolo.
    • [B] Vedo molte ricerche sulle sfide in FL. Forse possiamo prendere alcuni strumenti per affrontare queste sfide e iniziare da lì. Ad esempio, simile al free-riding, l'eterogeneità dei dati sembra una sfida comune negli ambienti federati. Gli strumenti saranno universalmente utili.
      • [K] Strumenti per valutare le sfide? O componenti del sistema.
      • [B] Funzionalità che TFF può fornire
      • [K] +1. A partire da PRD fornisce un contesto per parlare di funzionalità, ma possiamo anche parlare di funzionalità isolatamente. Forse possiamo iniziare con un documento che descrive la sfida del freeloading e lavora verso strumenti da affrontare.
      • [D] Lavoriamo anche con i ricercatori. LinkedIn mira a generare risultati di ricerca oltre al prodotto?
      • [Z] A breve termine, non ancora per la ricerca.
  • [K] Sembra che possiamo iniziare con alcuni documenti condivisi, iniziare a descrivere alcune funzionalità o componenti? Entrambe le parti possono avviare. Possiamo usare Google Docs ed e-mail. Per impostazione predefinita, è in pubblico.

  • [ostrowski] Cosa vorremmo costruire e quali primi passi concreti possiamo fare

    • Puntare a qualcosa di più di un altro incontro: le IA per noi stessi?
    • Abbiamo iniziato a descrivere alcuni prodotti/progetti specifici
      • Suite di riferimento
      • Piattaforma cross-silo con protezione DP, fairness, free-loading
    • Possibili passi successivi
      • Avviare un documento sui requisiti del prodotto e arricchirlo apertamente insieme per ciascuno dei precedenti?
      • Iniziare a scambiare idee a livello di progettazione?
      • Possibili piani per effettivi contributi allo sviluppo?
        • Componenti/caratteristiche specifiche che vorresti sviluppare?
    • Artefatti specifici da creare:
      • Documento condiviso che descrive il problema del download gratuito e i requisiti di uno strumento o funzionalità in TFF che potrebbe risolverlo
      • Documento condiviso che descrive i parametri di riferimento per la distorsione tra silos con quantità di dati disuguali, cosa vorremmo che il benchmark misurasse
      • Documento condiviso che definisce un nuovo componente che consentirebbe a TFF di funzionare in un ambiente basato su Azure (TBD con quale livello dovrebbe integrarsi)
  • [ostrowski] Comunicare apertamente

    • Cosa rendere pubblicamente disponibile (sulla pagina di destinazione di GitHub )
    • Riepilogo delle discussioni e delle decisioni di questo e degli incontri di follow-up da rendere disponibile entro pochi giorni dopo ogni incontro sulla pagina GitHub
    • Collegamenti ad artefatti (eventuali piani, roadmap, documenti di progettazione, ecc. da creare) anch'essi da pubblicare su GitHub
    • Conversazioni (chat?)
      • lento
    • Obiettivi condivisi:
      • Prodotti/componenti specifici nell'ambito?
      • Carta per un gruppo di lavoro più specifico / ristretto per sostenere lo sviluppo di questi?
  • [B] Cosa fare per piccoli problemi operativi?

    • [K] I problemi di Slack o GitHub potrebbero funzionare. Cosa sarebbe produttivo per te?
  • [ostrowski] Programma di riunioni ricorrenti a cui possiamo impegnarci insieme?

    • Mensile