Notas da reunião de 16/02/2022 de colaboradores da TFF,Notas da reunião de 16/02/2022 de colaboradores da TFF

  • Participantes:

    • Krzysztof Ostrowski (Google)
    • Alex Ingerman (Google)
    • DeWitt Clinton (Google)
    • Boyi Chen (LinkedIn)
    • Souvik Ghosh (LinkedIn)
    • Zheng Li (LinkedIn)
  • [chen] Nosso uso atual, áreas de interesse para contribuições, processos sobre como contribuir; plano de desenvolvimento futuro

  • [boyi] Como estamos usando o FL hoje

    • Duas partes - uma é cross-silo
      • Dados de nossos usuários
      • Os requisitos legais restringem o acesso aos dados
      • FL vem a calhar com dados 3P
      • Pode aproveitar os dados enquanto permanece em conformidade com a regulamentação
    • FL no dispositivo - interessante, mas trabalhando principalmente em cross-silo
    • Alguns projetos que poderíamos seguir
      • Têm vindo a construir protótipos
      • TFF vem a calhar
      • Benchmark FL x aprendizado de transferência personalizado
        • Usando os dados dos clientes para treinar um modelo personalizado para cada cliente vs. aprendizagem de transferência f, compare
        • Desafios com o funcionamento do FL
          • Alguns clientes maiores que outros -> viés
          • Os clientes que mais contribuem estão preocupados com os free-riders; clientes com menos dados estão preocupados em não influenciar o modelo o suficiente
        • Desafios de escalabilidade
          • Agora para inferência (centenas de M)
          • Dados de treinamento não tão grandes atualmente (10s-100sK/silos)
          • Executando inferência em lote sobre O (centenas de M) clientes
          • Volume total de dados como principal desafio
            • Registros em todos os clientes
          • O tamanho do cluster é limitado agora, limitando a taxa de inferência
        • Cliente = silo que não precisa ter os dados misturados com outros silos. Qual é a cardinalidade?
          • Fazendo experimentos agora, quero escalar para centenas de milhares de silos no futuro
        • Qual é o número que você viu para # de clientes TFF?
          • No dispositivo: grande número de pequenos silos de dados; x-silo é um pequeno número de grandes conjuntos de dados
        • Quão semelhantes são os silos?
          • Os esquemas são os mesmos, mas a distribuição dos dados difere muito entre os silos. Participação desigual
      • [K] Você está pensando no TFF para inferência e treinamento?
        • [B] Agora, use TFF para treinamento; preferiria treinar e inferir na mesma estrutura.
        • [K] Mesma infra ou mesmos modelos?
        • [b} agora, mesmo modelo e mesmo cluster
      • [B] Quer entender como treinar modelos e implantar em dispositivos.
      • [S] A necessidade de treinar modelos em um ambiente, retirar e usar em outro ambiente é importante. Só não com a primeira aplicação.
  • [B] O que queremos construir:

    • Uma ideia para contribuição, uma vez que fazemos benchmarks de justiça, podemos adicionar ferramentas e benchmarks ao TFF
      • Como o modelo se comporta entre silos (desempenho e viés desiguais)
    • [K] Você vê isso como um problema na prática? [B] Acreditamos que será um problema na prática.
    • [B] Pense nisso de uma perspectiva adversária. As pessoas estarão preocupadas em colocar dados na caixa. É uma preocupação geral, mas não temos uma métrica específica.
    • [K] Qual coisa estamos abordando? Você está falando sobre situações em que existem silos + regulamentações sobre como processá-lo - mas não é contraditório, você só não quer criar viés. Vs. outra situação onde há múltiplas instituições, partes mutuamente desconfiadas. Estamos pensando em um ou ambos?
    • [B] Queremos olhar para ambos; agora só pensar sobre o último.
    • [D] por exemplo, silo aqui são empresas, e conjuntos de dados são dados carregados por cada
    • [K] Você está destacando preocupações sobre o freeloading. Mas também há partidos mutuamente desconfiados. As partes querem impedir que outros/você vejam os dados? Essas preocupações estão em tensão. Por um lado, deseja verificar a contribuição para evitar ataques, por outro, não deseja ver o conteúdo, por privacidade
    • [B] Veja de 2 maneiras. Uma é a preservação da privacidade - por meio de DP etc. Outra parte, da perspectiva do desempenho do modelo, quando treinado a partir de dados de muitos silos, há uma preocupação de que diferentes silos se beneficiem de maneira diferente. Achamos que existe uma maneira padrão de abordar o primeiro; o último é mais complicado.
    • [K] Justiça no sentido de que o modelo funciona bem; outro pode ser freeloading. É o último que está mais em tensão com a privacidade. Você está preocupado com isso?
    • [B] Ambos são igualmente importantes. Quer proteger a privacidade dos dados e ter uma maneira justa de distribuir os benefícios.
    • [S] Ainda não temos boas respostas. [K] Igual.
    • [D] Quanto essas empresas confiam no linkedin para operar isso?
    • [S] Confiança não tem sido um problema até agora, pelo menos nos exemplos que conheço. Tivemos alguns pedidos de restrição, mas nenhuma recusa total. As pessoas estão dispostas a compartilhar os dados para que possamos construir um valor comum.
    • [A] Preocupação com a privacidade de apenas silos ou indivíduos dentro de silos?
    • [S] Este último
  • [D] Isso está sendo construído no Azure? Outras coisas de implantação que precisamos pensar?

    • [S] Eventualmente GPUs entrarão; os modelos iniciais serão menores e terão menos necessidades. Eventualmente, isso envolverá um grande número de membros e empresas → os modelos crescerão bastante.
    • [D] Este é o mesmo azure que está disponível publicamente? Ou alguma infra interna para atingir, que não é visível do lado de fora.
    • [S] Coisas bem padrão.
    • [D] Facilita a colaboração, torna o código OSS mais valioso, pois todos podem executá-lo no azure público.
  • [K] Vamos fazer as coisas! Quais devem ser estes? Mencionamos o conjunto de benchmarks e a plataforma entre silos. WDYT sobre desenvolver um PRD em público, falar sobre recursos e casos de uso?

    • [Z] Como é a especificação do produto? Pequenos componentes no TFF?
    • [k] poderíamos estar falando de componentes, ou um produto que pode ser construído em cima do tff e estar disponível para outros.
    • [Z] Eu quero entender - este é o processo de contribuição? Começar com o produto?
    • [k] estamos fazendo o processo aqui. Depende de onde você se sente confortável.
    • [Z] Você tem exemplos de tais produtos, talvez fora do TFF, mas no TF.
    • [K] TF tem um processo para documentos de design. Podemos começar a transformar essas notas em algo assim. Por exemplo, silos, mutuamente desconfiados, querem usar técnicas como DP, precisam trabalhar no Azure
    • [D] Ter um diretório de casos de uso é útil, sem revelar informações
    • [K] Queremos desenvolver um roteiro, documentos, exemplos de casos de uso que existirão no TFF de qualquer maneira, podemos começar juntos. Se começar pequeno é mais fácil, vamos fazer isso.
    • [B] Vejo muitas pesquisas sobre desafios no FL. Talvez possamos pegar algumas ferramentas para enfrentar esses desafios e começar por aí. Por exemplo, semelhante ao free-riding, heterogeneidade de dados - parece um desafio comum em configurações federadas. As ferramentas serão úteis universalmente.
      • [K] Ferramentas para avaliar desafios? Ou componentes do sistema.
      • [B] Funcionalidade que o TFF pode fornecer
      • [K] +1. Começar com PRD fornece contexto para falar sobre recursos, mas também podemos falar sobre recursos isoladamente. Talvez possamos começar com o documento que descreve o desafio do freeloading e trabalha com ferramentas para lidar.
      • [D] Também trabalhamos com pesquisadores. O LinkedIn tem como objetivo gerar resultados de pesquisa além do produto?
      • [Z] A curto prazo, ainda não para pesquisa.
  • [K] Parece que podemos começar com alguns documentos compartilhados, começar a descrever alguns recursos ou componentes? Qualquer uma das partes pode iniciar. Podemos usar o google docs e e-mail. Permite o padrão em público.

  • [ostrowski] O que gostaríamos de construir e quais os primeiros passos concretos que podemos dar

    • Visando mais do que outra reunião - AIs para nós mesmos?
    • Começamos a descrever alguns produtos/projetos específicos
      • Pacote de referência
      • Plataforma entre silos com DP, imparcialidade, protecitons de carregamento livre
    • Possíveis próximos passos
      • Iniciar um documento de requisitos do produto e criá-lo abertamente para cada um dos itens acima?
      • Começar a trocar ideias em nível de design?
      • Planos potenciais para contribuições reais de desenvolvimento?
        • Componentes/recursos específicos que você gostaria de desenvolver?
    • Artefatos específicos para criar:
      • Documento compartilhado que descreve o problema de freeload e os requisitos de uma ferramenta ou recurso no TFF que poderia resolvê-lo
      • Documento compartilhado que descreve os benchmarks de viés entre silos com quantidades desiguais de dados, o que gostaríamos que o benchmark medisse
      • Documento compartilhado que define um novo componente que permitiria que o TFF funcionasse no ambiente baseado em Azure (a definir com qual camada ele precisaria se integrar)
  • [ostrowski] Comunicando-se abertamente

    • O que disponibilizar publicamente (na página de destino do GitHub )
    • Resumo das discussões e decisões desta reunião e de acompanhamento a serem disponibilizados alguns dias após cada reunião na página do GitHub
    • Links para artefatos (quaisquer planos, roteiros, documentos de design, etc. a serem criados) também serão publicados no GitHub
    • Conversas (bate-papo?)
      • Folga
    • Metas compartilhadas:
      • Produtos/componentes específicos no escopo?
      • Carta para um grupo de trabalho mais específico/de escopo restrito para apoiar o desenvolvimento destes?
  • [B] O que fazer para pequenos problemas operacionais?

    • [K] Os problemas do Slack ou do GitHub podem funcionar. O que seria produtivo para você?
  • [ostrowski] Agenda de reuniões recorrentes com a qual podemos nos comprometer em conjunto?

    • Mensal