Inteligência Artificial Distribuída
A linha temática Inteligência Artificional Distribuı́da abordará o desenvolvimento de técnicas em IA, e especialmente aprendizado federado para manutenção da privacidade. Abaixo são descritas as tarefas envolvidas nessa linha temática.
Tarefa 1: Framework para Análise Comparativa de Algoritmos de Aprendizado Federado
Aprendizado Federado (FL) é uma abordagem de aprendizado de máquina focada em privacidade, que treina modelos de forma distribuı́da mantendo os dados descentralizados. No FL, clientes individuais treinam modelos locais usando seus próprios dados, enviando tais modelos para um servidor central para serem agregados em um modelo global. Esse conceito é útil para a computação de borda, ampliando a privacidade dos dados e otimizando os custos de comunicação. FL pode ser aplicado a dispositivos como smartphones, sensores e outros dispositivos IoT. Embora a aprendizagem de máquina tradicional centralizada possa superar o FL em termos de desempenho de previsão, abordagens trandicionais requerem o compartilhamento de todo o conjunto de dados. O primeiro uso do FL foi no Google GBoard para aprender os padrões de digitação dos usuários sem compartilhar esses dados. Atualmente, esta abordagem é utilizada em aplicações como veı́culos autônomos, monitoramento de saúde, telecomunicações entre outras.
Um dos muitos desafios que surgiram com o avanço do FL é como lidar com o desequilı́brio e a heterogeneidade dos dados. No FL, usando seus dados locais, cada nó deborda treina um modelo compartilhado. Como resultado, a distribuição dos dados desses dispositivos de borda é baseada em suas caracterı́sticas. Imagine um cenário, por exemplo, da distribuição de câmeras em sistemas de vigilância. Em comparação com câmeras localizadas em áreas pouco movimentadas, câmeras em um parque, por exemplo, capturam mais fotos de pessoas. Além disso, o tamanho do conjunto de dados que cada uma dessas câmeras terá para treinar seus modelos locais pode diferir em grande magnitude. Muitas abordagens foram propostas na literatura para abordar dinamicamente o peso dos modelos locais de clientes com dados heterogêneos participando do modelo global de FL. Um problema relevante nesse contexto é que testar e avaliar soluções de FL pode ser razoavelmente mais complexo do que testar soluções de aprendizado de máquina tradicionais (com dados centralizados). Questões como, consumo de recursos de rede, tempo de treinamento dos modelos distribuı́dos com recursos limitados dos dispositivos de borda, consumo de energia de dispositivos alimentados por bateria, entre outros, precisam ser levados em consideração no design da solução.
Alinhado aos objetivos deste projeto de avaliar a eficiência de arquiteturas e algoritmos para dotar de inteligência distribuı́da a infraestrutura e serviços de IoT, esta tarefa visa propor um arcabouço para testar algoritmos de FL, que permita aos usuários criar facilmente diferentes cenários de treinamento simplesmente alterando parâmetros de configuração. Isso inclui modelos de distribuições de computação, conjuntos de da- dos, modelos de agregação globais, modelos de clientes e parâmetros de treinamento tando do servidor quando de clientes. O arcabouço proposto será desenvolvido utilizando ferramentas cloud-native para implantação e monitoramento dos modelos de FL a serem avaliados (e.g., Kubernetes, Prometheus, Grafana, etc.). O arcabouço também deve ser capaz de coletar resultados de treinamento e métricas de uso de recursos. Será realizado um conjunto de experimentos utilizando equipamentos disponı́veis nas instituições participantes do projeto que simulam um ambiente de computação de nuvem e borda, considerando inclusive recursos de aceleração de processamento de modelos de aprendizado de máquina na borda (i.e. NVidia Jetson). Diversos experimentos serão realizados, variando parâmetros configuração dos modelos de FL sobre o arcabouço proposto a fim de demonstrar as suas capacidades e os dados coletados serão analisados para fins de comparação entre as abordagens de FL.
Tarefa 2: Inteligência Artificial Explicável
A comunidade cientı́fica explora, atualmente, eXplainable Artificial Intelligence (XAI) para fazer modelos interpretáveis, transparentes e confiáveis para lidar com deficiências de explanação dos modelos. Explicação refere-se aos detalhes e razões que um modelo dá para tornar seu funcionamento claro ou fácil de entender (ou seja, produz explicações para modelos de caixa-preta). Interpretabilidade é a capacidade de explicar ou apresentar a resposta de um sistema em termos compreensı́veis para um ser humano por meio de introspecção ou explicação. Transparência é a capacidade do sistema de gerar explicações compreensı́veis no contexto de implantação do sistema (oposto de caixa-preta). De fato, pesquisas recentes afirmam que a explanação, confiabilidade e transparência atingida a partir de XAI são um requisito inerente e um grande desafio. Técnicas de XAI podem ser usadas para melhorar o desempenho de mecanismos baseados em IA. Como por exemplo, em redes 5G/6G, o gerenciamento de recursos de fatias de redes baseado em modelos caixa preta, pode ser ajustado utilizando-se técnicas de XAI aplicado a FL, ou seja, Aprendizado Federado Explicável (Fed-XAI) torna explicáveis modelos derivados por FL, potencialmente minimizando a sobrecarga de comunicação e computação. O Fed-XAI permite entender o raciocı́nio e as ações executadas pelos modelos de ML na tomada de suas decisões.
Shapley, uma das técnicas mais tradicionais de XAI, atribui pesos a diferentes componentes, computados através modelos baseados em Teoria dos Jogos. Como por exemplo, atribui pesos a diferentes caracterı́sticas (features) de um modelo de aprendizado de máquina (ML). Shapley tem sido utilizado como método para seleção de clientes para processamento em diferentes ciclos (rounds) no processamento FL. No entanto, o esses trabalhos tem se concentrado na acurácia como métrica única de desempenho. A convergência não tem sido considerada como critério, o que é especialmente impactante uma vez que uso de Shapley implica em alto custo computacional. Pretende-se, nesta tarefa, definir critérios para o cálculo de pesos que acelerem a convergência da computação do modelo agregado, impactando, minimamente, a acurácia, porém que reduza consideravelmente o tempo para obtenção de modelo global.
Tarefa 3: Seleção de Clientes em Aprendizado Federado
O problema de seleção de clientes para aprendizagem federada é definido como determinar quais clientes participarão da rodada de treinamento. Este é um processo essencial e influencia na convergência do modelo e no seu desempenho. Em cenários tradicionais com servidor central e dispositivos de borda, após a execução do treinamento nos clientes e a agregação do modelo, o algoritmo de seleção de clientes é executado no servidor central para determinar o conjunto de clientes que participarão da próxima rodada de treinamento, baseado no desempenho corrente do modelo e também nas informações de contexto reportadas pelos clientes.
Clientes podem não estar constantemente disponı́veis para participar do aprendizado federado devido a restrições de energia, conectividade intermitente ou outras limitações. Além disso, as caracterı́sticas dos dispositivos devem ser consideradas durantes a seleção para ajustar a escolha de acordo com os requisitos de treinamento e tempo de convergência do modelo para não drenar recursos de energia, processamento e comunicação dos dispositivos. Outro fator que deve ser considerado é o balanceamento e justiça de seleção para distribuir melhor o treinamento e também não enviesar o modelo, uma vez que é essencial que a escolha dos clientes represente adequadamente a diversidade e a distribuição dos dados da população de usuários. A falta de representatividade pode levar a um viés no aprendizado federado, resultando em modelos que não são generalizáveis ou que favorecem certos grupos de usuários.
No entanto, a maioria dos critérios de seleção existentes considera um número limitado de caracterı́sticas, o que não explora completamente todos os aspectos que podem influenciar o desempenho do FL e como esses aspectos podem mudar ao longo do tempo. Nesses critérios de seleção, alguns recursos podem ser super-utilizados enquanto outros subutilizados. Além disso, a maioria das abordagens existentes para seleção de clientes escolhe um intervalo fixo entre as seleções. Na abordagem a ser adotada na presente tarefa, a determinação dos tempos de seleção de clientes considera o trade-off entre a alocação de recursos e o desempenho do modelo, bem como uma pluralidade de contextos e caracterı́sticas dos clientes e da rede que podem influenciar na convergência e desempenho do modelo.
Pretende-se identificar caracterı́sticas relevantes relacionadas aos recursos dos dispositivos de borda e empregar técnicas de clusterização, tais como Summarization by Grouping Nodes on Attributes and Pairwise Relationships (SNAP). Para a seleção das caracterı́sticas, pretende-se utilizar a técnica de Análise de Variância (ANOVA), apoiada por dados gerados através de simulações envolvendo as bases de dados Adult e FMNIST. As bases de dados Mnist e CIFAR-10s serão, também, utilizadas e a validação utilizará software Containernet, que administra servidores e recursos de borda através de contêineres Docker. Quanto ao aprendizado federado, a implementação utilizará a biblioteca de algoritmos IBM Federated Learning.