O que é aprendizado federado?

Autores

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

O que é aprendizado federado?

O aprendizado federado é uma abordagem descentralizada para treinar modelos de aprendizado de máquina (ML) . Cada nó em uma rede distribuída treina um modelo global usando seus dados locais, com um servidor central agregando atualizações de nós para melhorar o modelo global.

Modelos de inteligência artificial (IA) exigem volumes maciços de dados. Esses conjuntos de dados geralmente são centralizados em um único local para treinamento de modelos, abrindo oportunidades para que qualquer informação de identificação pessoal (PII) contida nos conjuntos de dados seja exposta durante a transmissão ou armazenamento.

O aprendizado federado ajuda a lidar com essas preocupações, pois informações confidenciais permanecem no nó, preservando a privacidade de dados. Também permite o aprendizado colaborativo, com diversos dispositivos ou servidores contribuindo para o refinamento dos modelos de IA.

As mais recentes tendências em IA, trazidas a você por especialistas

Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Como funciona o aprendizado federado

O aprendizado federado envolve quatro estágios principais:

  • Inicialização

  • Treinamento local

  • Agregação global

  • Iteração

Inicialização

O aprendizado federado começa com a inicialização de um modelo global de aprendizado de máquina em um servidor central. Esse modelo é a base a partir da qual o processo de aprendizado federado começa.

O servidor central distribui o modelo global para os nós clientes conectados, que podem ser outros servidores ou dispositivos de edge, como smartphones e dispositivos de Internet das coisas (IoT). Ele também transmite informações relevantes, incluindo variáveis de configuração, como hiperparâmetros e o número de epochs ou passagens completas pelos dados de treinamento.

Treinamento local

Ao receber o modelo global e todos os detalhes necessários, cada nó cliente prossegue com o treinamento. O processo de treinamento é semelhante a qualquer rede neural, com os nós clientes treinando o modelo usando apenas seus dados no dispositivo ou locais.

Quando completam o número de epochs, os nós clientes transmitem os parâmetros ou gradientes do modelo atualizados para o servidor central. Nenhum modelo local totalmente treinado ou dados brutos são enviados de volta.

Agregação global

O servidor central agrega todas as atualizações de nós clientes. Existem diferentes formas de agregação, mas um método comum é a média federada, que calcula a média ponderada de todas as atualizações. Essas atualizações combinadas são, então, incorporadas ao modelo global.

Iteração

O servidor central distribui novamente o novo modelo global para os nós clientes conectados, e o processo de aprendizado federado se repete até que o modelo atinja a convergência total ou seja totalmente treinado.

AI Academy

Torne-se um especialista em IA

Adquira conhecimento para priorizar os investimentos em IA que estimulam o crescimento dos negócios. Comece a usar hoje mesmo a nossa AI Academy sem custo e lidere o futuro da IA na sua organização.

Tipos de aprendizado federado

O aprendizado federado pode variar com base na estrutura dos conjuntos de dados ou na natureza dos nós clientes. Normalmente é classificado nestas categorias:

  • Entre dispositivos

  • Entre silos

  • Horizonal

  • Vertical

Entre dispositivos

O aprendizado federado entre dispositivos usa dispositivos com conectividade volátil e recursos de computação limitados, como telefones móveis e dispositivos de IoT. Esse tipo de aprendizado federado precisa levar em conta conexões de rede não confiáveis e, como os nós clientes só conseguem lidar com pequenos conjuntos de dados, geralmente serão necessários muitos dispositivos para o treinamento local.1

As empresas de comércio eletrônico, por exemplo, podem treinar um mecanismo de recomendação com base nos dados dos usuários em vários dispositivos para fornecer recomendações de produtos mais personalizadas.1

Entre silos

Ao contrário da abordagem de aprendizado federado entre dispositivos, a abordagem entre silos envolve um número limitado de servidores ou data centers com conectividade estável e recursos computacionais poderosos o suficiente para armazenar e processar enormes volumes de dados. Os nós clientes são tratados como silos que armazenam dados pessoais, e esses dados não devem sair do sistema ou ser compartilhados externamente devido a questões de privacidade.1

O aprendizado federado entre silos pode ser valioso em setores como finanças e saúde. Por exemplo, um consórcio de hospitais pode treinar um modelo compartilhado em seus próprios dados de pacientes para aprimorar o diagnóstico ou a previsão de determinadas doenças. Da mesma forma, uma coalizão de bancos pode treinar um algoritmo de aprendizado de máquina comum usando seus próprios registros de transações para melhorar a detecção de fraude.1

Horizontal

