O futuro da IA - A Próxima Geração
A evolução do Machine Learning (ML) tem sido rápida. Desde a competição ImageNet de 2012 até hoje, aprendemos bastante. Estamos saindo da fase do hype onde, de forma entusiasmada, imaginávamos que as coisas seriam meio mágicas, e estamos entrando no mundo real, descobrindo o que pode e o que não pode (ou não deve) ser feito com ML.
A jornada tem sido bem mais longa e tortuosa do que pensávamos seria. Questões como ética, vieses e a amplitude de uso aplicações de reconhecimento facial começaram a ser discutidos com intensidade, algo que nem era pensado em 2012. Sinal claro de maturidade.
Na verdade, estamos engatinhando no uso dos algoritmos de ML. Provavelmente daqui a cinco ou dez anos, o cenário será muito diferente do que é hoje. Métodos que, atualmente, consideramos no estado-da-arte ficarão desatualizados, e métodos que hoje são incipientes ou simples protótipos poderão ser o novo mainstream.
É difícil fazer previsões. Mas analisando as publicações e pesquisas, alguns sinais começam a aparecer aqui e ali, nos permitindo fazer algumas observações.
Bloqueios
O modelo atual de aprendizado supervisionado, com demanda de massivos volumes de dados, acaba gerando uma concentração excessiva e indesejável em poucas empresas, as BigTechs, que dispõem capital financeiro para “treinar” algoritmos cada vez mais sofisticados e complexos.
No aprendizado supervisionado, os modelos de ML aprendem a partir de conjuntos de dados que os humanos organizam e rotulam de acordo com categorias predefinidas. O termo "aprendizagem supervisionada" vem do fato de que "supervisores" humanos preparam os dados com antecedência. É assim que treinamos sistemas de reconhecimento facial ou de análise de imagens médicas.
É indiscutível que o processo de rotular manualmente milhões de imagens é extremamente caro, demorado e complicado. A necessidade de que os humanos devem rotular os dados manualmente antes que os modelos de ML possam analisá-los tornou-se um grande gargalo para os projetos.
Além disso, esses modelos orientam-se apenas pelos conceitos e categorias que os pesquisadores identificaram com antecedência, não conseguindo explorar e absorver as informações latentes, relacionamentos e implicações existentes nos conjuntos de dados que não tenham sido previamente rotulados ou classificados.
Também observamos que existem inúmeras aplicações em setores de negócio que não dispõem de grandes volumes de dados. O aprendizado supervisionado tem seu espaço, mas precisamos de alternativas.
Assim, vemos o crescimento dos modelos de aprendizado não supervisionado. O aprendizado não supervisionado é uma técnica de ML em que, de forma simplificada, os algoritmos aprendem a partir dos dados sem rótulos ou orientação prévias fornecidos por humanos.
O próprio Yann LeCun, um dos “pais” do ML já disse que “The next AI revolution will not be supervised.”. Na verdade, ele usa o termo “aprendizagem auto-supervisionada”.
Robôs sem supervisão
Como funciona o modelo de aprendizagem não supervisionada?
Em tese é simples: o sistema aprende sobre algumas partes do mundo com base em outras partes do mundo. Ao observar o comportamento, os padrões e os relacionamentos entre entidades, por exemplo, palavras em um texto ou pessoas em um vídeo, o sistema inicia um processo de compreensão geral de seu ambiente.
Esse modelo reflete mais de perto a maneira como nós, humanos, aprendemos sobre o mundo: por meio de exploração e inferências abertas, sem a necessidade dos volumes imensos de dados necessários na aprendizagem supervisionada.
Uma criança reconhece um cachorro, mesmo de cor e raça diferentes, sem necessidade de ver previamente milhares de cachorros. Uns poucos que ela vê já é suficiente para reconhecer os demais. Uma das vantagens desse modelo é que sempre haverá muito mais dados não rotulados do que dados rotulados no mundo.
Já vemos casos concretos de uso desse modelo. O AlphaZero da DeepMind é um exemplo. O paper “AlphaZero: Shedding new light on chess, shogi, and Go” nos dá uma boa ideia do como ele faz.
"More than meets the eye!"
Mais recentemente, vimos essa abordagem causando grande impacto no processamento de linguagem natural. A NLP tem mostrado progressos graças a uma nova arquitetura de aprendizagem não supervisionada conhecida como Transformer, que se originou no BERT do Google há poucos anos.
O artigo “Transformers from Scratch” dá uma boa explicação sobre o conceito desses modelos. Vale a pena dar uma olhada.
O lançamento do GPT-3 pela OpenAI estabeleceu um novo padrão no NLP: pode escrever poesia, gerar código de computação, redigir memorandos de negócios, escrever artigos sobre si mesmo e por aí vai.
Anteriormente, os métodos de NLP de última geração eram todos baseados em redes neurais recorrentes (RNN). Por definição, as RNN processam dados sequencialmente, ou seja, uma palavra por vez, na ordem em que as palavras aparecem.
A grande inovação dos Transformers é tornar o processamento da linguagem paralelizado: todos os tokens em um determinado corpo de texto são analisados ao mesmo tempo, e não em sequência. Para suportar essa paralelização, os Transformers dependem muito de um mecanismo de ML conhecido como Atenção.
A Atenção permite que um modelo considere as relações entre as palavras, independentemente do quão distantes elas estão e para determinar quais palavras e frases em uma passagem são mais importantes para "prestar atenção".
Patrick Tomasso - via Unsplash
Com paralelização, os Transformers são muito mais eficientes do ponto de vista computacional do que os RNNs, o que significa que eles podem ser treinados em conjuntos de dados muito maiores. O GPT-3 foi treinado em cerca de 500 bilhões de palavras e consiste em 175 bilhões de parâmetros, superando qualquer RNN existente.
As plataformas baseadas em Transformers podem servir de “foundation” ou base para desenvolvimento de novos sistemas de ML, tanto para NLP como para visão computacional.
Uma “foundation” ou plataforma seria uma base como um sistema operacional (hardware, software e frameworks) sobre a qual outros sistemas são construídos, mas sem necessidade de fazer todo o trabalho de fazer o sistema operacional.
É uma proposta interessante, pois ninguém consegue imaginar escrever um app para iOS tendo que escrever também seu próprio iOS. Assim, ganha-se tempo e velocidade na criação de novos sistemas de ML.
Tem prós, que é velocidade de desenvolvimento e menos custos, mas também tem seus pontos negativos. Ficar na dependência de poucas e determinadas “foundations” pode ser preocupante, pois fica-se na dependência de sua evolução tecnológica, de modelos matemáticos, retreinamentos e recalibrações.
Um sistema como o GPT-3 tem muitas funcionalidades, mas ainda tem grandes limitações, não temos como auditar se existem vieses embutidos (é uma imensa black box) e é muito difícil ser comparado com outros sofisticados modelos pré-treinados.
Cifrões gigantes
O questionamento que faço é que construir uma plataforma dessas é muito caro e quem vai ser provedor delas serão também as BigTechs.
Recentemente, a Microsoft e a Nvidia anunciaram que treinaram um dos maiores e mais sofisticados modelos de linguagem de IA até hoje: Megatron-Turing Natural Language Generation (MT-NLP). O MT-NLP contém 530 bilhões de parâmetros, e consegue uma alta precisão em um amplo conjunto de tarefas, incluindo compreensão de leitura e inferências de linguagem natural.
Construir um modelo desse não sai barato. O treinamento ocorreu em 560 servidores Nvidia DGX A100, cada um contendo 8 GPUs Nvidia A100 80GB. Estima-se seu custo em vários milhões de dólares.
No início de outubro, os pesquisadores da Alibaba colocaram no ar o M6-10T, um modelo de linguagem contendo 10 trilhões de parâmetros (cerca de 57 vezes o tamanho da GPT-3 da OpenAI) treinado em 512 GPUs Nvidia V100 por 10 dias.
O custo do uso do V100 mais barato disponível por meio do Google Cloud Platform custa US $ 2,28 por hora, o que equivaleria a mais de US $ 300.000 (US $ 2,28 por hora multiplicado por 24 horas em 10 dias) - mais do que a maioria das equipes de pesquisas, e principalmente startups, podem dispor.
Estima-se que a DeepMind, subsidiária do Google, gastou US $ 35 milhões treinando seu sistema para aprender o jogo de tabuleiro Go.
Devido aos altos custos de treinamento, a OpenAI decidiu não corrigir um bug que foi detectado ao implementar o seu GPT-3, porque o custo do retreinamento simplesmente era inviável. O custo inicial já tinha sido de mais de 4 milhões de dólares.
Claramente estamos diante de um desafio. Com o crescente do aumento dos custos econômicos e ambientais, a evolução do ML precisará encontrar novas maneiras de aumentar o desempenho, sem continuar no ritmo atual de mais e mais demandas crescentes de computação e custos.
No rumo atual, vai se tornar sua evolução vai praticamente ficar limitado as BigTechs, as únicas que têm capacidade financeira e computacional para criar e treinar esses modelos.
Privacidade Federada
Outra técnica que começa a despontar é a Federated Learning. Tem despertado atenção no setor de saúde, onde me parece que deverá ser mais aplicado, pelo menos no início. A razão é simples: privacidade dos dados.
Torna-se difícil conseguirmos dados compartilhados dos diversos atores do ecossistema de saúde para “treinar” algoritmos e isso se torna um fator limitante. O Federated Learning ou aprendizado federado pode ser uma boa alternativa.
O conceito de aprendizagem federada foi formulado pela primeira vez por pesquisadores do Google no início de 2017. E o interesse pelo método explodiu. Comparando, por exemplo, os seis primeiros meses de 2020 vimos mais de 1.000 artigos de pesquisa publicados, contra apenas 180 em todo o ano de 2018.
A abordagem padrão para construir modelos de ML que adotamos hoje é reunir todos os dados de treinamento em um só lugar, um Data Lake, geralmente em uma nuvem, e então treinar o modelo nesses dados.
Mas essa abordagem não é praticável para muitos setores, como o de saúde, por razões de privacidade e segurança. Um hospital ou empresa de seguro saúde não quer ver seus dados transferidos para um repositório central de dados e compartilhado por outras empresas e startups.
Um artigo muito interessante sobre a técnica é “The future of digital health with federated learning” publicado na Nature.
O aprendizado federado inverte a abordagem convencional do ML. Em vez de exigir um conjunto de dados unificado para treinar um modelo, o aprendizado federado deixa os dados onde estão, distribuídos por vários dispositivos e servidores.
Em vez disso, muitas versões do modelo são enviadas, uma para cada dispositivo com dados de treinamento, e treinadas localmente em cada subconjunto de dados. Os parâmetros do modelo resultantes, mas não os dados de treinamento em si, são enviados de volta para a nuvem.
Quando todos esses “minimodelos” são agregados, o resultado é um modelo geral que funciona como se tivesse sido treinado em todo o conjunto de dados de uma vez.
A crescente ênfase nas regulações sobre privacidade como GDPR e LGPD aqui no Brasil devem provocar um aumento no interesse por essa técnica.
ThisisEngineering RAEng - @thisisengeneering - via Unsplash
Conteúdo dentro de conteúdo
Um outro método que está evoluindo rápido é a ML generativa. Os modelos atuais, principalmente, interpretam e classificam os dados existentes, como reconhecendo rostos ou identificando fraudes. A IA generativa é um novo método que se concentra na construção de algoritmos que podem gerar seu próprio conteúdo.
Para simplificar, a ML generativa busca evoluir da percepção para a criação. Uma tecnologia está no cerne da ML generativa: redes adversárias gerativas (GANs).
O modelo GANs foi inventado por Ian Goodfellow em 2014, quando fazia seu doutorado na Universidade de Montreal com o pioneiro da IA, Yoshua Bengio. A descoberta conceitual de Goodfellow foi arquitetar GANs com duas redes neurais separadas, e, em seguida, colocá-las uma contra a outra.
Começando com um determinado conjunto de dados (digamos, uma coleção de fotos de rostos humanos), a primeira rede neural (chamada de “gerador”) começa a gerar novas imagens que, em termos de pixels, são matematicamente semelhantes às imagens existentes.
Enquanto isso, a segunda rede neural (o "discriminador") é alimentada com fotos sem ser informada se são do conjunto de dados original ou da saída do gerador; sua tarefa é identificar quais fotos foram geradas sinteticamente.
À medida que as duas redes trabalham iterativamente uma contra a outra, o gerador tentando enganar o discriminador, o discriminador tentando descobrir as criações do gerador, elas aprimoram as capacidades uma da outra.
Eventualmente, a taxa de sucesso de classificação do discriminador cai para 50%, não melhor do que adivinhação aleatória, o que significa que as fotos geradas sinteticamente se tornaram indistinguíveis das originais.
O ML generativo inspirou aplicações no mundo real amplamente benéficas e algumas assustadoramente perigosas. Do lado positivo, um dos casos de uso mais promissores para IA generativa são os dados sintéticos. Os dados sintéticos são uma tecnologia potencialmente revolucionária que permite fabricar digitalmente conjuntos de dados artificiais que precisamos para treinar modelos de IA.
Sintéticos
Obter acesso aos dados corretos é a parte mais importante e mais desafiadora dos projetos de sistemas de ML hoje. Geralmente, para treinar um modelo de ML, precisamos coletar milhões de dados do mundo real. Eles devem ter rótulos anexados antes que o modelo possa aprender com os dados. Na melhor das hipóteses, é um processo caro e demorado.
E na pior das hipóteses, os dados de que precisamos são simplesmente impossíveis de serem obtidos.
Os dados sintéticos quebram esse paradigma, permitindo possamos criar artificialmente conjuntos de dados de alta fidelidade sob demanda, ajustados às necessidades precisas do projeto.
Por exemplo, usando métodos de dados sintéticos, para treinar veículos autônomos podemos gerar bilhões de diferentes cenas de direção, sem precisar realmente encontrar cada uma dessas cenas nas ruas do mundo real.
Conforme os dados sintéticos se aproximam dos dados do mundo real com precisão, eles democratizarão o uso do ML, eventualmente podendo minar a vantagem competitiva dos ativos de dados proprietários.
Em um mundo em que os dados podem ser gerados sob demanda de maneira econômica, a dinâmica competitiva entre os setores será afetada. Pode, eventualmente, diminuir o poder concentrador das empresas que dispõem de bilhões de dados, como as BigTechs.
Mas claro, sempre existe um lado negativo: contrabalançando o enorme potencial positivo dos dados sintéticos, podemos com eles criar sistemas chamados deepfakes.
Máscaras
A tecnologia deepfake permite que criemos fotos e vídeos realistas de pessoas dizendo e fazendo coisas que na verdade não disseram ou fizeram. Uso em fraudes, pornografia ou na esfera política são exemplos típicos.
Alguns estudos apontam a gravidade potencial da situação. Recomendo a leitura do estudo “Deepfakes: A Grounded Threat Assessment”, publicado pelo CSET (Center for Security and Emerging Technology) da Georgetown University, nos EUA. São cerca de 50 páginas que descrevem o que são Deep Fakes, como são criados e os riscos potenciais de seu uso criminoso.
Recentemente, veio a público um caso de roubo praticado com técnicas de Deep Fake. Um grupo de cibercriminosos nos Emirados Árabes Unidos usou a tecnologia como parte de um roubo a um banco, que transferiu um total de US $ 35 milhões para fora do país, distribuído em diversas contas espalhadas por todo o mundo.
O processo foi simples. Basicamente, usou-se algoritmos de ML para fazer uma versão falsa da voz de um cliente do banco. Nesse caso, os criminosos usaram um algoritmo para recriar a voz de um executivo de uma grande empresa. Em seguida, ligaram para um gerente de banco que era um dos responsáveis pelo relacionamento com o executivo e que, portanto, conhecia sua voz.
Os falsificadores também enviaram e-mails falsos a esse gerente, confirmando os detalhes das transações solicitadas. Entre os e-mails e a voz familiar, quando o executivo pediu ao gerente que autorizasse a transferência de milhões de dólares entre algumas contas, o gerente não viu nenhum problema e seguiu em frente, fazendo o que foi solicitado.
A fraude ocorreu em janeiro de 2020, e as autoridades dos Emirados Árabes Unidos estão agora pedindo ajuda à investigadores nos EUA para rastrear US$ 400.000 do dinheiro roubado que foi para contas bancárias americanas.
Esse assalto não foi o primeiro a usar a tecnologia, mas foi a primeira vez que se conseguiu roubar uma grande quantia de dinheiro usando uma voz falsa.
Em 2019, um grupo de criminosos falsificou a voz do CEO de uma empresa de energia sediada no Reino Unido para transferir US $ 243.000 para uma conta bancária na Hungria.
É um exemplo real que talvez prolifere com o tempo, com mais e mais algoritmos sendo disponibilizados.
Como acontece com qualquer sistema de aprendizado de máquina, seu resultado melhora com base na quantidade e qualidade de seus dados de entrada, uma voz falsa soará mais como a real se houver um volume adequado de gravações para o sistema “aprender”.
Por isso, é bem provável que um dos seus maiores usos será falsificar voz e atos de personalidades públicas, como artistas e políticos, que deixam uma pegada digital imensa.
Qualquer inovação pode gerar enormes benefícios ou infligir graves danos à sociedade, dependendo de como os humanos decidem empregá-la. Vale para a energia nuclear, vale para a Internet e vale para os sistemas de ML.
Enfim, temos ainda muito espaço para evoluir em ML. Podemos pensar no uso de algoritmos distribuídos nas pontas, o chamado “edge computing”, com processadores poderosos colocados em dispositivos conectados por redes de alta velocidade, como a 5G.
E repensar o caminho que seguimos até agora com ML e suas técnicas, e criar novos e diferentes modelos em uma busca (não existe consenso se um dia será factível) pela chamada AGI, com computadores pensantes e conscientes.
O divertido disso tudo é que estamos aprendendo a descobrir o potencial e as limitações do ML. Maturidade vem com a experiência e para conseguirmos experiência precisamos tentar e errar. É o que fazemos hoje!
Este artigo foi escrito por Cezar Taurion e publicado originalmente em Prensa.li.