{"id":26171,"date":"2022-09-23T15:14:59","date_gmt":"2022-09-23T15:14:59","guid":{"rendered":"https:\/\/building.nubank.com\/real-time-machine-learning-models-in-real-life\/"},"modified":"2024-03-21T13:47:20","modified_gmt":"2024-03-21T13:47:20","slug":"real-time-machine-learning-models-in-real-life","status":"publish","type":"post","link":"https:\/\/building.nubank.com\/pt-br\/real-time-machine-learning-models-in-real-life\/","title":{"rendered":"Modelos de aprendizado de m\u00e1quina em tempo real, na vida real"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">H\u00e1 pouco tempo, as aplica\u00e7\u00f5es com aprendizado de m\u00e1quina come\u00e7aram a surgir em v\u00e1rios setores. As empresas adaptaram rapidamente suas infraestruturas existentes para que pudessem entregar modelos de aprendizado de m\u00e1quina que gerassem previs\u00f5es em lotes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Isso funciona bem o suficiente. Agora, parece que todos est\u00e3o falando sobre como o aprendizado de m\u00e1quina em tempo real \u00e9 o futuro. Mas isso \u00e9 verdade? Devemos realmente empreender o esfor\u00e7o adicional para colocar (e manter) modelos em tempo real na produ\u00e7\u00e3o?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea tem interesse em um minimapa que pode ajudar na decis\u00e3o sobre quando e <strong>como criar modelos de aprendizado de m\u00e1quina em tempo real<\/strong>? Continue lendo esse artigo!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O que s\u00e3o modelos em tempo real?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e3o existe uma \u00fanica defini\u00e7\u00e3o do que \u00e9 um modelo em tempo real.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Quando falamos sobre modelos em tempo real, podemos pensar em dois processos distintos, que podem acontecer em tempo real: a infer\u00eancia e o aprendizado.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A primeira coisa que vem \u00e0 mente \u00e9 que em tempo real significa <strong>aprendizado em tempo real<\/strong>, em que um modelo recebe continuamente novos dados de treinamento e atualiza seus par\u00e2metros. Isso certamente \u00e9 empolgante, mas ainda \u00e9 raro de se encontrar na vida real. Por\u00e9m, &#8220;em tempo real&#8221; tamb\u00e9m significa <strong>infer\u00eancia em tempo real<\/strong>, em que um modelo treinado \u00e9 capaz de receber solicita\u00e7\u00f5es a qualquer momento e retornar previs\u00f5es de forma s\u00edncrona. Isso \u00e9 encontrado na vida real com mais frequ\u00eancia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nesse artigo, apresentamos <strong>estrat\u00e9gias para criar modelos que fazem previs\u00f5es em tempo real<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Por que usar modelos em tempo real?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c0s vezes voc\u00ea precisa usar um modelo em tempo real simplesmente porque o problema que est\u00e1 tentando resolver exige a tomada instant\u00e2nea de decis\u00f5es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Supondo que voc\u00ea deva criar uma solu\u00e7\u00e3o baseada em AM que ajude a escalar e aprimorar o servi\u00e7o ao usu\u00e1rio. Toda vez que um usu\u00e1rio abre o bate-papo em nosso app e escreve uma mensagem, devemos automaticamente identificar sobre o que ele est\u00e1 falando e agir de acordo (por exemplo, redirecionando-o a um bate-papo com um especialista humano).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podemos encarar essa situa\u00e7\u00e3o como um problema de classifica\u00e7\u00e3o com m\u00faltiplas classes, que podem ser diferentes produtos (como cart\u00e3o de cr\u00e9dito, conta-poupan\u00e7a, investimentos e assim por diante), e criar um classificador que recebe o texto escrito pelo usu\u00e1rio e retorna o produto sobre o qual ele provavelmente est\u00e1 falando.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esse caso de uso requer um modelo em tempo real porque o modelo consome dados rec\u00e9m-gerados e tamb\u00e9m porque o usu\u00e1rio espera uma resposta r\u00e1pida. A partir desse caso de uso espec\u00edfico, podemos tentar definir algumas regras b\u00e1sicas que nos ajudem a decidir quando o uso de um modelo em tempo real \u00e9 ideal (ou necess\u00e1rio):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Experi\u00eancia do cliente aprimorada<\/strong>. H\u00e1 v\u00e1rias situa\u00e7\u00f5es similares ao nosso caso de uso, em que uma resposta s\u00edncrona \u00e9 esperada. Tamb\u00e9m h\u00e1 outros casos de uso em que o modelo precisa estar incorporado a um dispositivo m\u00f3vel e, assim, fazer previs\u00f5es em tempo real. Isso poderia acontecer, por exemplo, se o modelo precisasse gerar previs\u00f5es mesmo quando n\u00e3o h\u00e1 conex\u00e3o com a Internet.<\/li>\n\n\n\n<li><strong>Uso de dados mais recentes<\/strong>. Modelos em lote fazem previs\u00f5es a partir de dados que t\u00eam pelo menos algumas horas de vida. Os modelos em tempo real, por outro lado, s\u00e3o capazes de fazer previs\u00f5es a partir de dados que t\u00eam apenas alguns segundos de vida, como o texto que o usu\u00e1rio acabou de escrever ou sua localiza\u00e7\u00e3o atual.<\/li>\n\n\n\n<li><strong>Conjunto desconhecido (ou muito grande) de entradas.<\/strong> Os modelos em lote fazem previs\u00f5es a partir de um conjunto predefinido de entradas. Por exemplo, podemos ter um modelo de fraude que \u00e9 executado em lotes e gera uma classifica\u00e7\u00e3o de fraude para cada usu\u00e1rio \u2013 neste caso, o conjunto de entradas corresponde ao conjunto de usu\u00e1rios. \u00c0s vezes, n\u00e3o \u00e9 poss\u00edvel saber antecipadamente quais s\u00e3o todas as entradas poss\u00edveis. Em nosso caso, o conjunto de entradas seria o conjunto de todos os textos que os usu\u00e1rios podem escrever, que s\u00e3o em sua maioria desconhecidos.<\/li>\n\n\n\n<li><strong>Uso eficiente dos recursos<\/strong>. Os modelos em lote geram previs\u00f5es para todas as entradas poss\u00edveis, mesmo quando a maioria dessas previs\u00f5es n\u00e3o \u00e9 usada para a tomada de decis\u00f5es. Os modelos em tempo real, por outro lado, geram previs\u00f5es para uma entrada por vez, somente quando s\u00e3o necess\u00e1rios.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Certo. H\u00e1 muitos bons motivos para criar modelos em tempo real. Agora \u00e9 s\u00f3 uma quest\u00e3o de implant\u00e1-los. Deve ser r\u00e1pido e f\u00e1cil, certo? Poder\u00edamos fazer isso com menos de 10 linhas de c\u00f3digo:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Primeira tentativa de servir um modelo em tempo real<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e3o t\u00e3o r\u00e1pido.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como criar modelos em tempo real?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Como as limita\u00e7\u00f5es de infraestrutura podem afetar as decis\u00f5es de modelagem, criar um modelo em tempo real requer uma <a href=\"https:\/\/building.nubank.com\/data-scientist-machine-learning-engineer-roles-how-are-they-different-how-are-they-alike\/\">colabora\u00e7\u00e3o estreita entre o cientista de dados e o engenheiro de aprendizado de m\u00e1quina<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Falaremos sobre dois requisitos que devem ser observados desde o in\u00edcio do desenvolvimento de um modelo em tempo real: <strong>pipeline em tempo real <\/strong>e<strong> infer\u00eancia r\u00e1pida.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pipeline em tempo real<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Um pipeline em tempo real deve coletar e preparar todas as entradas requeridas pelo modelo. Os dados podem ser coletados de diferentes fontes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Conte\u00fado da solicita\u00e7\u00e3o<\/strong>. No cen\u00e1rio mais simples do nosso caso de uso, poder\u00edamos usar o texto escrito pelo usu\u00e1rio como \u00fanica entrada. Logo ap\u00f3s o usu\u00e1rio executar uma a\u00e7\u00e3o, como escrever uma mensagem e pressionar o bot\u00e3o enviar, os dados s\u00e3o adicionados ao conte\u00fado e enviados diretamente ao modelo por meio de uma solicita\u00e7\u00e3o.<\/li>\n\n\n\n<li><strong>Eventos de streaming<\/strong>. Se quisermos enriquecer nosso modelo adicionando mais informa\u00e7\u00f5es sobre o comportamento recente do usu\u00e1rio, poder\u00edamos criar um recurso que inclu\u00edsse as \u00faltimas telas que o usu\u00e1rio viu antes de abrir o bate-papo. Esses dados n\u00e3o estariam dispon\u00edveis no contexto do nosso microsservi\u00e7o do modelo de bate-papo, nem no contexto de um ambiente anal\u00edtico. Como esses dados s\u00e3o muito recentes, ter\u00edamos que captur\u00e1-los a partir de eventos de streaming gerados por outros microsservi\u00e7os.<\/li>\n\n\n\n<li><strong>Hist\u00f3rico de recursos<\/strong>. Podemos aprimorar ainda mais o nosso modelo adicionando tamb\u00e9m informa\u00e7\u00f5es sobre o hist\u00f3rico do usu\u00e1rio. Poder\u00edamos criar um recurso que nos diga quais produtos o usu\u00e1rio utilizou mais nos \u00faltimos 60 dias. Esse recurso seria gerado com a agrega\u00e7\u00e3o de dados hist\u00f3ricos. Pode ser demorado gerar isso em tempo real; portanto, a forma ideal seria gerar previamente esse conte\u00fado em lotes, para que pud\u00e9ssemos recuper\u00e1-los de um hist\u00f3rico de recursos.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ap\u00f3s a coleta dos dados, ainda precisamos reprocess\u00e1-los. Dados hist\u00f3ricos vindos do hist\u00f3rico de recursos j\u00e1 s\u00e3o pr\u00e9-processados, enquanto dados novos vindos do conte\u00fado da solicita\u00e7\u00e3o ou de eventos de streaming est\u00e3o em formato bruto. Agora, podemos ver claramente que temos dois pipelines separados: um pipeline em lote e um pipeline em tempo real.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Queremos garantir que a fun\u00e7\u00e3o de reprocessamento, que foi aplicada aos dados no pipeline em lote durante o treinamento, seja exatamente a mesma fun\u00e7\u00e3o aplicada ao pipeline em tempo real durante a infer\u00eancia. N\u00e3o fazer isso \u00e9 conhecido como <a href=\"https:\/\/developers.google.com\/machine-learning\/guides\/rules-of-ml#:~:text=Training%2Dserving%20skew%20is%20a,train%20and%20when%20you%20serve.\">distor\u00e7\u00e3o entre treinamento e exibi\u00e7\u00e3o<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Infer\u00eancia r\u00e1pida<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea se lembra daquela rede neural de ponta que criou, com 99% de precis\u00e3o para todas as classes? Se voc\u00ea tentar medir o tempo de previs\u00e3o, pode se surpreender ao constatar que ela pode levar v\u00e1rios segundos. Embora isso pare\u00e7a r\u00e1pido, especialmente para uma grande rede neural, na verdade n\u00e3o \u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uma resposta considerada r\u00e1pida geralmente leva milissegundos. Pense em quanto tempo o usu\u00e1rio est\u00e1 disposto a esperar antes de repetir uma a\u00e7\u00e3o ou simplesmente sair do app.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Os modelos em tempo real precisam ser r\u00e1pidos. Basicamente, h\u00e1 duas formas de torn\u00e1-los mais r\u00e1pidos: usar hardware mais poderoso ou criar modelos mais leves.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Usar um hardware mais poderoso (como GPUs) parece uma corre\u00e7\u00e3o r\u00e1pida e razo\u00e1vel, mas pode ser dif\u00edcil de manter em longo prazo, pois provavelmente seria uma solu\u00e7\u00e3o n\u00e3o padronizada e exigiria um <a href=\"https:\/\/building.nubank.com\/ml-model-monitoring-9-tips-from-the-trenches\/\">monitoramento<\/a> mais pr\u00f3ximo. Al\u00e9m disso, o tempo geral de resposta pode n\u00e3o ser r\u00e1pido o bastante. Se tiv\u00e9ssemos um modelo pesado que precisasse executar infer\u00eancias na GPU, haveria uma sobrecarga consider\u00e1vel de comunica\u00e7\u00e3o entre a CPU e a GPU.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por outro lado, <strong>criar modelos mais leves \u00e9 mais eficiente e f\u00e1cil de manter<\/strong>. Se estiv\u00e9ssemos usando modelos leves, poder\u00edamos escalar horizontalmente os servi\u00e7os de aprendizado de m\u00e1quina assim como os microsservi\u00e7os regulares, possivelmente usando ferramentas internas j\u00e1 existentes na empresa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Modelos pesados podem ser compactados com o uso de v\u00e1rias t\u00e9cnicas, como:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Corte (Pruning)<\/strong>. Encontrar pesos redundantes em uma \u00e1rvore ou rede neural e defini-los para zero, ou seja, cortar algumas conex\u00f5es entre n\u00f3s no modelo. Isso \u00e9 baseado na suposi\u00e7\u00e3o de que um modelo complexo cont\u00e9m v\u00e1rios submodelos, e portanto o corte tenta encontrar um submodelo otimizado.<\/li>\n\n\n\n<li><strong>Destila\u00e7\u00e3o de conhecimento<\/strong>. \u00c9 quando um modelo compacto aprende a imitar o comportamento de um modelo grande. Isso \u00e9 usado no contexto de redes neurais. Podemos treinar um modelo destilado do zero ou usar modelos destilados pr\u00e9-treinados j\u00e1 dispon\u00edveis em bibliotecas. Um modelo desses \u00e9 o <a href=\"https:\/\/arxiv.org\/abs\/1910.01108\">DistilBERT<\/a>, uma vers\u00e3o destilada do BERT que tem apenas 60% do tamanho do modelo original.<\/li>\n\n\n\n<li><strong>Quantiza\u00e7\u00e3o<\/strong>. Consiste na redu\u00e7\u00e3o da precis\u00e3o dos n\u00fameros de ponto flutuante que representam os pesos do modelo. Isso geralmente \u00e9 feito ap\u00f3s o treinamento, pois tentar otimizar os pesos usando valores de baixa precis\u00e3o pode levar a um treinamento inst\u00e1vel ou at\u00e9 a diverg\u00eancias. Por exemplo, podemos reduzir a precis\u00e3o de pesos de n\u00fameros de ponto flutuante de 32 bits para n\u00fameros inteiros de 8 bits, o que resultaria em um modelo 4 vezes menor.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 importante ressaltar que o corte e a quantiza\u00e7\u00e3o est\u00e3o dispon\u00edveis no <a href=\"https:\/\/www.tensorflow.org\/model_optimization\/guide\/quantization\/post_training\">TensorFlow<\/a> e no <a href=\"https:\/\/pytorch.org\/docs\/stable\/quantization.html\">PyTorch<\/a>, ent\u00e3o deve ser r\u00e1pido e f\u00e1cil executar experimentos combinando t\u00e9cnicas diferentes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al\u00e9m dos modelos de compacta\u00e7\u00e3o, tamb\u00e9m podemos avaliar a efic\u00e1cia de usar caching para armazenar algumas previs\u00f5es. Em nosso caso de uso, ap\u00f3s pr\u00e9-processar a entrada de texto, podemos acabar com uma entrada que se repete com frequ\u00eancia. Nesse caso, poder\u00edamos invocar o modelo somente na primeira vez que essa entrada fosse vista e nas chamadas seguintes, buscar\u00edamos a previs\u00e3o diretamente a partir do cache.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mas&#8230; isso \u00e9 a vida real?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sim, com certeza! A maioria das empresas inicia sua jornada de aprendizado de m\u00e1quina fazendo experimentos com modelos em lote, pois s\u00e3o percebidos como uma abordagem mais f\u00e1cil e segura. Por\u00e9m, conforme os especialistas em aprendizado de m\u00e1quina e as partes interessadas da empresa trabalham juntos para descobrir novas \u00e1reas, em que o aprendizado de m\u00e1quina poderia ser aplicado para maximizar valor, os problemas que exigem modelos em tempo real (como o modelo do bate-papo que mencionamos) inevitavelmente surgem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Muitas empresas j\u00e1 est\u00e3o entregando modelos de aprendizado de m\u00e1quina em tempo real de forma segura e escal\u00e1vel, incluindo o Nubank. Se voc\u00ea gostaria de saber o que \u00e9 poss\u00edvel fazer com sistemas de aprendizado de m\u00e1quina em tempo real, junte-se a n\u00f3s.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe loading=\"lazy\" class=\"youtube-player\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/SDDDxoB5CG8?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=pt-BR&#038;autohide=2&#038;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\"><\/iframe><\/span>\n<\/div><\/figure>\n\n\n\n<hr class=\"wp-block-coblocks-dynamic-separator\" style=\"height:50px\"\/>\n\n\n\n<p class=\"has-white-background-color has-text-color has-background wp-block-paragraph\" style=\"color:#820ad1;font-size:18px;line-height:1.5\"><p class=\"has-white-background-color has-text-color has-background\" style=\"color:#820ad1;font-size:18px;line-height:1.5\"><\/p><p class=\"has-white-background-color has-text-color has-background\" style=\"color:#820ad1;font-size:15px;line-height:1.5\">Written by Ana Martinazzo<br>Reviewed by Felipe Almeida<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um minimapa de quando e como criar sistemas de aprendizado de m\u00e1quina em tempo real<\/p>\n","protected":false},"author":178110155,"featured_media":24504,"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":[2504,2558,2798],"ppma_author":[2375],"class_list":["post-26171","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-analytics","category-data-science-machine-learning-pt-br","tag-ciencia-de-dados","tag-machine-learning-models-pt-br","tag-predictions-pt-br"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Modelos de aprendizado de m\u00e1quina em tempo real, na vida real - Building Nubank<\/title>\n<meta name=\"description\" content=\"A mini roadmap on when and how to build real-time machine learning systems\" \/>\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\/real-time-machine-learning-models-in-real-life\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Modelos de aprendizado de m\u00e1quina em tempo real, na vida real - Building Nubank\" \/>\n<meta property=\"og:description\" content=\"A mini roadmap on when and how to build real-time machine learning systems\" \/>\n<meta property=\"og:url\" content=\"https:\/\/building.nubank.com\/pt-br\/real-time-machine-learning-models-in-real-life\/\" \/>\n<meta property=\"og:site_name\" content=\"Building Nubank\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-23T15:14:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T13:47:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2022\/09\/ML-models_Feature_1200x675.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=\"Ana Martinazzo - Sr. Machine Learning Engineer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ana Martinazzo - Sr. Machine Learning Engineer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 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\\\/real-time-machine-learning-models-in-real-life\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/real-time-machine-learning-models-in-real-life\\\/\"},\"author\":{\"name\":\"Ana Martinazzo - Sr. Machine Learning Engineer\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/#\\\/schema\\\/person\\\/8f5818c5e2beeb8abf8ee20eb61c1fbe\"},\"headline\":\"Modelos de aprendizado de m\u00e1quina em tempo real, na vida real\",\"datePublished\":\"2022-09-23T15:14:59+00:00\",\"dateModified\":\"2024-03-21T13:47:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/real-time-machine-learning-models-in-real-life\\\/\"},\"wordCount\":1999,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/real-time-machine-learning-models-in-real-life\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/ML-models_Feature_1200x675.jpg?fit=1200%2C675&ssl=1\",\"keywords\":[\"ci\u00eancia de dados\",\"machine learning models\",\"predictions\"],\"articleSection\":[\"Data &amp; Analytics\",\"Data science &amp; Machine Learning\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/real-time-machine-learning-models-in-real-life\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/real-time-machine-learning-models-in-real-life\\\/\",\"url\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/real-time-machine-learning-models-in-real-life\\\/\",\"name\":\"Modelos de aprendizado de m\u00e1quina em tempo real, na vida real - Building Nubank\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/real-time-machine-learning-models-in-real-life\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/real-time-machine-learning-models-in-real-life\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/ML-models_Feature_1200x675.jpg?fit=1200%2C675&ssl=1\",\"datePublished\":\"2022-09-23T15:14:59+00:00\",\"dateModified\":\"2024-03-21T13:47:20+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/#\\\/schema\\\/person\\\/8f5818c5e2beeb8abf8ee20eb61c1fbe\"},\"description\":\"A mini roadmap on when and how to build real-time machine learning systems\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/real-time-machine-learning-models-in-real-life\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/real-time-machine-learning-models-in-real-life\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/real-time-machine-learning-models-in-real-life\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/ML-models_Feature_1200x675.jpg?fit=1200%2C675&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/ML-models_Feature_1200x675.jpg?fit=1200%2C675&ssl=1\",\"width\":1200,\"height\":675},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/real-time-machine-learning-models-in-real-life\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Modelos de aprendizado de m\u00e1quina em tempo real, na vida real\"}]},{\"@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\\\/8f5818c5e2beeb8abf8ee20eb61c1fbe\",\"name\":\"Ana Martinazzo - Sr. Machine Learning Engineer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/building.nubank.com.br\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/avatar_user_178110155_1663944912-96x96.jpeg0451fbbf5f379ee67916f1fa79be880f\",\"url\":\"https:\\\/\\\/building.nubank.com.br\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/avatar_user_178110155_1663944912-96x96.jpeg\",\"contentUrl\":\"https:\\\/\\\/building.nubank.com.br\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/avatar_user_178110155_1663944912-96x96.jpeg\",\"caption\":\"Ana Martinazzo - Sr. Machine Learning Engineer\"},\"description\":\"Ana Martinazzo is a Senior Machine Learning Engineer helping Nubank scale up efficiently with machine learning. She has a Bachelor's Degree in Mechanical Engineering and a Master's Degree in Computer Science, both from the University of S\u00e3o Paulo. Ana has experience working with various kinds of data across diverse industries. Before joining Nubank, she has worked with applied machine learning in companies such as PicPay and Hospital Albert Einstein. When she's not coding, she likes to be outdoors, doing activities such as trail running and climbing.\",\"url\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/author\\\/ana-martinazzo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Modelos de aprendizado de m\u00e1quina em tempo real, na vida real - Building Nubank","description":"A mini roadmap on when and how to build real-time machine learning systems","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\/real-time-machine-learning-models-in-real-life\/","og_locale":"pt_BR","og_type":"article","og_title":"Modelos de aprendizado de m\u00e1quina em tempo real, na vida real - Building Nubank","og_description":"A mini roadmap on when and how to build real-time machine learning systems","og_url":"https:\/\/building.nubank.com\/pt-br\/real-time-machine-learning-models-in-real-life\/","og_site_name":"Building Nubank","article_published_time":"2022-09-23T15:14:59+00:00","article_modified_time":"2024-03-21T13:47:20+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2022\/09\/ML-models_Feature_1200x675.jpg?fit=1200%2C675&ssl=1","type":"image\/jpeg"}],"author":"Ana Martinazzo - Sr. Machine Learning Engineer","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Ana Martinazzo - Sr. Machine Learning Engineer","Est. tempo de leitura":"11 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/building.nubank.com\/pt-br\/real-time-machine-learning-models-in-real-life\/#article","isPartOf":{"@id":"https:\/\/building.nubank.com\/pt-br\/real-time-machine-learning-models-in-real-life\/"},"author":{"name":"Ana Martinazzo - Sr. Machine Learning Engineer","@id":"https:\/\/building.nubank.com\/pt-br\/#\/schema\/person\/8f5818c5e2beeb8abf8ee20eb61c1fbe"},"headline":"Modelos de aprendizado de m\u00e1quina em tempo real, na vida real","datePublished":"2022-09-23T15:14:59+00:00","dateModified":"2024-03-21T13:47:20+00:00","mainEntityOfPage":{"@id":"https:\/\/building.nubank.com\/pt-br\/real-time-machine-learning-models-in-real-life\/"},"wordCount":1999,"commentCount":0,"image":{"@id":"https:\/\/building.nubank.com\/pt-br\/real-time-machine-learning-models-in-real-life\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2022\/09\/ML-models_Feature_1200x675.jpg?fit=1200%2C675&ssl=1","keywords":["ci\u00eancia de dados","machine learning models","predictions"],"articleSection":["Data &amp; Analytics","Data science &amp; Machine Learning"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/building.nubank.com\/pt-br\/real-time-machine-learning-models-in-real-life\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/building.nubank.com\/pt-br\/real-time-machine-learning-models-in-real-life\/","url":"https:\/\/building.nubank.com\/pt-br\/real-time-machine-learning-models-in-real-life\/","name":"Modelos de aprendizado de m\u00e1quina em tempo real, na vida real - Building Nubank","isPartOf":{"@id":"https:\/\/building.nubank.com\/pt-br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/building.nubank.com\/pt-br\/real-time-machine-learning-models-in-real-life\/#primaryimage"},"image":{"@id":"https:\/\/building.nubank.com\/pt-br\/real-time-machine-learning-models-in-real-life\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2022\/09\/ML-models_Feature_1200x675.jpg?fit=1200%2C675&ssl=1","datePublished":"2022-09-23T15:14:59+00:00","dateModified":"2024-03-21T13:47:20+00:00","author":{"@id":"https:\/\/building.nubank.com\/pt-br\/#\/schema\/person\/8f5818c5e2beeb8abf8ee20eb61c1fbe"},"description":"A mini roadmap on when and how to build real-time machine learning systems","breadcrumb":{"@id":"https:\/\/building.nubank.com\/pt-br\/real-time-machine-learning-models-in-real-life\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/building.nubank.com\/pt-br\/real-time-machine-learning-models-in-real-life\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/building.nubank.com\/pt-br\/real-time-machine-learning-models-in-real-life\/#primaryimage","url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2022\/09\/ML-models_Feature_1200x675.jpg?fit=1200%2C675&ssl=1","contentUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2022\/09\/ML-models_Feature_1200x675.jpg?fit=1200%2C675&ssl=1","width":1200,"height":675},{"@type":"BreadcrumbList","@id":"https:\/\/building.nubank.com\/pt-br\/real-time-machine-learning-models-in-real-life\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/building.nubank.com\/pt-br\/"},{"@type":"ListItem","position":2,"name":"Modelos de aprendizado de m\u00e1quina em tempo real, na vida real"}]},{"@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\/8f5818c5e2beeb8abf8ee20eb61c1fbe","name":"Ana Martinazzo - Sr. Machine Learning Engineer","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/building.nubank.com.br\/wp-content\/uploads\/2022\/09\/avatar_user_178110155_1663944912-96x96.jpeg0451fbbf5f379ee67916f1fa79be880f","url":"https:\/\/building.nubank.com.br\/wp-content\/uploads\/2022\/09\/avatar_user_178110155_1663944912-96x96.jpeg","contentUrl":"https:\/\/building.nubank.com.br\/wp-content\/uploads\/2022\/09\/avatar_user_178110155_1663944912-96x96.jpeg","caption":"Ana Martinazzo - Sr. Machine Learning Engineer"},"description":"Ana Martinazzo is a Senior Machine Learning Engineer helping Nubank scale up efficiently with machine learning. She has a Bachelor's Degree in Mechanical Engineering and a Master's Degree in Computer Science, both from the University of S\u00e3o Paulo. Ana has experience working with various kinds of data across diverse industries. Before joining Nubank, she has worked with applied machine learning in companies such as PicPay and Hospital Albert Einstein. When she's not coding, she likes to be outdoors, doing activities such as trail running and climbing.","url":"https:\/\/building.nubank.com\/pt-br\/author\/ana-martinazzo\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2022\/09\/ML-models_Feature_1200x675.jpg?fit=1200%2C675&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pbKBB5-6O7","jetpack_sharing_enabled":true,"authors":[{"term_id":2375,"user_id":178110155,"is_guest":0,"slug":"ana-martinazzo","display_name":"Ana Martinazzo - Sr. Machine Learning Engineer","avatar_url":"https:\/\/building.nubank.com.br\/wp-content\/uploads\/2022\/09\/avatar_user_178110155_1663944912-96x96.jpeg","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/posts\/26171","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\/178110155"}],"replies":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/comments?post=26171"}],"version-history":[{"count":6,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/posts\/26171\/revisions"}],"predecessor-version":[{"id":28798,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/posts\/26171\/revisions\/28798"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/media\/24504"}],"wp:attachment":[{"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/media?parent=26171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/categories?post=26171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/tags?post=26171"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/ppma_author?post=26171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}