Como é atuar na Engenharia de Machine Learning do Itaú?

Diego Nogare
itau-data
Published in
4 min readJun 23, 2022

Você já imaginou como é trabalhar na área de engenharia de machine learning de uma empresa com cerca de 60 milhões de clientes e mais de 70 petabytes de dados? Essa é a realidade que vivenciamos no dia a dia aqui no Itaú Unibanco — e nesse artigo, vou compartilhar alguns de nossos objetivos e um pouco da nossa rotina de trabalho.

No Itaú, somos centenas de cientistas de dados desenvolvendo ferramentas no estado da arte em Inteligência Artificial. Muitos dos produtos que utilizamos são desenvolvidos por aqui e exigindo multidisciplinaridade com diversas áreas e habilidades, como engenharia, arquitetura e desenvolvimento de software; arquitetura de cloud computing; segurança da informação; governança de dados; entre algumas outras..

Especificamente no time de Engenharia de Machine Learning, nós trabalhamos para construir, sustentar e evoluir produtos de autosserviço para a implantação de modelos de aprendizagem de máquina. Nosso trabalho possui tanto visões estratégicas, com foco no futuro das plataformas do banco, quanto táticas, com o objetivo de manter e aprimorar os sistemas já existentes.

Cientistas de dados utilizam, de ponta a ponta, as plataformas que construímos, passando por todas as fases do ciclo de desenvolvimento, desde o acesso aos dados até o monitoramento do modelo publicado. Criamos um ambiente unificado mas não centralizado, que provisiona soluções como Feature Store, Ambiente de Experimentação de Modelos, Esteiras de CI/CD para Machine Learning, Agendador de execuções de queries, Monitoramento dos modelos em fase de experimentação e publicação, treino e retreino de modelos, ambientes de publicação de modelos… Tudo isso com o intuito de oferecer uma plataforma moderna, completa e dinâmica para que cientistas possam entregar valor para a área de negócios mais rápido, impactando assim, o cliente na ponta.

Além de desenvolver a plataforma, também elaboramos um processo de capacitação para treinar cientistas do banco no uso de todas estas ferramentas. Esta capacitação busca dar cada vez mais autonomia para o time de ciência de dados, para que foquem no problema de negócio que pretendem resolver sem ter que se preocupar com as ferramentas que utilizarão. Esta capacitação, combinada com até 8 horas de estudos semanais que as pessoas da carreira de Ciência de Dados e Engenharia de Machine Learning tem direito, auxiliam na evolução constante destas pessoas e permitem que soluções e estratégias modernas sejam discutidas e implementadas.

Para desenvolver a plataforma de publicação de modelos do banco, montamos um time multidisciplinar que ajuda em todo o processo de experimentação e homologação de frameworks de Machine Learning tanto com soluções de Cloud Computing quanto com soluções Open Source e soluções proprietárias. A relação que mantemos com fornecedores externos de ferramentas colabora para que a plataforma atenda as demandas do banco utilizando produtos estabelecidos no mercado, como também, permite que seja construído o que entendemos que é preciso.

Como interagimos com as diferentes áreas do banco?

Com esse escopo, você já deve imaginar que as áreas dedicadas à negócios e produtos que se alimentam dos nossos produtos não são poucas. É por isso que, aqui no Itaú, os produtos que desenvolvemos precisam ser flexíveis, escaláveis, ágeis e documentados, para que diferentes áreas do banco possam usá-los sem dificuldades, de forma automática e reproduzível.

Para atender a dinâmica dos clientes internos, e a velocidade com a qual as tecnologias se comunicam e evoluem, nossos times também participam de comitês com equipes de arquitetura e cloud, para auxiliá-las na habilitação de novas integrações entre sistemas e ambientes. Estas atividades permitem com que peças de tecnologias sejam criadas e entreguem as funcionalidades necessárias para que outras áreas atendam seus clientes.

Como funciona a carreira de engenharia de Machine Learning no Itaú?

Com o objetivo de consolidar e reconhecer o papel deste perfil específico de atuação dentro do banco, criamos uma carreira dedicada ao desenvolvimento de profissionais de Engenharia de Machine Learning.

Para entendermos quais os conhecimentos técnicos que seriam necessários para cada etapa da carreira, fizemos várias análises de mercado e conduzimos discussões com nosso time de pessoas, desenvolvimento e clientes até chegarmos em um conjunto de habilidades que mais fazem sentido para as nossas necessidades.

Estas habilidades são compartilhadas entre todos os níveis da carreira, o que se diferencia é o nível de profundidade do conhecimento exigido em cada etapa.

Internamente, o processo para ingressar na carreira de Engenharia de Machine Learning contém alguns passos. O primeiro passo é haver a disponibilidade de uma cadeira que atue com as ferramentas e tecnologias que foram definidas para o cargo. Com essa cadeira disponível, é realizada uma prova que avalia quantitativamente as habilidades técnicas que traçamos para o perfil. Após a aprovação neste exame, é então realizada uma sabatina para analisar de forma qualitativa conhecimentos mais profundos sobre o que se espera de cada nível.

Na prova são exigidos conhecimentos de programação em Python e teste de software; banco de dados relacional e não relacional tanto para consulta quanto para modelagem; Conceitos de Big Data e ingestão/consumo de dados; Arquitetura e soluções de CI/CD para Machine Learning; Infraestrutura como código e arquitetura para soluções na AWS; Container, Git e metodologia ágil; além de conhecer de Machine Learning. Já na sabatina o processo é conduzido com discussões aprofundadas em resoluções de problemas, compartilhando uma arquitetura e discutindo possíveis alterações e impactos, de acordo com as soluções que forem surgindo durante a conversa.

Bibliografia básica

Para auxiliar as pessoas interessadas em ingressar na carreira, preparamos uma bibliografia básica para que se preparem para o trabalho, e, se capacitem para realizar o exame + sabatina.

CD4ML: https://martinfowler.com/articles/cd4ml.html

MLOps: Continuos Delivery for ML on AWS: https://d1.awsstatic.com/whitepapers/mlops-continuous-delivery-machine-learning-on-aws.pdf

Machine Learning Lens — AWS Well-Architected Framework: https://docs.aws.amazon.com/wellarchitected/latest/machine-learning-lens/wellarchitected-machine-learning-lens.pdf

MLOps: pipelines de entrega contínua e automação do aprendizado de máquina: https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning

Hapke, H., & Nelson, C. (2020). Building Machine Learning Pipelines. O’Reilly Media.

Raj, E. (2021). Engineering MLOps. Packt Publishing.

Treveil, M., Omont, Dataiku Team. (2020). Introducing MLOps. O’Reilly Media.

Lakshmanan, V., Robinson, S., & Munn, M. (2020). Machine learning design patterns. O’Reilly Media.

Burkov, A. (2019). The hundred-page machine learning book (Vol. 1, pp. 3–5). Canada: Andriy Burkov.

--

--

Diego Nogare
itau-data

Machine Learning Engineering Manager at Itaú, Microsoft RD and former AI MVP. Speaker & Author. I love Space, beer & data! MSc in AI, PhD student