No aprendizado federado horizontal, os conjuntos de dados dos nós clientes compartilham as mesmas funcionalidades ou estrutura, mas possuem amostras diferentes. Por exemplo, médicos podem treinar um modelo analítico compartilhado porque cada um tem as mesmas variáveis para seus dados de ensaios clínicos, mas valores distintos para os pacientes envolvidos nos ensaios.

Vertical

Por outro lado, o aprendizado federado vertical envolve conjuntos de dados de nós clientes que compartilham as mesmas amostras, mas têm estruturas ou funcionalidades diferentes. Por exemplo, um varejista e um banco podem estabelecer uma parceria para ofertas mais personalizadas aos clientes e podem treinar um mecanismo de recomendação comum, pois podem ter os mesmos dados de clientes, mas informações financeiras e de compras variadas.

Benefícios do aprendizado federado

A natureza descentralizada do aprendizado federado oferece estas vantagens importantes:

  • Eficiência

  • Privacidade de dados aprimorada

  • Conformidade aprimorada

Eficiência

O aprendizado federado elimina a necessidade de acessar ou transferir grandes conjuntos de dados. Isso leva a uma diminuição da latência e a uma redução na largura de banda necessária para treinar modelos de aprendizado de máquina.

Privacidade de dados aprimorada

A arquitetura de preservação da privacidade dos sistemas de aprendizado federado significa que os dados confidenciais nunca saem de um dispositivo. Isso ajuda a minimizar o risco de ataques cibernéticos ou violações de dados.

A maioria dos sistemas de aprendizado federado também implementa técnicas criptográficas, incluindo privacidade diferencial e computação multiparte segura (SMPC), para aumentar a privacidade de dados.

A privacidade diferencial adiciona ruído às atualizações do modelo antes de transmiti-las ao servidor central, enquanto o SMPC permite que o servidor central realize cálculos de agregação seguros em atualizações criptografadas do modelo. Esses métodos dificultam a engenharia reversa ou a distinção para qual nó cliente contribuiu com uma atualização, fortalecendo a segurança de dados.

Conformidade aprimorada

Como os dados são mantidos e processados localmente, o aprendizado federado pode ajudar as empresas a cumprir as regulamentações de proteção de dados. A conformidade é crucial para setores como finanças e saúde, que lidam com dados privados.

Desafios do aprendizado federado

Aprendizado federado significa uma mudança transformadora na formação de modelos de IA, mas também vem com limitações. Aqui estão alguns desafios associados ao aprendizado federado:

  • Ataques adversários

  • Sobrecarga de comunicação

  • Heterogeneidade

Ataques adversários

O aprendizado federado é vulnerável a ataques de envenenamento de dados, onde agentes de ameaças injetam dados maliciosos durante o treinamento local ou alteram atualizações do modelo para transmissão para comprometer ou corromper o modelo central.

Detecção de anomalias, treinamento adversário, controles de acesso rigorosos e outras medidas de segurança podem ajudar a proteger contra esses ataques.

Sobrecarga de comunicação

Trocas regulares entre nós clientes e o servidor central podem resultar em gargalos substanciais. Para melhorar a eficiência da comunicação, considere estratégias como compressão de atualizações de modelos antes da transmissão, quantização e esparsificação para retransmitir um subconjunto das atualizações ou apenas atualizações essenciais. Essas estratégias devem ser equilibradas com qualquer diminuição na precisão que ocorra.

Heterogeneidade

O design descentralizado do aprendizado federado pode reforçar a diversidade de dados, que pode ajudar a mitigar o viés. No entanto, isso também significa que os dados não são distribuídos de forma idêntica e podem ser desequilibrados. Alguns dispositivos podem ter mais dados do que outros, distorcendo o modelo global para esses nós com muitos dados.

Algumas maneiras de lidar com essa heterogeneidade estatística incluem metodologias de amostragem ou técnicas que levam em consideração a variação na distribuição, nós em clusters com distribuições de dados semelhantes durante o treinamento de modelos e algoritmos de otimização, como o FedProx, que é direcionado para redes heterogêneas.

A heterogeneidade dos sistemas também é um problema, com dispositivos tendo diferentes recursos de computação. O treinamento local adaptativo pode ser aplicado para personalizar o treinamento de modelos de acordo com o que um nó pode manipular.

Casos de uso do aprendizado federado

O aprendizado federado cumpre a promessa de ajudar a resolver problemas do mundo real, com organizações unindo forças mesmo entre fronteiras e regiões geográficas. Aqui estão alguns setores que podem se beneficiar do aprendizado federado:

  • Financeiro

  • Saúde

  • Varejo e fabricação

  • Gerenciamento urbano

