Precisamos falar sobre Model Lineage

Precisamos falar sobre Model Lineage
26

No artigo anterior nós mostramos como a Tail Refinaria provê um notebook de Ciência de Dados que pode ser usado para fazer experimentações e implantar em produção modelos de machine learning. Neste artigo, vamos discutir como podemos rastrear a história de um modelo.

Data Lineage é um tópico bastante conhecido em Ciência de Dados, embora não existam muitas ferramentas que permitam implementá-lo de forma fácil. O Data Lineage guarda a história de onde os dados vieram, como eles foram transformados e sua base legal.

A Tail Refinaria também provê um Data Lineage para todos os datastores que são armazenados no Data Lake, rastreando automaticamente quando um pipeline modifica os dados e, principalmente, mantendo registro de qual era a base legal de cada pedaço de dado. Isso é importante para estar compatível com legislações de privacidade como a LGPD. Na imagem abaixo, você pode ver o Data Lineage gerado automaticamente para um datastore da Tail Refinaria:

 

Conforme cada vez mais modelos de machine learning são usados para decidir aspectos das nossas vidas, saber como um modelo foi criado e que dados foram usados para o seu treino, se torna muito importante tanto para a manutenibilidade do modelo quanto para dar transparência sobre como as decisões foram tomadas.

O Model Lineage guarda a história de um modelo: quando ele foi treinado, usando quais dados, algoritmos e parâmetros. Isso deveria ser gerado automaticamente cada vez que uma nova versão de um modelo é treinada.

Na Tail Refinaria, nós construímos uma ferramenta de Model Lineage, que rastreia automaticamente os pipelines que treinam o modelo e os dados usados no treino. A tela abaixo mostra o Model Lineage do modelo “London Bike – kmeans” que criamos nos artigos anteriores.

Note que para cada versão do modelo, a Tail Refinaria rastreia qual pipeline foi usado para realizar o treino, que dados estavam envolvidos no treino e qual era a base legal de cada datastore usado. Se nós inspecionarmos o pipeline usado para o treino, nós podemos ver todos os parâmetros, transformações e técnicas de feature engineering que foram usadas para produzir aquele modelo.

Como modelos de machine learning produzem novos dados, o Data Lineage de um datastore deveria também rastrear que modelos estavam envolvidos na produção dos dados gravados nele. A tela abaixo mostra o Data Lineage do datastore “London Stations Predicted”. Note que a linha do tempo do Data Lineage mostra que parte dos dados foram gerados pelo modelo “London Bike – kmeans”.

Guardar a história do modelo é importante para transparência e rastreabilidade, mas em muitos ambientes corporativos o Model Lineage ainda não está disponível. Nós acreditamos que com a Tail Refinaria nós conseguimos prover uma forma fácil de manter a história do modelo e esperamos que mais empresas percebam a importância de saber como os modelos de machine learning foram criados.

 

Esse post faz parte de uma série de conteúdos sobre Refinaria de Dados.

Confira todos os conteúdos:

Post 1: Tail Refinaria – Resolvendo os problemas da Engenharia de Dados

Post 2: Machine Learning com a Tail Refinaria

Post 3: Acesso fácil a dados de treino para construção de modelos de Machine Learning com a Tail Refinaria

Post 4: Simplificando a utilização de algoritmos de Feature Engineering com a Tail Refinaria

Post 5: Treinando e implantando um modelo de Machine Learning com a Tail Refinaria

Post 6: Usando Notebooks de Ciência de Dados para Treino e Implantação de Modelos de Machine Learning

Post 7: Precisamos falar sobre Model Lineage

 

Post escrito por Fabiane Bizinella Nardon (@fabianenardon), Cientista Chefe da Tail. Com mestrado em Ciência da Computação e Doutorado em Engenharia Elétrica, é especialista em Engenharia de Dados e Engenharia de Machine Learning. É também responsável pelo conteúdo editorial da trilha de Engenharia de Machine Learning do QCon São Paulo, palestrante frequente sobre o tema e autora de diversos artigos. Fabiane também foi escolhida Java Champion pela Sun Microsystems, como reconhecimento de sua contribuição para o ecossistema Java.