{"id":26577,"date":"2021-08-16T17:48:43","date_gmt":"2021-08-16T17:48:43","guid":{"rendered":"https:\/\/building.nubank.com\/machine-learning-model-monitoring-9-tips-from-the-trenches\/"},"modified":"2024-03-21T13:16:13","modified_gmt":"2024-03-21T13:16:13","slug":"monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas","status":"publish","type":"post","link":"https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/","title":{"rendered":"Monitoramento de modelo de aprendizado de m\u00e1quina &#8211; 9 dicas pr\u00e1ticas"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>Esse post foi revistado por:&nbsp;Luis Moneda, Gabriela Mourao e Cristiano Breuel.<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Modelos de <strong>aprendizado de m\u00e1quina<\/strong>&nbsp;(ML) s\u00e3o softwares bem delicados, sendo necess\u00e1rios monitoramentos cuidadosos para garantir um bom funcionamento e sucesso no uso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Isto \u00e9 importante principalmente quando&nbsp;<strong>decis\u00f5es<\/strong>&nbsp;<strong>corporativas s\u00e3o feitas automaticamente<\/strong>&nbsp;usando as conclus\u00f5es de tais modelos. Isto significa que modelos com erros normalmente ter\u00e3o impactos significativos na experi\u00eancia do usu\u00e1rio final.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Modelos s\u00e3o t\u00e3o bons quanto os dados que consomem. Por isso, o monitoramento dos dados inseridos (e das conclus\u00f5es) \u00e9&nbsp;<strong>essencial<\/strong>&nbsp;para que o modelo cumpra seu verdadeiro objetivo: ser \u00fatil&nbsp;<strong>para levar a boas decis\u00f5es e fazer com que o neg\u00f3cio atinja sua meta.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqui est\u00e3o algumas dicas&nbsp;<strong>pr\u00e1ticas e independentes de estruturas&nbsp;<\/strong>que voc\u00ea pode usar para ter uma estrat\u00e9gia de monitoramento mais robusta ao usar modelos de aprendizado de m\u00e1quina na produ\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">(Diversas dicas podem se misturar, j\u00e1 que devem ser usadas como parte de uma estrat\u00e9gia integrada e n\u00e3o de forma isolada)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">M\u00e9dias n\u00e3o contam toda a hist\u00f3ria<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Contexto\u00a0<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea monitora valores m\u00e9dios para caracter\u00edsticas num\u00e9ricas nos modelos que usa. Isto acontece porque voc\u00ea quer detectar problemas de dados, entender quando e se distribui\u00e7\u00f5es de r\u00f3tulos e caracter\u00edsticas mudam etc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Alega\u00e7\u00e3o<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Monitoramentos de valores m\u00e9dios n\u00e3o contam toda a hist\u00f3ria porque presumem algumas coisas que n\u00e3o necessariamente refletem a realidade. Por exemplo:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>se h\u00e1 dados em falta, a maioria das ferramentas num\u00e9ricas&nbsp;<strong>os ignora<\/strong>&nbsp;e calcula m\u00e9dias para os dados remanescentes (n\u00e3o nulos);<\/li>\n\n\n\n<li>eles presumem que problemas de dados ser\u00e3o&nbsp;<strong>suficientemente grandes<\/strong>&nbsp;para alterar o valor m\u00e9dio de forma significativa. Por outro lado, altera\u00e7\u00f5es nas caracter\u00edsticas podem modificar as m\u00e9dias bastante, mas n\u00e3o afetam percentuais mais altos, nos quais a maioria das decis\u00f5es de modelo \u00e9 tomada.<\/li>\n\n\n\n<li>Eles presumem que as altera\u00e7\u00f5es em pontua\u00e7\u00f5es de modelo t\u00eam um&nbsp;<strong>relacionamento linear<\/strong>&nbsp;com as a\u00e7\u00f5es que serviram como base.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Para resumir, pode haver um problema que afeta seus dados&nbsp;<strong>de forma significativa,<\/strong>&nbsp;mas as m\u00e9dias de valores podem n\u00e3o sofrer nenhuma altera\u00e7\u00e3o e \u00e9 por isso que voc\u00ea deve incluir outros \u00e2ngulos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sugest\u00f5es\u00a0<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Monitore os&nbsp;<strong>percentuais<\/strong>&nbsp;de valores de caracter\u00edsticas num\u00e9ricos como 99\u00b0, 95\u00b0, 90\u00b0, al\u00e9m de 10\u00b0, 5\u00b0 e 1\u00b0. Desta forma, voc\u00ea poder\u00e1 detectar casos em que os exemplos finais mudam, mesmo quando o valor m\u00e9dio da caracter\u00edstica n\u00e3o foi alterado. Isto \u00e9 \u00fatil principalmente em casos em que a distribui\u00e7\u00e3o de dados est\u00e1&nbsp;<strong>distorcida e\/ou desbalanceada.<\/strong><\/li>\n\n\n\n<li>Monitore&nbsp;<strong>taxas de valores ausentes<\/strong>&nbsp;em todas as caracter\u00edsticas. Isto precisa ser monitorado separadamente, j\u00e1 que uma grande quantidade de valores ausentes \u00e9 um problema grave, mesmo quando a m\u00e9dia dos valores n\u00e3o ausentes n\u00e3o mudou muito.<\/li>\n\n\n\n<li>Divida o monitoramento em&nbsp;<strong>subgrupos<\/strong>&nbsp;para detectar falhas que afetam apenas alguns dos exemplos pontuados.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Camadas de pol\u00edtica\/decis\u00e3o precisam de monitoramento adicional<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Contexto<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O modelo \u00e9 usado para tomar decis\u00f5es (negar\/aprovar empr\u00e9stimos, exibir ou n\u00e3o um an\u00fancio etc.) usando alguma forma de&nbsp;<em>pol\u00edtica<\/em>.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea monitora modelos com base em uma perspectiva t\u00e9cnica (valores de caracter\u00edstica, precis\u00e3o, exatid\u00e3o etc.), mas n\u00e3o \u00e9 \u00f3bvio quando as decis\u00f5es s\u00e3o feitas a partir da\u00ed (essa \u00e9 a camada de pol\u00edtica\/decis\u00e3o).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Alega\u00e7\u00e3o<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e3o \u00e9 suficiente monitorar modelos com base em uma perspectiva t\u00e9cnica porque n\u00e3o fica claro para outras partes interessadas como isso afeta o&nbsp;<strong>neg\u00f3cio<\/strong>.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 importante tamb\u00e9m monitorar as decis\u00f5es usando o modelo para garantir que ele esteja cumprindo o valor de neg\u00f3cio esperado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sugest\u00f5es<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Monitore as&nbsp;<strong>decis\u00f5es<\/strong>&nbsp;tomadas usando o modelo.<strong>&nbsp;<\/strong>Por exemplo: quantas pessoas conseguiram a aprova\u00e7\u00e3o de empr\u00e9stimos com o modelo de risco diariamente? Quantas pessoas tiveram suas contas bloqueadas pelo modelo de fraude diariamente? Na maioria dos casos, \u00e9 interessante monitorar tanto os valores&nbsp;<strong>absolutos&nbsp;<\/strong>quanto os&nbsp;<strong>relativos&nbsp;<\/strong>.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Certifique-se de ajustar o&nbsp;<strong>n\u00edvel de granularidade<\/strong> dependendo do p\u00fablico-alvo: se seu modelo d\u00e1 uma pontua\u00e7\u00e3o para um cliente diversas vezes, seu p\u00fablico-alvo pode estar mais interessado em m\u00e9tricas agregadas pelos clientes do que entidades individuais sendo pontuadas.<\/li>\n\n\n\n<li>Se voc\u00ea est\u00e1 executando um&nbsp;<strong>modelo em tempo real,<\/strong>&nbsp;quantas decis\u00f5es erradas foram tomadas devido a incompatibilidades de distor\u00e7\u00e3o entre treinamento e exibi\u00e7\u00e3o? Voc\u00ea tamb\u00e9m deve monitorar isto.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Divida o monitoramento em subgrupos para obter mais detalhes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Contexto<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea \u00e9 respons\u00e1vel por cuidar de modelos de aprendizado de m\u00e1quina frequentemente usados para pontuar diversos exemplos individuais diariamente.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea monitora caracter\u00edsticas\/pontua\u00e7\u00f5es em pain\u00e9is e h\u00e1 diversos padr\u00f5es &#8220;interessantes&#8221; que deseja investigar, mas normalmente leva muito tempo para identificar os motivos de tais problemas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Alega\u00e7\u00e3o<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uma forma de facilitar o entendimento de dados e\/ou padr\u00f5es de modelos \u00e9&nbsp;<strong>dividir o monitoramento de dados em subgrupos<\/strong>&nbsp;(subn\u00edveis dos dados sendo pontuados pelo modelo) e monitor\u00e1-los separadamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Isto \u00e9 porque diversos problemas de dados t\u00eam um<strong>&nbsp;impacto&nbsp;<\/strong>significativo em alguns subn\u00edveis de exemplos, mas podem&nbsp;<strong>&#8220;desaparecer&#8221;<\/strong>&nbsp;porque seus impactos absolutos n\u00e3o s\u00e3o suficientes para serem observados ao olhar os valores agregados no conjunto de dados geral.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sugest\u00f5es<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Em vez de olhar valores de pontua\u00e7\u00e3o\/caracter\u00edsticas agregados em conjuntos de dados,&nbsp;<strong>divida-os em subgrupos<\/strong>&nbsp;e os monitore em vez disso.\n<ul class=\"wp-block-list\">\n<li>Por exemplo: se voc\u00ea tem um modelo de fraude, pode valer a pena dividir o monitoramento pelo tipo de dispositivo (web, celulares etc.) usado em cada exemplo pontuado.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Monitore tamb\u00e9m as&nbsp;<strong>contagens&nbsp;<\/strong>brutas de cada grupo (quantos exemplos cada um foram pontuados diretamente, qual foi a porcentagem etc.)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Codifica\u00e7\u00e3o de caracter\u00edstica apropriada torna o monitoramento mais f\u00e1cil<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Contexto<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Caracter\u00edsticas usadas em modelos normalmente s\u00e3o pr\u00e9-processadas ou codificadas para permitir o uso em alguns classificadores.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Isto \u00e9 um problema \u00e0s vezes, j\u00e1 que \u00e9 dif\u00edcil monitorar visualmente ou programaticamente caracter\u00edsticas complexas e feitas com cuidado, mas que n\u00e3o s\u00e3o \u00f3bvias desde o come\u00e7o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Alega\u00e7\u00e3o<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ou codificar (ou decodificar) caracter\u00edsticas com cuidado, voc\u00ea pode monitorar mais facilmente. Isto acontece porque estruturas de monitoramento s\u00e3o melhores com valores num\u00e9ricos e categ\u00f3ricos. Se voc\u00ea usa tipos diferentes de caracter\u00edsticas (como incorpora\u00e7\u00f5es de palavras ou coordenadas de geolocaliza\u00e7\u00e3o), talvez seja melhor decodific\u00e1-las (como em linhas e nomes de cidades, respectivamente) para que voc\u00ea possa analisar essas quest\u00f5es com mais facilidade em relat\u00f3rios e mapas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al\u00e9m disso, talvez voc\u00ea queira monitorar os valores&nbsp;<strong>originais&nbsp;<\/strong>(n\u00e3o processados, n\u00e3o codificados), j\u00e1 que isto torna mais f\u00e1cil a comunica\u00e7\u00e3o com outras equipes e tamb\u00e9m a&nbsp;<strong>solu\u00e7\u00e3o de problemas&nbsp;<\/strong>quando eles aparecem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sugest\u00f5es<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Monitore&nbsp;<strong>valores de inser\u00e7\u00e3o&nbsp;<\/strong>(ou seja, n\u00e3o necessariamente as caracter\u00edsticas em si, mas as informa\u00e7\u00f5es usadas para criar caracter\u00edsticas)&nbsp;<strong>al\u00e9m das<\/strong>&nbsp;caracter\u00edsticas em si. Isto \u00e9 \u00fatil ao aplicar diversas transforma\u00e7\u00f5es num\u00e9ricas nelas.<\/li>\n\n\n\n<li>Sempre que poss\u00edvel, codifique valores de&nbsp;<strong>caracter\u00edsticas booleanas<\/strong>&nbsp;<strong>como n\u00fameros reais<\/strong>&nbsp;(1,0, 0,0 e nulo), para facilitar o monitoramento delas como vari\u00e1veis num\u00e9ricas normais (meios de extra\u00e7\u00e3o e outras propriedades num\u00e9ricas etc.) e reutilizar todas as ferramentas (como mapas) feitas pra eles.<\/li>\n\n\n\n<li>Para&nbsp;<strong>caracter\u00edsticas categ\u00f3ricas<\/strong>&nbsp;codificadas com estrat\u00e9gias, como <em>one-hot encoding<\/em> ou <em>target-enconding<\/em>, talvez seja melhor&nbsp;<strong>decodific\u00e1-las novamente<\/strong>&nbsp;para seus valores originais para monitorar as classes e n\u00e3o as categorias codificadas.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Consist\u00eancia reduz a carga mental de monitoramento<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Contexto<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea \u00e9 respons\u00e1vel por manter\/operar um ou mais modelos de aprendizado de m\u00e1quina, sendo que cada um deles tem diversas caracter\u00edsticas, usadas de forma distinta e tudo mais.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea tem \u00e0 sua disposi\u00e7\u00e3o diversos pain\u00e9is e relat\u00f3rios sendo gerados, mas o esfor\u00e7o necess\u00e1rio para analis\u00e1-los \u00e9 muito grande e levar\u00e1 bastante tempo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Alega\u00e7\u00e3o<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 poss\u00edvel reduzir a&nbsp;<strong>carga cognitiva<\/strong>&nbsp;e o&nbsp;<strong>tempo&nbsp;<\/strong>necess\u00e1rio para analisar pain\u00e9is e relat\u00f3rios de monitoramento.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uma forma de fazer isso \u00e9 por meio da&nbsp;<strong>consist\u00eancia<\/strong>&nbsp;e&nbsp;<strong>padroniza\u00e7\u00e3o<\/strong>, para que custos de mudan\u00e7a de contexto possam ser minimizados e sua equipe possa ser mais eficiente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sugest\u00f5es<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use uma&nbsp;<strong>\u00fanica ferramenta&nbsp;<\/strong>para monitorar tudo. Se for poss\u00edvel, uma \u00fanica ferramenta ou fornecedor para toda monitora\u00e7\u00e3o de modelos. Isto facilita a configura\u00e7\u00e3o compartilhada e o uso dos mesmos padr\u00f5es em v\u00e1rios modelos.<\/li>\n\n\n\n<li><strong>Ordene as coisas<\/strong>&nbsp;de forma consistente. Por exemplo: ordene mapas de caracter\u00edsticas de acordo com a import\u00e2ncia da caracter\u00edstica para que possa verificar rapidamente se h\u00e1 problemas graves que precisam ser investigados (ou simplesmente ordene alfabeticamente)<\/li>\n\n\n\n<li><strong>Nomeie as coisas<\/strong>&nbsp;de forma consistente: se voc\u00ea precisa nomear coisas como arquivos, conjuntos de dados, pain\u00e9is, tabelas etc., certifique-se de seguir algum tipo de padr\u00e3o (como&nbsp;&lt;nome-da-equipe&gt;-&lt;nome-do-modelo&gt;-&lt;data&gt;) para facilitar a automatiza\u00e7\u00e3o e configura\u00e7\u00e3o para toda a equipe.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Monitore tarefas\/rotinas de monitoramento em si (meta monitoramento)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Contexto<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea usa rotinas auxiliares, tarefas em massa ou scripts <em>ad-hoc<\/em> para processar dados de registros de modelos. Voc\u00ea usa estas rotinas para analisar as caracter\u00edsticas do modelo, al\u00e9m das pontua\u00e7\u00f5es e valores agregados dos resultados. Voc\u00ea tamb\u00e9m pode usar estas ferramentas para gerar&nbsp;<strong>alertas<\/strong>&nbsp;sob certas condi\u00e7\u00f5es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Alega\u00e7\u00e3o<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rotinas\/tarefas de monitoramento de modelo em massa s\u00e3o apenas outros softwares e, normalmente,&nbsp;<strong>param de funcionar de vez em quando<\/strong>&nbsp;(algu\u00e9m mudou o nome de uma tabela e o script n\u00e3o funciona, suas credenciais expiraram etc.).&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se voc\u00ea conta com tarefas\/rotinas\/scripts de monitoramento e alerta para condi\u00e7\u00f5es de problemas, a&nbsp;<strong>aus\u00eancia de alertas<\/strong>&nbsp;pode levar voc\u00ea a acreditar que est\u00e1 tudo bem, quando na verdade as tarefas de monitoramento n\u00e3o foram executadas ou houve algum problema com elas.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea precisa&nbsp;<strong>monitorar as pr\u00f3prias tarefas de monitoramento<\/strong>&nbsp;para evitar esse problema (meta monitoramento).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sugest\u00f5es<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Monitore os&nbsp;<strong>tempos de execu\u00e7\u00e3o<\/strong>&nbsp;da tarefa. Tempos de execu\u00e7\u00e3o cada vez maiores podem indicar que voc\u00ea precisar\u00e1 mudar a estrat\u00e9gia em breve. J\u00e1 os curtos demais podem indicar que houve algum problema com a tarefa.<\/li>\n\n\n\n<li>Use&nbsp;<strong>alertas no formato de pulsa\u00e7\u00e3o<\/strong>.<strong>&nbsp;<\/strong>\u00c9 poss\u00edvel adicionar um passo ao final de cada tarefa\/script para enviar um&nbsp;<strong><em>ping<\/em><\/strong>&nbsp;para outro sistema. Alertas de pulsa\u00e7\u00e3o s\u00e3o enviados quando algo&nbsp;<strong>n\u00e3o&nbsp;<\/strong>aconteceu. Por exemplo, se o <em>back-end<\/em> n\u00e3o recebeu um <em>ping<\/em> por mais de 24 horas.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Padr\u00f5es para monitoramento em massa<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Contexto<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea tem tarefas em massa que analisam dados de registros de modelos e calculam uma m\u00e9dia agregada neles (valor m\u00e9dio de caracter\u00edstica a cada dia, pontua\u00e7\u00f5es m\u00e9dias etc.), mas algu\u00e9m precisa&nbsp;<strong>examinar os dados<\/strong>&nbsp;para ver se est\u00e1 tudo bem.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Alega\u00e7\u00e3o<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 f\u00e1cil criar relat\u00f3rios de monitoramento que&nbsp;<strong>s\u00e3o ignorados<\/strong>&nbsp;porque ningu\u00e9m teve tempo de abrir os pain\u00e9is\/notebooks e observar os resultados. Aqui est\u00e3o algumas formas de torn\u00e1-los mais \u00fateis e eficientes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sugest\u00f5es<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fa\u00e7a com que as tarefas&nbsp;<strong>realmente<\/strong><strong>mandem&nbsp;<\/strong>os resultados (gr\u00e1ficos, tabelas etc.) como uma&nbsp;<strong>mensagem<\/strong>&nbsp;para o seu e-mail ou canal do Slack ao final de cada execu\u00e7\u00e3o. No campo da mensagem, inclua apenas as informa\u00e7\u00f5es mais importantes.\n<ul class=\"wp-block-list\">\n<li>A ideia \u00e9 ter informa\u00e7\u00f5es suficientes para que voc\u00ea possa entender&nbsp;<em>rapidamente<\/em>&nbsp;se h\u00e1 algum problema.<\/li>\n\n\n\n<li>No campo da mensagem, inclua um&nbsp;<strong>link<\/strong>&nbsp;para os dados completos do relat\u00f3rio\/painel para que as pessoas possam ver tudo, se necess\u00e1rio.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Escreva c\u00f3digos que possam&nbsp;<strong>lidar com os dados hist\u00f3ricos por padr\u00e3o<\/strong>: isto facilita a reutiliza\u00e7\u00e3o do c\u00f3digo para an\u00e1lises de hist\u00f3ricos e para monitora\u00e7\u00e3o gradual (como as di\u00e1rias).<\/li>\n\n\n\n<li>Use&nbsp;<strong>linguagem corporativa&nbsp;<\/strong>sempre que poss\u00edvel, para que todas as partes interessadas (e n\u00e3o s\u00f3 as t\u00e9cnicas) possam entender o impacto dos modelos nas decis\u00f5es corporativas.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Apenas modelos em tempo real: monitoramento de distor\u00e7\u00e3o entre treinamento e exibi\u00e7\u00e3o<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Contexto<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Modelos usados para interferir em tempo real s\u00e3o normalmente treinados de acordo com dados hist\u00f3ricos recuperados de uma base de dados, em massa.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Isto cria o risco do trajeto dos dados usados para treinamento n\u00e3o ser o mesmo da interfer\u00eancia (normalmente chamadas de HTTP para servi\u00e7os externos com o objetivo de obter caracter\u00edsticas). Isto \u00e9 chamado de&nbsp;<strong>distor\u00e7\u00e3o entre treinamento e exibi\u00e7\u00e3o<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Alega\u00e7\u00e3o<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Distor\u00e7\u00e3o entre treinamento e exibi\u00e7\u00e3o \u00e9 um grande risco a ser considerado ao implementar&nbsp;<strong>modelos em tempo real<\/strong>. Isto deve ser monitorado continuamente, pelo tempo em que o modelo estiver em funcionamento.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As causas mais comuns de incompatibilidades s\u00e3o mudan\u00e7as em servi\u00e7os externos dos quais o modelo depende para obter dados de caracter\u00edsticas em tempo real.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sugest\u00f5es<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Monitore a taxa de&nbsp;<strong>compatibilidades perfeita<\/strong>&nbsp;entre fluxos em massa\/tempo real (exemplo: voc\u00ea pode exibir &#8220;1&#8221; se for uma compatibilidade perfeita entre os dois fluxos e &#8220;0&#8221; se n\u00e3o houver) e monitorar&nbsp;<em>este<\/em>&nbsp;valor da mesma forma que monitora outras caracter\u00edsticas. Desta forma, voc\u00ea poder\u00e1 ver quanta distor\u00e7\u00e3o h\u00e1 por caracter\u00edstica.<\/li>\n\n\n\n<li>Monitore a&nbsp;<strong>magnitude<\/strong>&nbsp;das diferen\u00e7as: para casos em que houve uma incompatibilidade entre os trajetos de dados em massa e em tempo real, qual a gravidade dela? Foi pouca ou grande diferen\u00e7a?<\/li>\n\n\n\n<li><strong>Tamb\u00e9m monitore as contagens<\/strong>: monitore quantos exemplos haviam em cada trajeto de dados em um dia. Isto \u00e9 importante, j\u00e1 que altera\u00e7\u00f5es desconhecidas podem causar a pontua\u00e7\u00e3o de mais exemplos em tempo real do que o esperado.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Apenas modelos em tempo real: padr\u00f5es de alerta<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Agora, temos um artigo dedicado sobre este assunto:&nbsp;<\/em><a href=\"https:\/\/building.nubank.com\/best-practices-for-real-time-machine-learning-alerting\/\"><em>Melhores pr\u00e1ticas para aprendizado de m\u00e1quina em tempo real: alertas<\/em><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Contexto<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea criou alguns alertas em tempo real (e-mails, mensagens de Slack, notifica\u00e7\u00f5es push em dispositivos m\u00f3veis etc.) para lhe alertar sobre qualquer comportamento inesperado do modelo, como valores de caracter\u00edsticas estranhos, caracter\u00edsticas ausentes, pontua\u00e7\u00f5es muito altas\/baixas etc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Alega\u00e7\u00e3o<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 muito f\u00e1cil ficar com alertas que s\u00e3o&nbsp;<strong>muito<\/strong>&nbsp;<strong>chamativos<\/strong>&nbsp;(s\u00e3o exibidos com muita frequ\u00eancia e n\u00e3o s\u00e3o mais levados a s\u00e9rio) ou&nbsp;<strong>n\u00e3o funcionam&nbsp;<\/strong>(nunca s\u00e3o disparados, mesmo quando deviam).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea precisa manter os alertas relevantes e f\u00e1ceis de resultar em uma a\u00e7\u00e3o (incluindo informa\u00e7\u00f5es suficientes para algu\u00e9m saber se \u00e9 um problema real).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sugest\u00f5es<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fique de olho em&nbsp;<strong>per\u00edodos estranhos,<\/strong>&nbsp;como de manh\u00e3 cedo, fins de semana etc., j\u00e1 que s\u00e3o momentos em que voc\u00ea poder\u00e1 receber menos exemplos pontuados por modelos e os alertas podem ser disparados pelo simples motivo da dimens\u00e3o da amostra ser pequena.<\/li>\n\n\n\n<li>Sempre inclua o&nbsp;<strong>prazo&nbsp;<\/strong>e&nbsp;os <strong>pontos espec\u00edficos de dados<\/strong>&nbsp;usados para permitir que as pessoas analisem se \u00e9 um falso positivo ou n\u00e3o.&nbsp;<strong>Ruim<\/strong>: &#8220;A caracter\u00edstica X no modelo Y est\u00e1 grande demais&#8221;.&nbsp;<strong>Bom:&nbsp;<\/strong>&#8220;O valor m\u00e9dio da caracter\u00edstica X no modelo Y nos \u00faltimos 15 minutos foi grande demais (o esperado era de 0,4 e 0,5, mas foi 100,0)&#8221;.<\/li>\n\n\n\n<li>Se poss\u00edvel, inclua um&nbsp;<strong>link para o painel completo<\/strong>&nbsp;ou outro lugar onde voc\u00ea pode analisar dados mais completos e decidir se uma investiga\u00e7\u00e3o \u00e9 necess\u00e1ria.<\/li>\n\n\n\n<li>Se poss\u00edvel, tenha algum tipo de&nbsp;<strong>guia de solu\u00e7\u00e3o de problemas<\/strong>&nbsp;em m\u00e3os para que integrantes novos da equipe possam agir facilmente ap\u00f3s os alertas.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclus\u00e3o<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Estas s\u00e3o algumas dicas que achamos \u00fateis para monitorar diversos modelos de aprendizado de m\u00e1quina (ML) aqui no Nubank.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eles s\u00e3o usados em diversos contextos de neg\u00f3cios (cr\u00e9dito, fraude, CX, opera\u00e7\u00f5es etc.), e acreditamos que t\u00eam um grande alcance para serem usados em outras empresas tamb\u00e9m.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Modelos de aprendizado de m\u00e1quina (ML) s\u00e3o softwares bem delicados, sendo necess\u00e1rios monitoramentos cuidadosos para garantir um bom funcionamento e sucesso no uso.<\/p>\n","protected":false},"author":178110136,"featured_media":23848,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[2503,2502],"tags":[2540,2571,2570,2498],"ppma_author":[2366],"class_list":["post-26577","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-analytics","category-data-science-machine-learning-pt-br","tag-machine-learning-pt-br","tag-model-monitoring-pt-br","tag-observability-pt-br","tag-software-engineering-pt-br"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>9 Tips for Machine Learning Model Monitoring - Building Nubank<\/title>\n<meta name=\"description\" content=\"Modelos de aprendizado de m\u00e1quina (ML) s\u00e3o softwares bem delicados, sendo necess\u00e1rios monitoramentos cuidadosos para garantir um bom funcionamento e sucesso no uso.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"9 Tips for Machine Learning Model Monitoring - Building Nubank\" \/>\n<meta property=\"og:description\" content=\"Modelos de aprendizado de m\u00e1quina (ML) s\u00e3o softwares bem delicados, sendo necess\u00e1rios monitoramentos cuidadosos para garantir um bom funcionamento e sucesso no uso.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/\" \/>\n<meta property=\"og:site_name\" content=\"Building Nubank\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-16T17:48:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T13:16:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2021\/08\/ml-monitoring_featured_image.jpg?fit=1200%2C675&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Felipe Almeida - Machine Learning Engineer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@queirozfcom\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Felipe Almeida - Machine Learning Engineer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\\\/\"},\"author\":{\"name\":\"Felipe Almeida - Machine Learning Engineer\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/#\\\/schema\\\/person\\\/2bce0340e6a654811bb0aea0e58092c5\"},\"headline\":\"Monitoramento de modelo de aprendizado de m\u00e1quina &#8211; 9 dicas pr\u00e1ticas\",\"datePublished\":\"2021-08-16T17:48:43+00:00\",\"dateModified\":\"2024-03-21T13:16:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\\\/\"},\"wordCount\":2826,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/ml-monitoring_featured_image.jpg?fit=1200%2C675&ssl=1\",\"keywords\":[\"machine learning\",\"Model Monitoring\",\"observability\",\"Software engineering\"],\"articleSection\":[\"Data &amp; Analytics\",\"Data science &amp; Machine Learning\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\\\/\",\"url\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\\\/\",\"name\":\"9 Tips for Machine Learning Model Monitoring - Building Nubank\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/ml-monitoring_featured_image.jpg?fit=1200%2C675&ssl=1\",\"datePublished\":\"2021-08-16T17:48:43+00:00\",\"dateModified\":\"2024-03-21T13:16:13+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/#\\\/schema\\\/person\\\/2bce0340e6a654811bb0aea0e58092c5\"},\"description\":\"Modelos de aprendizado de m\u00e1quina (ML) s\u00e3o softwares bem delicados, sendo necess\u00e1rios monitoramentos cuidadosos para garantir um bom funcionamento e sucesso no uso.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/ml-monitoring_featured_image.jpg?fit=1200%2C675&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/ml-monitoring_featured_image.jpg?fit=1200%2C675&ssl=1\",\"width\":1200,\"height\":675},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Monitoramento de modelo de aprendizado de m\u00e1quina &#8211; 9 dicas pr\u00e1ticas\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/#website\",\"url\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/\",\"name\":\"Building Nubank\",\"description\":\"We make the extraordinary happen\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/#\\\/schema\\\/person\\\/2bce0340e6a654811bb0aea0e58092c5\",\"name\":\"Felipe Almeida - Machine Learning Engineer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Screenshot-2024-03-26-at-14.06.59.png1dcbca3b60d19e8fb28ae3829d8da80a\",\"url\":\"https:\\\/\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Screenshot-2024-03-26-at-14.06.59.png\",\"contentUrl\":\"https:\\\/\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Screenshot-2024-03-26-at-14.06.59.png\",\"caption\":\"Felipe Almeida - Machine Learning Engineer\"},\"description\":\"Felipe Almeida is responsible for engineering and managing Data Science &amp; Machine Learning projects at Nubank. He has a Bachelor's degree in Computer Science and a Master's degree in Computer Engineering, both from UFRJ. Felipe has experience working with e-commerce, credit and fraud. Before joining Nubank in 2019, he worked in companies such as Ita\u00fa-Unibanco and VTEX. In his spare time, he likes to exercise and learn foreign languages. He is active on twitter and he blogs at https:\\\/\\\/queirozf.com\",\"sameAs\":[\"http:\\\/\\\/queirozf.com\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/felipeqbalmeida\",\"https:\\\/\\\/x.com\\\/queirozfcom\"],\"url\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/author\\\/felipe-almeida-data-scientist\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"9 Tips for Machine Learning Model Monitoring - Building Nubank","description":"Modelos de aprendizado de m\u00e1quina (ML) s\u00e3o softwares bem delicados, sendo necess\u00e1rios monitoramentos cuidadosos para garantir um bom funcionamento e sucesso no uso.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/","og_locale":"pt_BR","og_type":"article","og_title":"9 Tips for Machine Learning Model Monitoring - Building Nubank","og_description":"Modelos de aprendizado de m\u00e1quina (ML) s\u00e3o softwares bem delicados, sendo necess\u00e1rios monitoramentos cuidadosos para garantir um bom funcionamento e sucesso no uso.","og_url":"https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/","og_site_name":"Building Nubank","article_published_time":"2021-08-16T17:48:43+00:00","article_modified_time":"2024-03-21T13:16:13+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2021\/08\/ml-monitoring_featured_image.jpg?fit=1200%2C675&ssl=1","type":"image\/jpeg"}],"author":"Felipe Almeida - Machine Learning Engineer","twitter_card":"summary_large_image","twitter_creator":"@queirozfcom","twitter_misc":{"Escrito por":"Felipe Almeida - Machine Learning Engineer","Est. tempo de leitura":"14 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/#article","isPartOf":{"@id":"https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/"},"author":{"name":"Felipe Almeida - Machine Learning Engineer","@id":"https:\/\/building.nubank.com\/pt-br\/#\/schema\/person\/2bce0340e6a654811bb0aea0e58092c5"},"headline":"Monitoramento de modelo de aprendizado de m\u00e1quina &#8211; 9 dicas pr\u00e1ticas","datePublished":"2021-08-16T17:48:43+00:00","dateModified":"2024-03-21T13:16:13+00:00","mainEntityOfPage":{"@id":"https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/"},"wordCount":2826,"commentCount":0,"image":{"@id":"https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2021\/08\/ml-monitoring_featured_image.jpg?fit=1200%2C675&ssl=1","keywords":["machine learning","Model Monitoring","observability","Software engineering"],"articleSection":["Data &amp; Analytics","Data science &amp; Machine Learning"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/","url":"https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/","name":"9 Tips for Machine Learning Model Monitoring - Building Nubank","isPartOf":{"@id":"https:\/\/building.nubank.com\/pt-br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/#primaryimage"},"image":{"@id":"https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2021\/08\/ml-monitoring_featured_image.jpg?fit=1200%2C675&ssl=1","datePublished":"2021-08-16T17:48:43+00:00","dateModified":"2024-03-21T13:16:13+00:00","author":{"@id":"https:\/\/building.nubank.com\/pt-br\/#\/schema\/person\/2bce0340e6a654811bb0aea0e58092c5"},"description":"Modelos de aprendizado de m\u00e1quina (ML) s\u00e3o softwares bem delicados, sendo necess\u00e1rios monitoramentos cuidadosos para garantir um bom funcionamento e sucesso no uso.","breadcrumb":{"@id":"https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/#primaryimage","url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2021\/08\/ml-monitoring_featured_image.jpg?fit=1200%2C675&ssl=1","contentUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2021\/08\/ml-monitoring_featured_image.jpg?fit=1200%2C675&ssl=1","width":1200,"height":675},{"@type":"BreadcrumbList","@id":"https:\/\/building.nubank.com\/pt-br\/monitoramento-de-modelo-de-aprendizado-de-maquina-9-dicas-praticas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/building.nubank.com\/pt-br\/"},{"@type":"ListItem","position":2,"name":"Monitoramento de modelo de aprendizado de m\u00e1quina &#8211; 9 dicas pr\u00e1ticas"}]},{"@type":"WebSite","@id":"https:\/\/building.nubank.com\/pt-br\/#website","url":"https:\/\/building.nubank.com\/pt-br\/","name":"Building Nubank","description":"We make the extraordinary happen","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/building.nubank.com\/pt-br\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/building.nubank.com\/pt-br\/#\/schema\/person\/2bce0340e6a654811bb0aea0e58092c5","name":"Felipe Almeida - Machine Learning Engineer","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/building.nubank.com\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-26-at-14.06.59.png1dcbca3b60d19e8fb28ae3829d8da80a","url":"https:\/\/building.nubank.com\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-26-at-14.06.59.png","contentUrl":"https:\/\/building.nubank.com\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-26-at-14.06.59.png","caption":"Felipe Almeida - Machine Learning Engineer"},"description":"Felipe Almeida is responsible for engineering and managing Data Science &amp; Machine Learning projects at Nubank. He has a Bachelor's degree in Computer Science and a Master's degree in Computer Engineering, both from UFRJ. Felipe has experience working with e-commerce, credit and fraud. Before joining Nubank in 2019, he worked in companies such as Ita\u00fa-Unibanco and VTEX. In his spare time, he likes to exercise and learn foreign languages. He is active on twitter and he blogs at https:\/\/queirozf.com","sameAs":["http:\/\/queirozf.com\/","https:\/\/www.linkedin.com\/in\/felipeqbalmeida","https:\/\/x.com\/queirozfcom"],"url":"https:\/\/building.nubank.com\/pt-br\/author\/felipe-almeida-data-scientist\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2021\/08\/ml-monitoring_featured_image.jpg?fit=1200%2C675&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pbKBB5-6UF","jetpack_sharing_enabled":true,"authors":[{"term_id":2366,"user_id":178110136,"is_guest":0,"slug":"felipe-almeida-data-scientist","display_name":"Felipe Almeida - Machine Learning Engineer","avatar_url":{"url":"https:\/\/building.nubank.com\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-26-at-14.06.59.png","url2x":"https:\/\/building.nubank.com\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-26-at-14.06.59.png"},"0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/posts\/26577","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/users\/178110136"}],"replies":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/comments?post=26577"}],"version-history":[{"count":5,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/posts\/26577\/revisions"}],"predecessor-version":[{"id":28780,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/posts\/26577\/revisions\/28780"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/media\/23848"}],"wp:attachment":[{"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/media?parent=26577"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/categories?post=26577"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/tags?post=26577"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/ppma_author?post=26577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}