Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
tensorflow
GitHub Repository: tensorflow/docs-l10n
Path: blob/master/site/pt-br/federated/faq.md
25115 views

Perguntas frequentes

O TensorFlow Federated pode ser usado em ambientes de produção, por exemplo, em telefones celulares?

No momento, não. Embora tenhamos projetado o TFF pensando na implantação em dispositivos reais, neste estágio não fornecemos nenhuma ferramenta para essa finalidade. A versão atual destina-se a usos experimentais, como expressar novos algoritmos federados ou testar o aprendizado federado com seus próprios datasets, usando o runtime de simulação incluído.

Prevemos que, com o tempo, o ecossistema de código aberto em torno do TFF evoluirá para incluir runtimes direcionados a plataformas de implantação física.

Como uso o TFF para fazer experimentos com grandes datasets?

O runtime padrão incluído na versão inicial do TFF destina-se apenas a pequenos experimentos, como aqueles descritos em nossos tutoriais, nos quais todos os seus dados (em todos os clientes simulados) cabem simultaneamente na memória de uma única máquina e todo o experimento é executado localmente. dentro do notebook colab.

Nosso roteiro futuro de curto prazo inclui um runtime de alto desempenho para experimentos com datasets muito grandes e grandes números de clientes.

Como posso garantir que a aleatoriedade no TFF corresponda às minhas expectativas?

Já que o TFF tem computação federada incorporada em seu núcleo, o autor do TFF não deve assumir o controle sobre onde e como as Session do TensorFlow são inseridas ou run é chamada nessas sessões. A semântica da aleatoriedade pode depender da entrada e saída das Session do TensorFlow se as sementes forem definidas. Recomendamos usar a aleatoriedade no estilo TensorFlow 2, usando, por exemplo tf.random.experimental.Generator a partir do TF 1.14. Isto usa um tf.Variable para gerenciar seu estado interno.

Para ajudar a gerenciar as expectativas, o TFF permite que o TensorFlow que ele serializa tenha sementes de nível operacional definidas, mas não sementes de nível de grafo. Isto ocorre porque a semântica das sementes no nível da operação deve ser mais clara na configuração do TFF: uma sequência determinística será gerada em cada chamada de uma função empacotada como tf_computation, e somente dentro desta chamada quaisquer garantias feitas pelo gerador de números pseudoaleatórios serão válidas. Observe que isto não é exatamente o mesmo que a semântica de chamar uma tf.function no modo eager; O TFF efetivamente entra e sai de um tf.Session exclusivo cada vez que tf_computation é invocado, enquanto chamar repetidamente uma função no modo eager é análogo a chamar sess.run no tensor de saída repetidamente dentro da mesma sessão.

Como posso contribuir?

Veja o README, diretrizes de contribuição e colaborações.

Qual é a relação entre FedJAX e TensorFlow Federated?

O TensorFlow Federated (TFF) é um framework completo para aprendizagem e análise federada, projetado para facilitar a composição de diferentes algoritmos e recursos e para permitir a portabilidade de código em diferentes cenários de simulação e implantação. O TFF fornece um runtime escalonável e oferece suporte a muitos algoritmos de privacidade, compactação e otimização por meio de suas APIs padrão. O TFF também suporta diversos tipos de pesquisa de FL, com uma coleção de exemplos de artigos publicados do Google aparecendo no repositório google-research.

Em contraste, o FedJAX é uma biblioteca leve de simulação baseada em Python e JAX que foca na facilidade de uso e na prototipagem rápida de algoritmos de aprendizagem federados para fins de pesquisa. TensorFlow Federated e FedJAX são desenvolvidos como projetos separados, sem expectativa de portabilidade de código.