Uma mudança de paradigma em IA e aprendizado de máquina

Federado representa uma ruptura com a forma tradicional de coletar dados e treinar modelos de aprendizado de máquina.

Com o aprendizado federado, o desenvolvimento do aprendizado de máquina se beneficia de um treinamento mais barato que respeita a privacidade dos dados. Este artigo orienta o que é aprendizagem federada, como funciona, aplicativos e estruturas.

O que é aprendizagem federada?

Fonte: Wikipédia

O Federated Learning é uma mudança na forma como os modelos de aprendizado de máquina são treinados. Na maioria dos modelos de aprendizado de máquina, os dados são coletados em um repositório central de vários clientes. A partir deste repositório central, os modelos de aprendizado de máquina são treinados e usados ​​para fazer previsões. O Aprendizado Federado faz o oposto. Em vez de enviar dados para um repositório central, os clientes treinam modelos com base em seus dados. Isso os ajuda a manter a privacidade de seus dados privados.

Leia também: Explicação dos principais modelos de aprendizado de máquina

Como funciona a aprendizagem federada?

A aprendizagem na aprendizagem federada compreende uma série de etapas atômicas que produzem um modelo. Essas etapas são chamadas de rodadas de aprendizagem. Uma configuração de aprendizagem típica percorre essas rodadas, melhorando o modelo em cada etapa. Cada rodada de aprendizagem envolve as seguintes etapas.

  Data Lake vs. Data Warehouse: Quais são as diferenças?

Uma rodada de aprendizagem típica

Primeiro, o servidor escolhe o modelo a ser treinado e os hiperparâmetros, como o número de rodadas, os nós clientes a serem usados ​​e a fração de nós usados ​​em cada nó. Neste ponto, o modelo também é inicializado com os parâmetros iniciais para formar o modelo base.

Em seguida, os clientes recebem cópias de um modelo básico para treinar. Esses clientes podem ser dispositivos móveis, computadores pessoais ou servidores. Eles treinam o modelo em seus dados locais, evitando assim o compartilhamento de dados confidenciais com os servidores.

Depois que os clientes treinarem o modelo em seus dados locais, eles o enviarão de volta ao servidor como uma atualização. Quando recebida pelo servidor, a atualização é calculada juntamente com as atualizações de outros clientes para criar um novo modelo base. Como os clientes podem não ser confiáveis, neste momento alguns clientes podem não enviar suas atualizações. Neste ponto, o servidor tratará todos os erros.

Antes que o modelo base possa ser reimplantado, ele deve ser testado. No entanto, o servidor não armazena dados. Portanto, para testar o modelo, ele é enviado de volta aos clientes, onde é testado em relação aos seus dados locais. Se for melhor que o modelo básico anterior, ele será adotado e usado.

  10 melhores docking station para usar vários dispositivos ao mesmo tempo

Aqui está um guia útil sobre como funciona o aprendizado federado da equipe de aprendizado federado do Google AI.

Centralizado x Federado x Heterogêneo

Nesta configuração, existe um servidor central responsável por controlar o aprendizado. Esse tipo de configuração é conhecido como Aprendizado Federado Centralizado.

O oposto da Aprendizagem Centralizada seria a Aprendizagem Federada Descentralizada, na qual os clientes se coordenam entre pares.

A outra configuração é chamada de Aprendizagem Heterogênea. Nesta configuração, os clientes não têm necessariamente a mesma arquitetura de modelo global.

Vantagens da aprendizagem federada

  • A maior vantagem de usar o aprendizado federado é que ele ajuda a manter a privacidade dos dados privados. Os clientes compartilham os resultados do treinamento, não os dados usados ​​no treinamento. Protocolos também podem ser implementados para agregar resultados, de modo que não possam ser vinculados a um cliente específico.
  • Também reduz a largura de banda da rede, pois nenhum dado é compartilhado entre o cliente e o servidor. Em vez disso, os modelos são trocados entre o cliente e o servidor.
  • Também reduz o custo dos modelos de treinamento, pois não há necessidade de comprar hardware de treinamento caro. Em vez disso, os desenvolvedores utilizam o hardware do cliente para treinar modelos. Devido aos poucos dados envolvidos, não sobrecarrega o dispositivo do cliente.

Desvantagens da aprendizagem federada

  • Este modelo depende da participação de muitos nós diferentes. Alguns dos quais não são controlados pelo desenvolvedor. Portanto, a sua disponibilidade não é garantida. Isso torna o hardware de treinamento não confiável.
  • Os clientes nos quais os modelos são treinados não são exatamente GPUs poderosas. Em vez disso, são dispositivos normais, como telefones. Esses dispositivos, mesmo em conjunto, podem não ser suficientemente poderosos em comparação com clusters de GPU.
  • O aprendizado federado também pressupõe que todos os nós clientes são confiáveis ​​e trabalham para o bem comum. No entanto, alguns podem não fazer isso e podem emitir atualizações incorretas para causar desvios no modelo.
  32 Perguntas e respostas frequentes da entrevista sobre o Tableau

Aplicações de Aprendizagem Federada

O Federated Learning permite o aprendizado preservando a privacidade. Isso é útil em muitas situações, como:

  • Previsões da próxima palavra em teclados de smartphones.
  • Dispositivos IoT que podem treinar modelos localmente de acordo com os requisitos específicos da situação em que se encontram.
  • Indústrias farmacêuticas e de saúde.
  • As indústrias de defesa também beneficiariam de modelos de formação sem partilha de dados sensíveis.

Estruturas para aprendizagem federada

Existem muitas estruturas para implementar padrões de Aprendizagem Federada. Alguns dos melhores incluem NVFlare, FATE, Flower e PySft. Leia este guia para uma comparação detalhada das diferentes estruturas que você pode usar.

Conclusão

Este artigo foi uma introdução ao Aprendizado Federado, como funciona, bem como as vantagens e desvantagens de implementá-lo. Além disso, também abordei os aplicativos e estruturas populares usados ​​para implementar o Federated Learning em produção.

A seguir, leia um artigo sobre as melhores plataformas MLOps para treinar seus modelos de Machine Learning.