A biblioteca desenvolvida em código aberto permitiu testar a acurácia na predição de fraudes nas compras pelo aplicativo iFood
Leandro Steiw
Três estudantes de Engenharia de Computação do Insper criaram uma ferramenta para identificar falhas em modelos de machine learning. O desafio proposto pelo aplicativo iFood deu origem ao Projeto Final de Engenharia (PFE) de Giovanni Cardoso Pertence dos Santos, João Pedro Gianfaldoni de Andrade e William Augusto Reis da Silva, apresentado no final de 2022.
A biblioteca de código aberto, programada em Python, diagnostica o modelo e produz relatórios em busca de comportamentos inesperados, os chamados bugs. Assim, os programadores podem corrigir erros que não haviam sido detectados durante as etapas de treinamento, teste e validação. “O projeto está relacionado com modelos preditivos de machine learning, empregados para identificação de fraudes em transações financeiras, entre diversas aplicabilidades”, diz o professor Fabrício Barth, orientador do PFE Detecção de Bugs em Modelos de Machine Learning.
Em programação, os cientistas de dados utilizam um conjunto de exemplos para, a partir deles, criar um modelo que tenta explicar algum comportamento. Fraudes, por exemplo. A cada novo pedido do consumidor em um aplicativo, o modelo analisa diversos dados — como CPF do comprador, mercadoria, valor e local da compra — e informa qual é a probabilidade de aquela transação ser uma fraude ou não.
Existem algumas métricas para avaliar se o novo modelo de machine learning vai funcionar bem antes de ser colocado em produção, ou seja, em uso efetivo para detectar operações fraudulentas. Posteriormente, deve-se monitorar o comportamento desse modelo para verificar se a resposta obtida condiz com a esperada. Nem sempre se confirma a capacidade de acerto estimada nas etapas anteriores.
Nesse contexto, surgiu a demanda do iFood. “Esses modelos para identificação de fraudes são muito atacados pelos usuários”, afirma Barth. “Eles ficam testando alternativas dentro do sistema até encontrar uma brecha.”
Segundo Barth, a equipe do iFood executou o pacote desenvolvido pelos estudantes em cima dos seus modelos internos, aos quais só a empresa tinha acesso, e conseguiu identificar rapidamente essas variações abruptas no comportamento. “Se eles tivessem esse tipo de ferramenta antes, tantos problemas gerados na época teriam sido evitados”, afirma o professor. A biblioteca será incorporada ao processo de desenvolvimento de modelos preditivos do iFood e, como foi programada em código aberto, está disponível para outros desenvolvedores.
No PFE, os grupos são formados pelos professores conforme uma lista de interesses dos estudantes, de modo que não é incomum se reunirem colegas que não haviam tido a oportunidade de trabalharem juntos nos semestres anteriores. Foi o caso de Santos, Andrade e Reis. Os três estão agora fazendo estágios em empresas diferentes, inclusive da área de aplicação do PFE. No Insper, o estágio supervisionado é feito nos dois últimos semestres da Engenharia, depois da entrega do trabalho de conclusão de curso.
Uma das dificuldades do projeto foi a confrontação com um problema novo, que envolvia temas ainda não estudados em aula. “Em um quesito técnico, o que vimos em aula não supria totalmente o projeto, até por ser um problema novo e com uma abordagem diferente, mas com certeza serviu como um ótimo guia de identificação de temas semelhantes e de apoio para podermos evoluir com nossas pesquisas e aprendizados”, diz Reis. “Na questão mais de projetos, os aprendizados pelas matérias servem muito de apoio, pois já somos acostumados desde o começo da faculdade a realizar projetos práticos, facilitando no desenvolvimento do PFE.”
Andrade concorda: “Os conhecimentos de aula foram suficientes para nos guiar em relação a quais ferramentas e possíveis soluções permitiriam desenvolver o projeto, porém tivemos que estudar e aprender sobre assuntos específicos que não haviam sido diretamente abordados durante as aulas”. Por sua vez, Santos lembra que ainda não havia cursado a disciplina eletiva Machine Learning. “Não tive muito contato com o tema antes disso, então acabei aprendendo muito no decorrer do projeto”, afirma.
Para Andrade, como se tratava de um problema com um escopo bastante aberto, não foi possível prever um resultado concreto antes do início do projeto. “Mas, após definirmos uma solução para o problema apresentado, pudemos fazer uma previsão de onde queríamos chegar, e no final do projeto conseguimos alcançar esse objetivo previsto”, diz.
O grupo seguiu a metodologia ágil, uma série de valores e princípios de gerenciamento de projetos nascidos no setor de tecnologia. Bastante difundida nos cursos do Insper, essa metodologia incentiva a colaboração constante entre equipes de trabalho e usuários dos produtos. “Mesmo para o pessoal da área, o escopo inicial desse projeto estava muito nebuloso”, afirma Barth. “Então, adotou-se a metodologia ágil para fazer inúmeras iterações e, a cada iteração, a equipe disponibilizava uma versão da implementação e checava com o cliente se era aquilo o que estava faltando.”
Muitas das funcionalidades da biblioteca foram implementadas e, posteriormente, descartadas. Outras, aprimoradas ao longo do tempo até o grupo chegar a uma versão robusta da ferramenta. “A metodologia ágil foi fundamental para o sucesso desse projeto”, diz o professor. No relatório, os alunos concluíram que a ferramenta se mostrou habilitada a realizar análises para diferentes tipos de modelos de machine learning de classificação binária, como redes neurais, árvores de decisão e gradient boosting. Pelo trabalho, eles receberam a certificação Falconi-Insper, emitida pela Falconi Consultores de Resultado.