Nubank abre sua biblioteca de machine learning
Machine Learning é um ramo da Inteligência Artificial focado em ensinar computadores a tomarem decisões a partir de dados. A ideia não é programar uma máquina, mas sim tornar possível que ela aprenda sozinha a fazer escolhas a partir de informações. Esse aprendizado acontece por meio de algoritmos. No Nubank, os Data Scientists, ou cientistas de dados, são os responsáveis por aplicar Machine Learning e outras técnicas de inteligência artificial e análise de dados aos nossos problemas de negócio. E é essa plataforma que eles estão abrindo para o mercado.
Algoritmos de machine learning são usados, por exemplo, por plataformas de vídeo e serviços de streaming para recomendar filmes de acordo com o gosto individual de cada usuário. Quanto mais o usuário interage com a plataforma, mais preciso fica o algoritmo de recomendação. Por aqui, os algoritmos de ML são usados em uma série de sistemas – por exemplo, para identificar qual o motivo do contato de alguém entrando no chat e repassar a conversa para a pessoa mais adequada para responder.
“No nosso dia a dia, usamos uma série de bibliotecas abertas de Machine Learning (como Xgboost, LGBM e ScikitLearn). Essas plataformas open-source permitem que toda a comunidade desenvolvedora se beneficie de conhecimento compartilhado”, explica o Nubank, em comunicado no eu site.
Ainda assim, a empresa sentiu a necessidade de um nível maior de abstrações que ajude a aplicar o conteúdo dessas bibliotecas aos problemas. “Por isso, criamos a Fklearn, a nossa biblioteca de Machine Learning com foco em programação funcional”, anuncia a Nubank. A Fklearn embala outras bibliotecas em um formato que torna mais fácil usá-las em produção e abastece uma série de modelos que nos ajudam a resolver problemas de análise de dados no Nubank.
“Por acreditar que ela tem sido bastante útil no dia-a-dia, decidimos tornar a Fklearn uma biblioteca open-source de machine learning. A partir de hoje, ela está aberta”, diz a empresa. Enfatizando o espírito comunitário da ação no seu site: “queremos contribuir com a comunidade de Machine Learning com essa ferramenta, afinal, usamos muitos projetos open-source no nosso dia a dia e achamos importante também retribuir com coisas novas, devolvendo um pouco pra comunidade”.
De onde surgiu a ideia da Fklearn
O pessoal do Nubank, é fã de programação funcional – e, há algum tempo, percebe que ela pode ser uma grande aliada dos cientistas de dados.
“Machine Learning é frequentemente feito usando código em python orientado a objeto e, até pouco tempo, era assim que a gente trabalhava por aqui”, explica a empresa. Na época, o processo de construir modelos de machine learning e colocá-los em produção era trabalhoso e, muitas vezes, cheio de bugs. Somente depois que o modelo ia para a validação era possível descobrir que uma série de previsões não batiam com as feitas na fase de produção. Para piorar, a validação em si era muito difícil de reproduzir e os resultados acabavam pouco consistentes.
Com a programação funcional, o banco digital conseguiu resolver uma série de problemas. Eles citam alguns:
- Ficou mais fácil criar “pipelines” garantindo que os dados da fase de treinamento batem com os dados em produção.
- Exploração em ambientes interativos (e.g. Jupyter Notebooks) ficaram mais consistentes e fáceis de reproduzir.
- A validação de modelos passou a ser feita de forma mais genérica e automática, aumentando a nossa eficiência.
“Não esperamos que o Fklearn substitua bibliotecas mais comuns que já estão sendo usadas, mas achamos que ela pode ser útil para começar uma conversa sobre os benefícios da programação funcional em Machine Learning”. E o melhor: todos os desenvolvedores podem contribuir.