Finanças

As instituições financeiras podem trabalhar juntas para diversificar os dados dos modelos de avaliação de risco de crédito, permitindo melhor acesso ao crédito para grupos carentes. Elas também podem usar o aprendizado federado para oferecer consultoria bancária e de investimento mais personalizada, melhorando, assim, a experiência do usuário.

Saúde

Hospitais e instituições de pesquisa podem treinar modelos de deep learning compartilhados que ajudam na descoberta de medicamentos para doenças raras. Os sistemas de aprendizado federado também podem ajudar a encontrar melhores estratégias de tratamento e aprimorar os resultados dos pacientes para comunidades sub-representadas.

Varejo e fabricação

Os varejistas podem usar o aprendizado federado para rastrear as vendas e o inventário em vários locais sem revelar nenhum dado do cliente, permitindo que maximizem os níveis de estoque e reduzam o desperdício. Enquanto isso, os fabricantes podem agregar dados de diferentes partes da cadeia de suprimentos para otimizar a logística.

Gerenciamento urbano

As cidades inteligentes podem aproveitar o aprendizado federado para obter insights dos inúmeros dispositivos e sensores espalhados pelas áreas urbanas, mantendo os dados dos residentes privados. Esses insights podem ser usados para direcionar melhor o tráfego, por exemplo, ou para monitorar condições ambientais, como poluição do ar e da água. 

Frameworks de aprendizado federado

A implementação do aprendizado federado para aplicações do mundo real pode ser complexa, mas existem vários frameworks para treinar modelos em dados descentralizados e simplificar fluxos de trabalho de servidores e clientes. Veja a seguir alguns frameworks de aprendizado federado populares:

  • Flower

  • IBM Federated Learning

  • NVIDIA FLARE

  • OpenFL

  • TensorFlow Federated

Flower

Flower é um framework de código aberto para IA colaborativa e ciência de dados. Ele pode ser usado para criar sistemas de IA federados com vários clientes conectados. É compatível com a maioria dos frameworks de aprendizado de máquina e interoperável com várias plataformas de hardware e sistemas operacionais.

IBM Federated Learning

O IBM Federated Learning é um framework para aprendizado federado em ambientes empresariais. Ele funciona com vários algoritmos de aprendizado de máquina, incluindo decision trees, classificadores Naïve Bayes, redes neurais e aprendizado por reforço.

O IBM Federated Learning também vem com uma vasta biblioteca de métodos de fusão para combinar atualizações de modelos e é compatível com várias técnicas de imparcialidade para ajudar a combater o viés da IA.

NVIDIA FLARE

O NVIDIA FLARE (Federated Learning Application Runtime Environment) é um kit de desenvolvimento de software de código aberto e independente de domínio para aprendizado federado.

Ele possui fluxos de trabalho de treinamento e avaliação integrados, algoritmos de preservação da privacidade e algoritmos de aprendizado para média federada e FedProx. O NVIDIA FLARE também possui ferramentas de gerenciamento para orquestração e monitoramento.

OpenFL

O OpenFL é um framework de aprendizado federado de código aberto baseada no Python, originalmente criada pela Intel e agora sob a The Linux® Foundation. O OpenFL trabalha com frameworks de deep learning, comoo  PyTorch e bibliotecas de aprendizado de máquina, incluindo o TensorFlow. Suas funcionalidades de segurança incluem privacidade diferencial e compatibilidade com ambientes de execução confiáveis baseados em hardware.

TensorFlow Federated

O TensorFlow Federated (TFF) é um framework de código aberto desenvolvido pelo Google para aprendizado de máquina em dados descentralizados. As interfaces de programação de aplicativos (APIs) do TFF são divididas em duas camadas:

  • A API de aprendizado federado é a camada de alto nível que facilita a implementação de tarefas de aprendizado federado, como treinamento ou avaliação, usando modelos de aprendizado de máquina existentes.
  • A API de núcleo federado é a camada de baixo nível para a criação de novos algoritmos de aprendizado federado.

 

Soluções relacionadas
IBM watsonx.ai

Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.

Conheça o watsonx.ai
Soluções de inteligência artificial

Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

Explore as soluções de IA
Consultoria e serviços em IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

Explore os serviços de IA
Dê o próximo passo

Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

Explore o watsonx.ai Agende uma demonstração em tempo real
Notas de rodapé

Todos os links levam para fora do site ibm.com

1 Cross-silo and cross-device federated learning on Google Cloud, Google Cloud, 3 de junho de 2024.