{"id":32965,"date":"2025-05-14T11:47:05","date_gmt":"2025-05-14T14:47:05","guid":{"rendered":"https:\/\/building.nubank.com\/?p=32965"},"modified":"2025-05-14T13:12:54","modified_gmt":"2025-05-14T16:12:54","slug":"ajuste-fino-de-modelos-de-usuarios-de-transacoes","status":"publish","type":"post","link":"https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/","title":{"rendered":"Ajuste Fino de Modelos de Usu\u00e1rios de Transa\u00e7\u00f5es"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em><strong>Autores:<\/strong> <a href=\"https:\/\/www.linkedin.com\/in\/daniel-braithwaite-phd-78ab58105\/\" target=\"_blank\" rel=\"noreferrer noopener\">Daniel Braithwaite<\/a>, <a href=\"https:\/\/www.linkedin.com\/in\/misaellvcc\/\" target=\"_blank\" rel=\"noreferrer noopener\">Misael Cavalcanti<\/a> e <a href=\"https:\/\/www.linkedin.com\/in\/hiroto-udagawa\/\" target=\"_blank\" rel=\"noreferrer noopener\">Hiroto Udagawa<\/a>.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O trabalho descrito aqui \u00e9 um esfor\u00e7o colaborativo de v\u00e1rios engenheiros do Nubank (em ordem alfab\u00e9tica): <a href=\"https:\/\/www.linkedin.com\/in\/ashivanna\/\"><em>Abhishek Shivanna<\/em><\/a><em>, <\/em><a href=\"https:\/\/www.linkedin.com\/in\/arissa-yoshida\/\"><em>Arissa Yoshida<\/em><\/a><em>, <\/em><a href=\"https:\/\/www.linkedin.com\/in\/austinmcever\/\"><em>Austin McEver<\/em><\/a><em>, <\/em><a href=\"https:\/\/www.linkedin.com\/in\/brian-zanfelice\/\"><em>Brian Zanfelice<\/em><\/a><em>, <\/em><a href=\"https:\/\/www.linkedin.com\/in\/cristiano-breuel\/\"><em>Cristiano Breuel<\/em><\/a><em>, <\/em><a href=\"https:\/\/www.linkedin.com\/in\/evan-wingert-23286a234\/\"><em>Evan Wingert<\/em><\/a><em>, <\/em><a href=\"https:\/\/www.linkedin.com\/in\/fabiocapuanodesouza\/\"><em>Fabio Souza<\/em><\/a><em>, <\/em><a href=\"https:\/\/www.linkedin.com\/in\/felipebpm\/\"><em>Felipe Meneses<\/em><\/a><em>, <\/em><a href=\"https:\/\/www.linkedin.com\/in\/helderdias\/\"><em>Helder Dias<\/em><\/a><em>, <\/em><a href=\"https:\/\/www.linkedin.com\/in\/henriquefernandesa\/\"><em>Henrique Fernandes<\/em><\/a><em>, <\/em><a href=\"https:\/\/www.linkedin.com\/in\/liammoneill\/\"><em>Liam O&#8217;Neill<\/em><\/a><em>, <\/em><a href=\"https:\/\/www.linkedin.com\/in\/marcelo-buga\/\"><em>Marcelo Buga<\/em><\/a><em> e <\/em><a href=\"https:\/\/www.linkedin.com\/in\/matheusmissen\/\"><em>Matheus Ramos<\/em><\/a><em>. We also thank Rohan Ramanath, Daniel Silva e Guilherme Tanure pelo apoio.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Tradu\u00e7\u00e3o t\u00e9cnica: <\/em><a href=\"https:\/\/www.linkedin.com\/in\/cinthia-tanaka\/\"><em>Cinthia Tanaka<\/em><\/a><em> e <\/em><a href=\"https:\/\/www.linkedin.com\/in\/kevin-r-rossell-8b5088139\/\"><em>Kevin Rossell<\/em><\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta \u00e9 a terceira parte de uma s\u00e9rie de postagens no blog sobre modelagem de finan\u00e7as de clientes por meio de modelos fundacionais. Leia a nossa primeira <a href=\"https:\/\/building.nubank.com\/pt-br\/entendendo-as-financas-dos-nossos-clientes-por-meio-de-modelos-fundacionais\/\">postagem no blog<\/a> para uma introdu\u00e7\u00e3o ao problema. Confira nossa segunda <a href=\"https:\/\/building.nubank.com\/pt-br\/definindo-uma-interface-entre-dados-de-transacoes-e-modelos-fundacionais\/\">postagem no blog<\/a> para mais contexto sobre como formulamos nossos modelos de funda\u00e7\u00e3o para dados de transa\u00e7\u00f5es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Em nossas postagens anteriores sobre modelos fundacionais baseados em transa\u00e7\u00f5es para clientes, demonstramos como o aprendizado auto-supervisionado (pr\u00e9-treinamento) pode gerar embeddings gerais (n\u00e3o supervisionados) que representam o comportamento de um cliente a partir de dados de transa\u00e7\u00f5es. Esses embeddings n\u00e3o s\u00e3o otimizados para nenhuma tarefa espec\u00edfica e podem ser aplicados a uma variedade de problemas. No entanto, se quisermos alcan\u00e7ar um desempenho ideal em uma tarefa espec\u00edfica, podemos refinar ainda mais o transformer e seus embeddings por meio de um processo chamado ajuste fino supervisionado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nosso processo de ajuste fino supervisionado \u00e9 uma etapa secund\u00e1ria na qual partimos de um modelo pr\u00e9-treinado e adicionamos uma camada linear, chamada de <em>camada de predi\u00e7\u00e3o<\/em>, para prever o r\u00f3tulo fornecido, como uma classifica\u00e7\u00e3o bin\u00e1ria, multi-classe ou alvo de regress\u00e3o. A entrada para essa camada de predi\u00e7\u00e3o \u00e9 o embedding do \u00faltimo token da sequ\u00eancia, denominado <em>embedding do usu\u00e1rio<\/em>, a partir da sa\u00edda do transformer causal. Ent\u00e3o, otimizamos o transformer simultaneamente com a camada de predi\u00e7\u00e3o para minimizar a perda (ou seja, entropia cruzada, erro quadr\u00e1tico m\u00e9dio). Assim, ap\u00f3s o ajuste fino supervisionado, os embeddings estar\u00e3o adaptados \u00e0 tarefa dada. A figura abaixo (\u00e0 esquerda) mostra esse processo. Al\u00e9m disso, a figura \u00e0 direita abaixo mostra uma melhoria relativa de 1,68% no AUC alcan\u00e7ada pelo ajuste fino em v\u00e1rias tarefas de benchmark.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"481\" data-attachment-id=\"32997\" data-permalink=\"https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/screenshot-2025-05-14-at-11-30-35\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.30.35-1.png?fit=3178%2C1492&amp;ssl=1\" data-orig-size=\"3178,1492\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Screenshot 2025-05-14 at 11.30.35\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.30.35-1.png?fit=1024%2C481&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.30.35-1.png?resize=1024%2C481&#038;ssl=1\" alt=\"\" class=\"wp-image-32997\" srcset=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.30.35-1.png?resize=1024%2C481&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.30.35-1.png?resize=300%2C141&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.30.35-1.png?resize=768%2C361&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.30.35-1.png?resize=1536%2C721&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.30.35-1.png?resize=2048%2C961&amp;ssl=1 2048w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.30.35-1.png?resize=1200%2C563&amp;ssl=1 1200w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.30.35-1.png?w=3000&amp;ssl=1 3000w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Uma motiva\u00e7\u00e3o principal para o desenvolvimento de modelos fundacionais para dados de transa\u00e7\u00f5es \u00e9 capturar o sinal nesses dados de maneira mais eficaz atrav\u00e9s de uma codifica\u00e7\u00e3o aprimorada (aprendida). Al\u00e9m disso, como visto em outros campos, hipotetizamos que \u00e0 medida que escalamos esses modelos (por exemplo, mais hist\u00f3rico de transa\u00e7\u00f5es, modelos maiores, mais dados), o sinal capturado dos dados de transa\u00e7\u00f5es se tornar\u00e1 mais rico, levando a um desempenho ainda melhor em tarefas posteriores. Outro benef\u00edcio desses modelos de funda\u00e7\u00e3o \u00e9 que eles aliviam a necessidade de engenharia manual de features a partir dos dados de transa\u00e7\u00f5es sequenciais. No entanto, nem todos os dados \u00fateis s\u00e3o sequenciais. Na verdade, em muitos casos, os dados t\u00eam natureza tabular (por exemplo, informa\u00e7\u00f5es de bureau), o que significa que precisamos de uma solu\u00e7\u00e3o que nos permita incorporar tanto dados sequenciais quanto tabulares em uma solu\u00e7\u00e3o final.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O processo de combinar embeddings com features tabulares \u00e9 conhecido como <em>fus\u00e3o<\/em> (ou <em>blending<\/em>). No restante deste post, discutimos sobre a fus\u00e3o e, finalmente, introduzimos uma arquitetura que incorpora essas features no procedimento de ajuste fino do transformer. A abordagem trivial para a fus\u00e3o \u00e9 usar modelos de \u00e1rvores de decis\u00e3o impulsionadas por gradiente (GBT; por exemplo, XGBoost [2] ou LightGBM [3]), para combinar os dados tabulares, pois geralmente s\u00e3o considerados estado da arte [1]. Junto com essas features tabulares, embeddings ajustados podem ser passados para o treinamento do GBT, em um processo denominado fus\u00e3o tardia [8]. No entanto, a fus\u00e3o tardia \u00e9 sub\u00f3tima porque os embeddings ajustados s\u00e3o aprendidos separadamente das features tabulares.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Em contraste com a fus\u00e3o tardia, propomos um procedimento de treinamento baseado em fus\u00e3o conjunta [8]. Este procedimento otimiza conjuntamente o transformer junto com o modelo de fus\u00e3o, permitindo que o transformer capture melhor informa\u00e7\u00f5es n\u00e3o presentes nas features tabulares. A figura abaixo mostra uma compara\u00e7\u00e3o de alto n\u00edvel entre fus\u00e3o tardia e fus\u00e3o conjunta (os blocos verdes indicam quais se\u00e7\u00f5es do modelo s\u00e3o treinadas).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdamC_E7uIveCaqn-A1o-4i-DQposj9r2nU3kswP0w3dEY_m7QfNg-pmqihkM8uojz7b-w2JTYpblmpbfXQnkUKwimLzIojuh8SWWSeWsn5T34u14Ku8poyZz3O6waArXmk_b0iCA?key=ckmo8A7IntDtkqEPX9yi9ia2\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Infelizmente, os GBTs n\u00e3o s\u00e3o diferenci\u00e1veis e, portanto, s\u00e3o incompat\u00edveis com a fus\u00e3o conjunta. Motivados por essa incompatibilidade, investimos em redes de features tabulares baseadas em Redes Neurais Profundas (DNNs). No entanto, apesar de alguns trabalhos recentes mostrarem que DNNs podem ser competitivas com GBTs [4], o desempenho das redes de features tabulares baseadas em DNNs pode variar drasticamente entre problemas. Por exemplo, um artigo de revis\u00e3o [5] avaliou 19 modelos de features tabulares (NN + GBT) em 176 conjuntos de dados, e cada modelo teve o melhor desempenho em um conjunto de dados e o pior em outro, tornando desafiador adotar uma abordagem \u00fanica para todos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O primeiro passo em nossa abordagem foi alcan\u00e7ar paridade entre DNNs e modelos GBT apenas nas features tabulares. Selecionamos a arquitetura DCNv2 [6], pois mostrou sucesso em problemas relacionados em grande escala (por exemplo, utilizada pelo Google [6]). No entanto, os resultados iniciais mostraram um desempenho muito pior (-0,40%) para os modelos DCNv2 baseados em DNNs em compara\u00e7\u00e3o com os GBTs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Em um artigo recente [7], os autores descobriram que incorporar atributos num\u00e9ricos como embeddings atingiu ganhos significativos ao modelar features tabulares num\u00e9ricas em DNNs. Esses embeddings num\u00e9ricos s\u00e3o constru\u00eddos usando ativa\u00e7\u00f5es peri\u00f3dicas em diferentes frequ\u00eancias aprendidas. Combinamos isso com tabelas de embeddings trein\u00e1veis para tamb\u00e9m facilitar embeddings de features categ\u00f3ricas. Incorporar essa estrat\u00e9gia de embedding no modelo DCNv2 nos permitiu alcan\u00e7ar paridade com os GBTs em muitos de nossos problemas internos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Apesar de alcan\u00e7ar paridade apenas com features tabulares, o \u00faltimo desafio a superar foi incorporar embeddings de usu\u00e1rios baseados em transformer nesses modelos, mantendo ou superando o desempenho do modelo GBT com DNNs. Tr\u00eas fatores-chave foram cr\u00edticos para alcan\u00e7ar isso. Primeiramente, usamos o DCNv2 para processar as features tabulares incorporadas e projetar o resultado em um embedding de baixa dimens\u00e3o. Esse embedding de features \u00e9 concatenado com o embedding baseado em transformer, e um perceptron de m\u00faltiplas camadas faz a predi\u00e7\u00e3o final. Em segundo lugar, adicionar regulariza\u00e7\u00e3o na forma de decaimento de peso e\/ou dropout nas camadas cruzadas do DCNv2 reduziu o overfitting. Finalmente, adicionar normaliza\u00e7\u00e3o aos embeddings baseados em transformer melhorou a consist\u00eancia do DCNv2, permitindo que o modelo de DNN consistentemente e de maneira confi\u00e1vel superasse os GBTs. A figura abaixo mostra a melhoria relativa m\u00e9dia em AUC para uma cole\u00e7\u00e3o de tarefas de benchmark em v\u00e1rias vers\u00f5es de nosso modelo DNN. Vemos que somente ao combinar o DCNv2 com os embeddings num\u00e9ricos somos capazes de superar o baseline.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdRfgD4km5NyBC9q7eFfyZRGFWlarKx207dOAVlCXh7J8hm00RijE4CKAEP9yALMiDDk8yBqlSvvH9kWlU7xKZ0BUMDPl-nDUkwp0_HPC_paJMApziHjkHvzEUbyOOi1fqHV4BqkQ?key=ckmo8A7IntDtkqEPX9yi9ia2\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Apesar dos desafios em usar DNNs com dados tabulares, conseguimos desenvolver um modelo que funciona bem para nossas tarefas atuais de interesse, utilizando uma combina\u00e7\u00e3o do DCNv2 [6], embeddings num\u00e9ricos, embeddings de features categ\u00f3ricas [7] e regulariza\u00e7\u00e3o. Usando esse modelo DCNv2 com as melhorias mencionadas, podemos treinar o modelo de fus\u00e3o para combinar features e embeddings enquanto simultaneamente ajustamos o modelo transformer. A figura abaixo mostra a fus\u00e3o de features tabulares como parte do processo de ajuste fino. A figura \u00e0 direita abaixo mostra o pr\u00e9-processamento e embedding de features tabulares em mais detalhes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"450\" data-attachment-id=\"33000\" data-permalink=\"https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/screenshot-2025-05-14-at-11-31-03\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.31.03-1.png?fit=3146%2C1384&amp;ssl=1\" data-orig-size=\"3146,1384\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Screenshot 2025-05-14 at 11.31.03\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.31.03-1.png?fit=1024%2C450&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.31.03-1.png?resize=1024%2C450&#038;ssl=1\" alt=\"\" class=\"wp-image-33000\" srcset=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.31.03-1.png?resize=1024%2C450&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.31.03-1.png?resize=300%2C132&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.31.03-1.png?resize=768%2C338&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.31.03-1.png?resize=1536%2C676&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.31.03-1.png?resize=2048%2C901&amp;ssl=1 2048w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.31.03-1.png?resize=1200%2C528&amp;ssl=1 1200w, https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.31.03-1.png?w=3000&amp;ssl=1 3000w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Na figura a seguir, visualizamos o ganho relativo em AUC ao usar fus\u00e3o conjunta versus fus\u00e3o tardia nas mesmas tarefas de benchmark mencionadas acima. Como anteriormente, o nosso baseline aqui \u00e9 um modelo LightGBM treinado apenas com as features. Isso demonstra a vantagem de realizar o ajuste fino conjuntamente com features tabulares. Importante notar que, tanto no caso da fus\u00e3o tardia quanto da fus\u00e3o conjunta, a melhora n\u00e3o \u00e9 obtida pela adi\u00e7\u00e3o de novas fontes de informa\u00e7\u00e3o. Em vez disso, a melhoria \u00e9 alcan\u00e7ada aprendendo automaticamente features informativas para a tarefa em quest\u00e3o por meio do ajuste fino de nossos modelos fundacionais de transa\u00e7\u00f5es.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXckUs85ZljPh3a4iK0dM4mGqHD1rARYw0-EsKp3BCnk8QcvJXgKCBh_JL8sXQMPgz9DFiWtfDc3lhYfYbgxwG1vb8wVl7hidgaKrnL95xxc-POycuzF3Fi5lEC1tP7jqt9jJhuM8w?key=ckmo8A7IntDtkqEPX9yi9ia2\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Neste post, come\u00e7amos motivando e introduzindo uma abordagem padr\u00e3o de ajuste fino supervisionado para aprender embeddings adaptados a tarefas espec\u00edficas. Em seguida, apresentamos a fus\u00e3o conjunta, que nos permite combinar conjuntos de features tabulares existentes com nossos embeddings durante o ajuste fino. A fus\u00e3o conjunta facilita a melhoria do desempenho a partir de nossos embeddings de usu\u00e1rios, ao mesmo tempo em que incorpora qualquer solu\u00e7\u00e3o existente baseada em features tabulares. Por fim, demonstramos a melhoria gerada pela fus\u00e3o conjunta em benchmarks internos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se voc\u00ea chegou at\u00e9 aqui, aproveite para acessar os demais posts da s\u00e9rie e entender com mais profundidade o contexto e os detalhes t\u00e9cnicos dessa abordagem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Resumo da s\u00e9rie<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se voc\u00ea chegou at\u00e9 aqui, aproveite para acessar os demais posts da s\u00e9rie e entender com mais profundidade o contexto e os detalhes t\u00e9cnicos dessa abordagem.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><a href=\"https:\/\/building.nubank.com\/pt-br\/entendendo-as-financas-dos-nossos-clientes-por-meio-de-modelos-fundacionais\/\">No primeiro blog post<\/a><\/strong>, avaliamos o potencial dos <em>foundation models<\/em> aplicados a dados de transa\u00e7\u00f5es, mostrando como o aprendizado auto-supervisionado pode gerar embeddings gerais que capturam o comportamento do cliente sem depender de dados rotulados.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/building.nubank.com\/pt-br\/definindo-uma-interface-entre-dados-de-transacoes-e-modelos-fundacionais\/\">No segundo blog post<\/a><\/strong>, aprofundamos na formula\u00e7\u00e3o t\u00e9cnica dos nossos <em>foundation models<\/em>, detalhando a arquitetura baseada em transformadores causais e como esses embeddings podem ser aplicados a diferentes tarefas.<\/li>\n\n\n\n<li><strong>Nesse terceiro blog post<\/strong>, exploramos como melhorar o desempenho em tarefas espec\u00edficas com o <em>supervised fine-tuning<\/em> e introduzimos o conceito de <em>joint fusion<\/em> \u2014 uma abordagem que combina dados sequenciais e tabulares em um \u00fanico processo de treinamento fim a fim.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">References<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">[1] Borisov, V., Leemann, T., Se\u00dfler, K., Haug, J., Pawelczyk, M., &amp; Kasneci, G. (2022). Deep neural networks and tabular data: A survey. IEEE transactions on neural networks and learning systems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[2] Chen, T., &amp; Guestrin, C. (2016, August). Xgboost: A scalable tree boosting system. In Proceedings of the 22nd acm sigkdd international conference on knowledge discovery and data mining (pp. 785-794).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[3] Ke, G., Meng, Q., Finley, T., Wang, T., Chen, W., Ma, W., &#8230; &amp; Liu, T. Y. (2017). Lightgbm: A highly efficient gradient boosting decision tree. Advances in neural information processing systems, 30.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[4] Zab\u00ebrgja, G., Kadra, A., &amp; Grabocka, J. (2024). Tabular Data: Is Attention All You Need?. arXiv preprint arXiv:2402.03970.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[5] McElfresh, D., Khandagale, S., Valverde, J., Prasad C, V., Ramakrishnan, G., Goldblum, M., &amp; White, C. (2024). When do neural nets outperform boosted trees on tabular data?. Advances in Neural Information Processing Systems, 36.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[6] Wang, R., Shivanna, R., Cheng, D., Jain, S., Lin, D., Hong, L., &amp; Chi, E. (2021, April). Dcn v2: Improved deep &amp; cross network and practical lessons for web-scale learning to rank systems. In Proceedings of the web conference 2021 (pp. 1785-1797).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[7] Gorishniy, Y., Rubachev, I., &amp; Babenko, A. (2022). On embeddings for numerical features in tabular deep learning. Advances in Neural Information Processing Systems, 35, 24991-25004.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[8] Imrie, F., Denner, S., Brunschwig, L. S., Maier-Hein, K., &amp; Van Der Schaar, M. (2025). Automated ensemble multimodal machine learning for healthcare. IEEE Journal of Biomedical and Health Informatics.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Descubra como combinamos embeddings de transa\u00e7\u00f5es com dados tabulares usando fine-tuning supervisionado e joint fusion. Superamos modelos como LightGBM com arquitetura baseada em DCNv2. Saiba como evolu\u00edmos o uso de foundation models no Nubank.<\/p>\n","protected":false},"author":178110103,"featured_media":33015,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_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":[778793307,2503,2502],"tags":[778793597,778793590,778793596,778793589,778793595,778793598,778793591,778793594,778793592,778793593],"ppma_author":[2321],"class_list":["post-32965","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-research-pt-br","category-data-analytics","category-data-science-machine-learning-pt-br","tag-auc-improvement-3","tag-customer-behavior-modeling-3","tag-deep-learning-models-3","tag-fundamental-models-3","tag-gradient-boosted-trees-gbt-3","tag-joint-fusion-training-3","tag-supervised-fine-tuning-3","tag-tabular-data-fusion-3","tag-transaction-data-embeddings-3","tag-transformer-models-3"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ajuste Fino de Modelos de Usu\u00e1rios de Transa\u00e7\u00f5es - Building Nubank<\/title>\n<meta name=\"description\" content=\"Descubra como combinamos embeddings de transa\u00e7\u00f5es com dados tabulares usando fine-tuning supervisionado e joint fusion. Superamos modelos como LightGBM com arquitetura baseada em DCNv2. Saiba como evolu\u00edmos o uso de foundation models no Nubank.\" \/>\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\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ajuste Fino de Modelos de Usu\u00e1rios de Transa\u00e7\u00f5es - Building Nubank\" \/>\n<meta property=\"og:description\" content=\"Descubra como combinamos embeddings de transa\u00e7\u00f5es com dados tabulares usando fine-tuning supervisionado e joint fusion. Superamos modelos como LightGBM com arquitetura baseada em DCNv2. Saiba como evolu\u00edmos o uso de foundation models no Nubank.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/\" \/>\n<meta property=\"og:site_name\" content=\"Building Nubank\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-14T14:47:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-14T16:12:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.38.13-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2078\" \/>\n\t<meta property=\"og:image:height\" content=\"734\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nubank Editorial\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nubank Editorial\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 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\\\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\\\/\"},\"author\":{\"name\":\"Nubank Editorial\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\"},\"headline\":\"Ajuste Fino de Modelos de Usu\u00e1rios de Transa\u00e7\u00f5es\",\"datePublished\":\"2025-05-14T14:47:05+00:00\",\"dateModified\":\"2025-05-14T16:12:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\\\/\"},\"wordCount\":1871,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Screenshot-2025-05-14-at-11.38.13-1.png?fit=2078%2C734&ssl=1\",\"keywords\":[\"AUC Improvement\",\"Customer Behavior Modeling\",\"Deep Learning Models\",\"Fundamental Models\",\"Gradient Boosted Trees (GBT)\",\"Joint Fusion Training\",\"Supervised Fine-Tuning\",\"Tabular Data Fusion\",\"Transaction Data Embeddings\",\"Transformer Models\"],\"articleSection\":[\"AI Research\",\"Data &amp; Analytics\",\"Data science &amp; Machine Learning\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\\\/\",\"url\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\\\/\",\"name\":\"Ajuste Fino de Modelos de Usu\u00e1rios de Transa\u00e7\u00f5es - Building Nubank\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Screenshot-2025-05-14-at-11.38.13-1.png?fit=2078%2C734&ssl=1\",\"datePublished\":\"2025-05-14T14:47:05+00:00\",\"dateModified\":\"2025-05-14T16:12:54+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\"},\"description\":\"Descubra como combinamos embeddings de transa\u00e7\u00f5es com dados tabulares usando fine-tuning supervisionado e joint fusion. Superamos modelos como LightGBM com arquitetura baseada em DCNv2. Saiba como evolu\u00edmos o uso de foundation models no Nubank.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Screenshot-2025-05-14-at-11.38.13-1.png?fit=2078%2C734&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Screenshot-2025-05-14-at-11.38.13-1.png?fit=2078%2C734&ssl=1\",\"width\":2078,\"height\":734},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ajuste Fino de Modelos de Usu\u00e1rios de Transa\u00e7\u00f5es\"}]},{\"@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\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\",\"name\":\"Nubank Editorial\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g0a78bc815f2126d9ba65b2af185671f1\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g\",\"caption\":\"Nubank Editorial\"},\"url\":\"https:\\\/\\\/building.nubank.com\\\/pt-br\\\/author\\\/editorial\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ajuste Fino de Modelos de Usu\u00e1rios de Transa\u00e7\u00f5es - Building Nubank","description":"Descubra como combinamos embeddings de transa\u00e7\u00f5es com dados tabulares usando fine-tuning supervisionado e joint fusion. Superamos modelos como LightGBM com arquitetura baseada em DCNv2. Saiba como evolu\u00edmos o uso de foundation models no Nubank.","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\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/","og_locale":"pt_BR","og_type":"article","og_title":"Ajuste Fino de Modelos de Usu\u00e1rios de Transa\u00e7\u00f5es - Building Nubank","og_description":"Descubra como combinamos embeddings de transa\u00e7\u00f5es com dados tabulares usando fine-tuning supervisionado e joint fusion. Superamos modelos como LightGBM com arquitetura baseada em DCNv2. Saiba como evolu\u00edmos o uso de foundation models no Nubank.","og_url":"https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/","og_site_name":"Building Nubank","article_published_time":"2025-05-14T14:47:05+00:00","article_modified_time":"2025-05-14T16:12:54+00:00","og_image":[{"width":2078,"height":734,"url":"https:\/\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.38.13-1.png","type":"image\/png"}],"author":"Nubank Editorial","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Nubank Editorial","Est. tempo de leitura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/#article","isPartOf":{"@id":"https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/"},"author":{"name":"Nubank Editorial","@id":"https:\/\/building.nubank.com\/pt-br\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4"},"headline":"Ajuste Fino de Modelos de Usu\u00e1rios de Transa\u00e7\u00f5es","datePublished":"2025-05-14T14:47:05+00:00","dateModified":"2025-05-14T16:12:54+00:00","mainEntityOfPage":{"@id":"https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/"},"wordCount":1871,"commentCount":0,"image":{"@id":"https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.38.13-1.png?fit=2078%2C734&ssl=1","keywords":["AUC Improvement","Customer Behavior Modeling","Deep Learning Models","Fundamental Models","Gradient Boosted Trees (GBT)","Joint Fusion Training","Supervised Fine-Tuning","Tabular Data Fusion","Transaction Data Embeddings","Transformer Models"],"articleSection":["AI Research","Data &amp; Analytics","Data science &amp; Machine Learning"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/","url":"https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/","name":"Ajuste Fino de Modelos de Usu\u00e1rios de Transa\u00e7\u00f5es - Building Nubank","isPartOf":{"@id":"https:\/\/building.nubank.com\/pt-br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/#primaryimage"},"image":{"@id":"https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.38.13-1.png?fit=2078%2C734&ssl=1","datePublished":"2025-05-14T14:47:05+00:00","dateModified":"2025-05-14T16:12:54+00:00","author":{"@id":"https:\/\/building.nubank.com\/pt-br\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4"},"description":"Descubra como combinamos embeddings de transa\u00e7\u00f5es com dados tabulares usando fine-tuning supervisionado e joint fusion. Superamos modelos como LightGBM com arquitetura baseada em DCNv2. Saiba como evolu\u00edmos o uso de foundation models no Nubank.","breadcrumb":{"@id":"https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/#primaryimage","url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.38.13-1.png?fit=2078%2C734&ssl=1","contentUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.38.13-1.png?fit=2078%2C734&ssl=1","width":2078,"height":734},{"@type":"BreadcrumbList","@id":"https:\/\/building.nubank.com\/pt-br\/ajuste-fino-de-modelos-de-usuarios-de-transacoes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/building.nubank.com\/pt-br\/"},{"@type":"ListItem","position":2,"name":"Ajuste Fino de Modelos de Usu\u00e1rios de Transa\u00e7\u00f5es"}]},{"@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\/462f4f5a8d4ec3ccbc3d661dde00f0a4","name":"Nubank Editorial","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g0a78bc815f2126d9ba65b2af185671f1","url":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","caption":"Nubank Editorial"},"url":"https:\/\/building.nubank.com\/pt-br\/author\/editorial\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-14-at-11.38.13-1.png?fit=2078%2C734&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pbKBB5-8zH","jetpack_sharing_enabled":true,"authors":[{"term_id":2321,"user_id":178110103,"is_guest":0,"slug":"editorial","display_name":"Nubank Editorial","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/posts\/32965","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\/178110103"}],"replies":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/comments?post=32965"}],"version-history":[{"count":10,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/posts\/32965\/revisions"}],"predecessor-version":[{"id":33049,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/posts\/32965\/revisions\/33049"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/media\/33015"}],"wp:attachment":[{"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/media?parent=32965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/categories?post=32965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/tags?post=32965"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/building.nubank.com\/pt-br\/wp-json\/wp\/v2\/ppma_author?post=32965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}