Na imensa maioria das vezes assistimos a palestras de empresas e startups que falam em usar inteligência (IA), geralmente no futuro, ou que estão em experimentações em labs restritos, mas poucas vezes ouvimos elas dizerem de como mantém seus sistemas de IA em produção.
Um sistema de IA não utilizado não oferece valor. Um protótipo, se não for colocado em produção, torna-se um brinquedo. E em muitas conversas observo que ainda vemos poucas coisas de IA colocadas em produção. E, por isso, muito pouco é dito sobre como fazer a transição do desenvolvimento para produção e de como manter e gerenciar estes sistemas no dia a dia.
Portanto, nada mais natural que em uma conversa com a diretoria de uma empresa para o qual fui convidado a integrar seu Conselho de Inovação, tenha ouvido a reclamação.
“Investimos em IA. Montamos uma equipe e criamos um lab de IA. Fizemos algumas PoCs (proof of concept), mas não vimos ainda nenhum resultado concreto. Parece que apenas damos entrevistas à mídia sobre IA, mas ela não apareceu ainda nos nossos resultados.”
É uma preocupação comum. IA parece estar em todos os lugares, menos nos resultados dos negócios. Na verdade, o sonho da diretoria desta empresa é ser alguém como a Amazon, onde IA está entranhada no negócio. O artigo “Inside Amazon’s Artificial Intelligence Flywheel” mostra como ela fez e faz isso.
A maioria são organizações grandes que investem alto em IA e com um histórico de adoção relativamente inovadora de outras tecnologias. Porém, não ouvimos delas quais resultados foram obtidos a partir destas iniciativas de IA. Conversando com algumas dessas empresas descobri que eles simplesmente não estavam muito adiantados em suas iniciativas, e, portanto, seus projetos, pelas suas óticas, ainda não valiam a pena serem mostrados publicamente.
Eles estavam fazendo muitos pilotos, provas de conceito e protótipos, mas tinham nenhuma ou poucas implantações em produção. Quando eles tinham sistemas de IA em produção, a maioria eram sistemas baseados em machine learning que já estavam operando há muitos anos.
Os bancos, por exemplo, já usam amplamente a “pontuação” para avaliar os riscos dos clientes em busca de crédito e evitar possíveis fraudes. Alguns disseram que na verdade seus projetos de IA eram implementações de automação de processo robótico (RPA), mas sem uso de IA, apenas automação dos processos existentes.
As melhorias nos processos era feita manualmente, e depois inseridas nos seus softwares de RPA. Claramente nestes casos, dizer que sua implementação de RPA é uma implementação de IA é, no mínimo, um exagero!
Mas há boas razões pelas quais as implementações de produção dos projetos de IA são relativamente escassas. Uma é a pouca maturidade da tecnologia. Chatbots e agentes inteligentes, por exemplo, estão melhorando a cada dia, mas muitas empresas ainda hesitam em colocá-los na linha de frente com seus clientes.
Em vez disso, eles os usam internamente, apoiando a comunicação dos seus funcionários os setores de RH e TI. Alguns disponibilizam chatbots para seus call centers, mas para uso em segundo plano para ajudar a responder às perguntas dos clientes.
Na verdade, muitas implementações de chatbots não são boas. Muitos chatbots não aprendem com as interações com seus clientes e só respondem a perguntas muito simples e diretas. Um artigo interessante aborda esta questão: “Bots are not really ‘intelligent’. Here’s why”.
Outro desafio é que um algoritmo de IA para trazer resultados para o negócio precisa estar embutido dentro de uma aplicação. E esta aplicação precisa estar integrada com os demais sistemas da organização. Seu resultado deve, provavelmente, afetar sistemas, processos e atividades dentro da empresa.
Um algoritmo isolado, não tem muito a oferecer. Se a iniciativa de IA realmente alterar alguns processos de negócios relevantes, isso cria uma outra barreira à sua implementação, que é a natural aversão às mudanças
A maioria dos sistemas de IA ainda envolve interação com as pessoas e educar os funcionários em novas tarefas e novas habilidades pode ser demorado e custoso. Mudar o comportamento das pessoas devido a interação com algoritmos de IA não é fácil.
Mas o que pode e deve ser feito?
Antes de mais nada, definir prazo e critérios para avaliar se o projeto piloto deverá entrar em produção, antes do início do seu desenvolvimento. Isso vai adicionar rigor ao processo de decisão e alertará os proponentes do projeto piloto de que a implementação é uma consideração importante desde o início e que não deve ser encarado como uma mera PoC.
Valide se o sistema de IA proposto pode ter uma interface relativamente fácil com seus sistemas existentes, como uma API ou código de programa gerado, que funcione com sua arquitetura de sistemas.
Inicie um programa de educação relacionada à IA. Mesmo que você não tenha certeza das necessidades específicas de seus funcionários para reciclagem e requalificação, você pode disponibilizar ofertas de educação sobre como entender e trabalhar com IA.
Esses programas educacionais alertam os funcionários de que ocorrerão mudanças em seus trabalhos com a IA e que eles devem começar a se preparar para isso. Conhecer IA e não ter receio de perder emprego, por exemplo, ajuda em muito no processo de gerenciamento de mudanças.
Agora que você já tem uma PoC pronta para liberação no ambiente de produção, não esqueça que, embora imperfeito, ele deverá conter todos os elementos necessários para resolver o problema, como interfaces da web, APIs, controle de armazenamento e de versão. Mas, sair da POC para produção é uma tarefa que não é simples. Leia o artigo “Moving AI from PoC Stage to Production” para entender que o processo é uma estrada sinuosa e pedregosa.
Ter um modelo em produção não significa que ele precisa ser visível publicamente. Pense em uma fase piloto, onde ele deve ser exposto a dados ativos, para que sua equipe possa fazer refinamentos até atender aos requisitos que serão disponibilizados para uso aberto.
Com os dados ativos, você pode realizar testes mais exaustivos de execução e fornecer à sua equipe de IA feedback sobre o que está funcionando bem e o que não está. Nesse estágio, priorize o estabelecimento de um processo de liberação controlada e gradual.
Você também deve monitorar o desempenho e a escalabilidade do seu sistema. Planeje ciclos contínuos de melhoria, investigue e implemente refinamentos do modelo e, alterações das interfaces. Novos modelos devem ser comprovadamente superiores aos que substituem. Teste todas as alterações antes que as atualizações sejam lançadas no ambiente de produção. Esses ciclos continuarão por toda a vida útil do sistema.
Ao planejar o projeto de implementação, valide onde seu sistema será executado: no seu data center ou na nuvem? A opção pelo seu data center, on premise, geralmente é tomada quando seus dados são altamente sensíveis e você precisa mantê-los sob seu controle direto.
Normalmente, isso é possível apenas para empresas que já possuem sua própria infraestrutura de hardware. Essa pode ser uma opção válida se o volume de solicitações de gerenciamento for conhecido e relativamente estável. No entanto, todo o novo hardware adicional deve ser adquirido e provisionado, o que limita a escalabilidade. A opção de usar nuvem pode ser vantajoso para a maioria das empresas.
Não esqueça que você pagará para transferir e receber dados, mas vai evitar o custo da aquisição de hardware e de uma equipe para gerenciar o ambiente. Como transferir grandes volumes de dados é custoso, se você já estiver usando ambientes de nuvem como os da Amazon, Google, IBM ou Microsoft, para suas aplicações tradicionais, é mais atrativo continuar com ele para seus projetos de IA.
Para comprovação de que as novas versões de IA são eficazes e melhores que as versões anteriores, teste seu sistema de IA em vários estágios. Durante o treinamento: enquanto seu modelo está sendo treinado, teste-o constantemente com um subconjunto de dados de treinamento para validar sua precisão.
Os resultados não representam totalmente o desempenho do modelo, porque os dados do teste randomizados irão influenciar o modelo. Como resultado, esse teste provavelmente exagerará a precisão do modelo. Não considere este número quando for vender a ideia para seu board
Na validação, reserve uma parte dos seus dados de treinamento para isso. Este conjunto de testes, conhecido como conjunto de validação, não deve ser usado para treinamento. Por conseguinte, as previsões que o seu sistema de IA faz a partir do conjunto de validação representam melhor as previsões que ele fará no mundo real.
A precisão no estágio da validação geralmente é menor que a precisão obtida durante o treinamento. Cuidado para que o seu conjunto de dados represente bem os dados do mundo real, pois, caso contrário, pode gerar uma precisão superestimada. Muita atenção com os dados que podem embutir viés nos algoritmos.
Após a criação do seu modelo, teste-o com dados ativos para obter uma medida de precisão mais apropriada. De maneira geral, esta precisão é muito menor que a obtida no teste e deve ser refinada continuamente.
E finalmente, lembre-se que um sistema de IA não cessa de evoluir nunca. Infelizmente na hora que você coloca um sistema de ML em produção ele começa a degradar! O artigo “Why Machine Learning Models Degrade In Production” debate esta questão.
Mas fica claro que para manter a inteligência do sistema de IA, teste regularmente os resultados com dados ativos, para garantir que os resultados continuem atendendo seus critérios de aceitação. Separe budget para futuras atualizações e reciclagem, e monitore sistematicamente a degradação do desempenho.
À medida que sua empresa cresce ou muda o foco, os dados (incluindo dados de séries temporais e características do produto) evoluirão e se expandirão. A reciclagem sistemática de seus sistemas deve ser um componente de sua estratégia de IA. Lembre-se de que a IA é uma capacidade, não um produto. Está sempre melhorando. Surgem novos algoritmos e as técnicas de IA que usamos hoje podem se tornar obsoletas em poucos anos.
A implementação de projetos de IA é a única maneira pelas quais as organizações obterão valor tangível a partir de seus investimentos em IA. As empresas estão gastando muito dinheiro em tecnologia de IA, e ela não deve ser vista exclusivamente como um experimento. Somente quando as empresas avançam para o status de produção com IA é que ele fornece ROI e produtividade para suas organizações. Ficar em labs e PoCs não gera resultados tangíveis. Só mídia.
*Cezar Taurion é Partner e Head of Digital Transformation da Kick Corporate Ventures e presidente do i2a2 (Instituto de Inteligência Artificial Aplicada). É autor de nove livros que abordam assuntos como Transformação Digital, Inovação, Big Data e Tecnologias Emergentes. Professor convidado da Fundação Dom Cabral. Antes, foi professor do MBA em Gestão Estratégica da TI pela FGV-RJ e da cadeira de Empreendedorismo na Internet pelo MBI da NCE/UFRJ.