{"id":26047,"date":"2022-12-19T22:40:47","date_gmt":"2022-12-19T22:40:47","guid":{"rendered":"https:\/\/building.nu.com\/automatic-retraining-for-machine-learning-models-tips-and-lessons-learned\/"},"modified":"2024-02-23T16:46:34","modified_gmt":"2024-02-23T16:46:34","slug":"reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas","status":"publish","type":"post","link":"https:\/\/building.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/","title":{"rendered":"Reentrenamiento autom\u00e1tico para modelos de aprendizaje autom\u00e1tico: consejos y lecciones aprendidas"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>Escrito por Felipe Almeida, con contribuciones de Marcelo Koga, Raphael Soares, Gabriel Bakiewicz y George Salvino<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Los modelos de aprendizaje autom\u00e1tico<\/strong> comienzan a decaer en el momento en que comienzan a usarse; de hecho, necesariamente <em>deben<\/em> perder rendimiento porque est\u00e1n entrenados en una imagen <strong>est\u00e1tica<\/strong> <strong>del mundo<\/strong> (un set de entrenamiento).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El mundo, sin embargo, cambia a menudo, haciendo que esa instant\u00e1nea quede obsoleta con el paso del tiempo. Estos cambios en el mundo (representados por las caracter\u00edsticas utilizadas) generalmente se denominan \u201c<a href=\"https:\/\/machinelearningmastery.com\/gentle-introduction-concept-drift-machine-learning\/\">deriva de conceptos<\/a>\u201d o \u201cderiva de datos\u201d.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">La velocidad con la que decae el modelo depende de varias razones, por ejemplo:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cu\u00e1ntas funciones est\u00e1s utilizando y qu\u00e9 tan correlacionadas est\u00e1n.<\/li>\n\n\n\n<li>Qu\u00e9 tan regularizado y\/o robusto es el modelo.<\/li>\n\n\n\n<li>Eventos imprevistos y repentinos que cambian fundamentalmente las cosas (por ejemplo, covid).<\/li>\n\n\n\n<li>La variaci\u00f3n inherente en el dominio del problema.&nbsp;<\/li>\n\n\n\n<li>Qu\u00e9 tan <a href=\"https:\/\/towardsdatascience.com\/what-is-adversarial-machine-learning-dbe7110433d6\">contradictorio<\/a> es tu caso de uso (es decir, cu\u00e1nto incentivo tienen las personas para intentar enga\u00f1ar al modelo a prop\u00f3sito).<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>A veces, la forma m\u00e1s sencilla y s\u00f3lida de actualizar tu modelo es simplemente volver a entrenarlo con datos m\u00e1s nuevos, sin necesariamente agregar nuevas funciones.&nbsp;Esto permite que tu modelo vea una instant\u00e1nea m\u00e1s reciente del estado del mundo y actualice sus par\u00e1metros en consecuencia.<\/em><\/p>\n<\/blockquote>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"987\" height=\"431\" src=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/01\/image-2.png?resize=987%2C431&#038;ssl=1\" alt=\"\" class=\"wp-image-20024\" style=\"width:1450px;height:auto\" srcset=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/01\/image-2.png?w=987&amp;ssl=1 987w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/01\/image-2.png?resize=300%2C131&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/01\/image-2.png?resize=768%2C335&amp;ssl=1 768w\" sizes=\"auto, (max-width: 987px) 100vw, 987px\" \/><figcaption class=\"wp-element-caption\"><em>Despu\u00e9s de cada reentrenamiento del modelo (se muestra un programa de reentrenamiento peri\u00f3dico), su rendimiento aumentar\u00e1<\/em> <em>a medida que se entrene con datos m\u00e1s recientes, pero es poco probable que sea mucho mejor<\/em> <em>que el rendimiento original, a menos que agregue m\u00e1s funciones<\/em> <em>(inspiraci\u00f3n extra\u00edda de <\/em><a href=\"https:\/\/ml-ops.org\/content\/mlops-principles#monitoreo\"><em>mlops.org<\/em><\/a><em>)<\/em>&nbsp;<br><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Hay algunos riesgos y muchas compensaciones involucradas en esto y probablemente solo sea adecuado cuando para empezar ya se tiene un flujo de operaciones de aprendizaje autom\u00e1tico s\u00f3lido y bien desarrollado, pero tambi\u00e9n hay <strong>beneficios<\/strong> <strong>claros<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En las siguientes secciones repasaremos algunas de las lecciones que aprendimos durante los \u00faltimos a\u00f1os al volver a capacitar a los modelos de forma autom\u00e1tica en Nubank.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Requisitos previos: CI\/CD, monitoreo y un flujo de datos s\u00f3lido<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si no puedes implementar con confianza una nueva versi\u00f3n de un modelo con un solo clic, no ser\u00e1 posible realizar un reentrenamiento autom\u00e1tico.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como m\u00ednimo necesitas estos tres componentes en tu arquitectura MLOps:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>CI\/CD: <\/strong>alg\u00fan tipo de sistema mediante el cual el c\u00f3digo reci\u00e9n insertado se prueba autom\u00e1ticamente (unidad\/integraci\u00f3n) y los cambios en el c\u00f3digo desencadenan autom\u00e1ticamente una nueva implementaci\u00f3n en producci\u00f3n.<\/li>\n\n\n\n<li><a href=\"https:\/\/building.nu.com\/ml-model-monitoring-9-tips-from-the-trenches\/\"><strong>Monitoreo de modelos<\/strong><\/a><strong>:<\/strong> alg\u00fan tipo de sistema donde puedes ver <em>continuamente<\/em> estad\u00edsticas sobre tu modelo y datos, tales como: distribuci\u00f3n de caracter\u00edsticas de entrada, distribuci\u00f3n de puntajes y el rendimiento frente a la verdad fundamental, por ejemplo.\n<ul class=\"wp-block-list\">\n<li>Sin un seguimiento adecuado, ni siquiera sabes qu\u00e9 tan bueno o malo es tu modelo <em>actual<\/em>; no deber\u00edas pensar en reemplazarlo todav\u00eda.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Canalizaci\u00f3n de datos s\u00f3lida:<\/strong> necesitas una forma de generar conjuntos de datos de entrenamiento\/prueba (incluidos objetivos) de forma <em>program\u00e1tica<\/em> y <em>confiable<\/em><strong><em>.<\/em><\/strong> (Idealmente, deber\u00edas tener ingenieros de datos dedicados en el equipo para que se encarguen de esto por ti).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u201cAutom\u00e1tico\u201d normalmente no significa <em>completamente<\/em> autom\u00e1tico&nbsp;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Probablemente no valga la pena correr el riesgo de volver a entrenar <em>e implementar<\/em> autom\u00e1ticamente un nuevo modelo.&nbsp;Implementar un modelo defectuoso y utilizarlo para tomar <strong>decisiones err\u00f3neas en producci\u00f3n<\/strong> es una de las peores cosas que pueden suceder en una organizaci\u00f3n basada en datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una sugerencia alternativa es que el \u00faltimo paso del proceso simplemente abra una solicitud de extracci\u00f3n (PR) en Github, con el rendimiento comparado de los modelos de referencia y desafiantes.&nbsp;Pero el PR a\u00fan debe aprobarse\/fusionarse manualmente antes de desencadenar una implementaci\u00f3n real que reemplazar\u00e1 el modelo actual con el nuevo modelo en producci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Seg\u00fan nuestra experiencia, esta es una buena relaci\u00f3n costo-beneficio entre no tener ning\u00fan tipo de automatizaci\u00f3n, por un lado, y tener el proceso completamente automatizado (sin ninguna intervenci\u00f3n manual), por el otro.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">No olvides la capa de pol\u00edticas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Supongamos que las predicciones de tu modelo en realidad est\u00e1n siendo utilizadas por alg\u00fan equipo\/sistema posterior (si un modelo no se utiliza, es un pasivo, no un activo, y probablemente deber\u00edas retirarlo).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La forma en que otros equipos utilizan las predicciones generadas por el modelo se denomina<strong> pol\u00edtica.<\/strong>&nbsp; La forma m\u00e1s sencilla de derivar una pol\u00edtica a partir de la puntuaci\u00f3n de un modelo es utilizando una simple declaraci\u00f3n \u00absi\u00bb mediante la cual se debe tomar alguna acci\u00f3n (por ejemplo, conceder el pr\u00e9stamo, comprar un activo) si la puntuaci\u00f3n del modelo est\u00e1 por encima de un umbral determinado.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>El ejemplo m\u00e1s simple posible de una pol\u00edtica es un umbral de puntuaci\u00f3n simple:&nbsp;SI la puntuaci\u00f3n del modelo es \u2265 umbral, ENTONCES toma alguna medida<\/em><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Siempre que vuelvas a entrenar un modelo, <strong>es posible que tambi\u00e9n debas<\/strong> <strong>ajustar la pol\u00edtica<\/strong>. Esto es crucial: si olvidas realizar ajustes, puede hacer que todos los usos posteriores del modelo sean inexactos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dependiendo de la complejidad de la pol\u00edtica, encontrar\u00e1s que es mucho m\u00e1s dif\u00edcil volver a entrenar o reajustar la pol\u00edtica que volver a entrenar un modelo. Esto puede convertirse en un cuello de botella en tu proceso si no tienes cuidado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Seg\u00fan nuestra experiencia, una forma de facilitar los ajustes de pol\u00edticas es hacer que tus modelos utilicen predicciones de <a href=\"https:\/\/scikit-learn.org\/stable\/modules\/calibration.html\">probabilidad calibradas<\/a><strong>.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Utiliza puntos de referencia de comparaci\u00f3n justos<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s de volver a entrenar exitosamente un modelo con datos m\u00e1s nuevos, probablemente desees comparar<strong> <\/strong>su rendimiento con el modelo actual en producci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hay muchas formas de comparar modelos:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Compara la importancia de las caracter\u00edsticas (por ejemplo, utilizando gr\u00e1ficos <a href=\"https:\/\/github.com\/slundberg\/shap\">SHAP<\/a>).<\/li>\n\n\n\n<li>Observa cu\u00e1l tiene el mejor rendimiento <strong>fuera de muestra (OOS) <\/strong>(por ejemplo, ROCAUC, PRAUC, logloss, etc.)..<\/li>\n\n\n\n<li>\u00bfQu\u00e9 tan estables son las predicciones del modelo a lo largo del tiempo?<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>Cualquiera que sea la m\u00e9trica que desees utilizar para comparar las dos versiones del modelo (es decir, la l\u00ednea de base y el retador), la m\u00e9trica debe calcularse sobre un conjunto de datos imparcial.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Esto significa que el conjunto de datos de referencia debe estar fuera de la muestra desde el punto de vista de ambos modelos; de lo contrario, corres el riesgo de que se filtren datos de cualquiera de los conjuntos de entrenamiento y tus resultados no ser\u00e1n confiables.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"378\" src=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2022\/12\/Screen-Shot-2022-12-19-at-19.07.29.png?resize=1024%2C378&#038;ssl=1\" alt=\"\" class=\"wp-image-19952\" srcset=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2022\/12\/Screen-Shot-2022-12-19-at-19.07.29.png?resize=1024%2C378&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2022\/12\/Screen-Shot-2022-12-19-at-19.07.29.png?resize=300%2C111&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2022\/12\/Screen-Shot-2022-12-19-at-19.07.29.png?resize=768%2C284&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2022\/12\/Screen-Shot-2022-12-19-at-19.07.29.png?resize=1536%2C567&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2022\/12\/Screen-Shot-2022-12-19-at-19.07.29.png?resize=2048%2C756&amp;ssl=1 2048w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2022\/12\/Screen-Shot-2022-12-19-at-19.07.29.png?resize=1200%2C443&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\"><em><em>Tanto el modelo de referencia como el modelo desafiante deben evaluarse en un conjunto de pruebas imparcial que no forma parte de ninguno de los conjuntos de entrenamiento. Si tus datos tienen una marca de tiempo, una buena sugerencia es utilizar un conjunto de datos reservados fuera de tiempo (OOT) que est\u00e9 fuera del per\u00edodo de entrenamiento para ambos modelos.<\/em><\/em><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PD.:<\/strong> Si, por alg\u00fan motivo, no tienes acceso a un conjunto de datos imparcial para probar ambos modelos, es posible que desees implementar ambas versiones (de referencia y desafiante) juntas como parte de una<br><a href=\"https:\/\/building.nu.com\/introduction-to-a-b-tests\/\">prueba A\/B <\/a>&nbsp;(\u00a1y <a href=\"https:\/\/building.nu.com\/ml-model-monitoring-9-tips-from-the-trenches\/\">monitorearlas<\/a> de cerca!).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ten cuidado con los bucles de retroalimentaci\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando se habla de modelos de aprendizaje autom\u00e1tico, el t\u00e9rmino <a href=\"https:\/\/towardsdatascience.com\/feedback-loops-in-machine-learning-systems-701296c91787\">Bucle de Retroalimentaci\u00f3n<\/a> se refiere a los casos en los que el uso del modelo afecta el conjunto de entrenamiento futuro<strong> <\/strong>en el que se volver\u00e1 a entrenar.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Bucles de retroalimentaci\u00f3n en Modelos de Aprendizaje Autom\u00e1tico: cuando el modelo afecta sus propios datos de entrenamiento futuros<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hay varios ejemplos de bucles de retroalimentaci\u00f3n en Aprendizaje Autom\u00e1tico:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Suscripci\u00f3n de Cr\u00e9dito<\/strong>: solo podemos observar impagos de clientes que recibieron algo de dinero (por definici\u00f3n, no representativos de toda la poblaci\u00f3n).<\/li>\n\n\n\n<li><strong>Sistemas de recomendaci\u00f3n: <\/strong>La acci\u00f3n del modelo cambiar\u00e1 el comportamiento del usuario en el futuro (por ejemplo, un modelo de atenci\u00f3n al cliente o un sistema para sugerir pel\u00edculas para ver).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfPor qu\u00e9 los bucles de retroalimentaci\u00f3n son un problema para el reentrenamiento autom\u00e1tico?<\/strong> No siempre es necesariamente un problema, pero definitivamente es algo que debes tener en cuenta y tal vez mitigar de alguna manera, seg\u00fan las necesidades de tu negocio.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puede convertirse en un problema si el sesgo introducido por el modelo cambia tus datos de entrenamiento de una manera que dificulta el entrenamiento del modelo. Este no es un problema sencillo de resolver, pero hay algunas maneras de hacerlo, por ejemplo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00bfPodemos utilizar un grupo de control que no se vea afectado por las decisiones del modelo, de modo que podamos observarlas sin sesgos?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfPodemos <a href=\"https:\/\/www.mathworks.com\/help\/risk\/reject-inference-for-credit-scorecards.html\">inferir<\/a> cu\u00e1l habr\u00eda sido la verdadera etiqueta si el modelo no hubiera tomado ninguna medida?<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"354\" src=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/01\/image-3.png?resize=1024%2C354&#038;ssl=1\" alt=\"\" class=\"wp-image-20026\" srcset=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/01\/image-3.png?resize=1024%2C354&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/01\/image-3.png?resize=300%2C104&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/01\/image-3.png?resize=768%2C266&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/01\/image-3.png?resize=1200%2C415&amp;ssl=1 1200w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/01\/image-3.png?w=1500&amp;ssl=1 1500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\"><em>Una forma sencilla de comprender los ciclos de retroalimentaci\u00f3n es pensar en modelos que predigan el riesgo de incumplimiento de los pr\u00e9stamos.<\/em> <em>Este es el cl\u00e1sico problema del circuito de retroalimentaci\u00f3n en los sistemas de suscripci\u00f3n de cr\u00e9dito: solo<\/em> <em>podemos observar las etiquetas de los pr\u00e9stamos aprobados (y, por lo tanto, entrenar modelos sobre ellos).&nbsp;Esto a\u00f1ade un sesgo notable en los datos recopilados despu\u00e9s de la introducci\u00f3n del modelo.<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Pruebas unitarias (m\u00e1s o menos) para modelos de Aprendizaje Autom\u00e1tico<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Idealmente, nos gustar\u00eda poder garantizar que un modelo reci\u00e9n entrenado ser\u00e1 mejor que la versi\u00f3n actual para cada ejemplo calificado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por lo general, es imposible tener ese tipo de garant\u00eda porque los modelos de aprendizaje autom\u00e1tico son inherentemente estoc\u00e1sticos \u2014decir que un modelo funciona mejor que otro en realidad solo significa que es mejor <strong>en promedio<\/strong>.Una forma de tranquilizarse es tener un par de <strong>ejemplos sint\u00e9ticos<\/strong> que cualquier modelo deber\u00eda poder clasificar correctamente y luego calificar estos ejemplos \u00abficticios\u00bb con el modelo reentrenado y verificar que obtuvo el resultado esperado.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"385\" src=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-24-at-15.40.36.png?resize=750%2C385&#038;ssl=1\" alt=\"\" class=\"wp-image-20927\" srcset=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-24-at-15.40.36.png?w=750&amp;ssl=1 750w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-24-at-15.40.36.png?resize=300%2C154&amp;ssl=1 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\"><em>Validar modelos con ejemplos ficticios, creados espec\u00edficamente para representar<\/em> <em>desde un punto de vista empresarial, es otra forma de comprobar la cordura de los modelos reentrenados.<\/em> <em>En este caso, parece que hay alg\u00fan problema con el modelo retador; se equivoc\u00f3 en el ejemplo 3,<\/em> <em>mientras que el modelo actual y m\u00e1s antiguo lo acert\u00f3.<\/em><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">El resultado esperado puede ser la clase prevista en caso de clasificaci\u00f3n o una puntuaci\u00f3n dentro de alg\u00fan rango si tienes un <strong>modelo de regresi\u00f3n<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Evaluar el desempe\u00f1o entre subpoblaciones\/estratos tambi\u00e9n ayuda, como se puede ver a continuaci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Evaluar el desempe\u00f1o entre subpoblaciones\/estratos&nbsp;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Es muy probable que los ejemplos calificados por su modelo puedan dividirse en subpoblaciones separadas o grupos flexibles.&nbsp;Por ejemplo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>un modelo de suscripci\u00f3n de cr\u00e9dito que estima el riesgo de incumplimiento para individuos y empresas.&nbsp;<\/li>\n\n\n\n<li>Un modelo para detectar fraude en compras online pero tambi\u00e9n en compras presenciales y compras internacionales.<\/li>\n\n\n\n<li>Un modelo de pron\u00f3stico de precios que estima los precios de casas, apartamentos y condominios.<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>Evaluar las m\u00e9tricas de rendimiento de ambos modelos (de referencia y retador) por separado para cada estrato<\/em><strong><em> <\/em><\/strong><em>te ayuda a comprobar que no se hayan filtrado problemas inesperados en el nuevo conjunto de entrenamiento.<\/em><\/p>\n<\/blockquote>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"432\" src=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-24-at-15.42.36.png?resize=1024%2C432&#038;ssl=1\" alt=\"\" class=\"wp-image-20930\" srcset=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-24-at-15.42.36.png?resize=1024%2C432&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-24-at-15.42.36.png?resize=300%2C127&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-24-at-15.42.36.png?resize=768%2C324&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-24-at-15.42.36.png?resize=1536%2C648&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-24-at-15.42.36.png?resize=2048%2C864&amp;ssl=1 2048w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-24-at-15.42.36.png?resize=1200%2C506&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\"><em>Cuando comparas el modelo de referencia con el modelo reentrenado (desaf\u00edo) sin observar<\/em> <em>el desempe\u00f1o individual en cada estrato, algunos detalles pueden pasar desapercibidos.&nbsp;En<\/em><strong><em> <\/em><\/strong><em>este caso, el reentrenamiento aument\u00f3 el rendimiento del modelo globalmente, pero<\/em><strong><em> <\/em><\/strong><em>uno de los<\/em> <em>sustratos empeor\u00f3<\/em><strong><em>.<\/em><\/strong><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Otros consejos<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">No combines el proceso de reentrenamiento con un modelo espec\u00edfico<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando escribes una canalizaci\u00f3n (por ejemplo, flujo de aire, kubeflow o scripts independientes) para volver a entrenar el modelo con datos m\u00e1s nuevos y ejecutar todos los an\u00e1lisis, aseg\u00farate de que est\u00e9 escrito de una manera que no est\u00e9 acoplada a un solo modelo o caso de uso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aseg\u00farate de seguir las pr\u00e1cticas est\u00e1ndar de ingenier\u00eda de software<strong>:<\/strong> pasa variables como argumentos para que la canalizaci\u00f3n pueda usarse para otros modelos, para per\u00edodos de fechas arbitrarios, usando estrategias personalizadas de comparaci\u00f3n o evaluaci\u00f3n, etc.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Toma en cuenta la censura de etiquetas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Las etiquetas a menudo se obtienen de diferentes fuentes de datos de las caracter\u00edsticas. Adem\u00e1s, <strong>las etiquetas suelen estar retrasadas en el tiempo<\/strong> respecto al tiempo de puntuaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto significa que la etiqueta de verdad fundamental para el ejemplo puntuado hoy puede que solo est\u00e9 disponible despu\u00e9s de un tiempo (por ejemplo, cuando el pr\u00e9stamo se pag\u00f3 o se incumpli\u00f3).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No olvides tener esto en cuenta al decidir los per\u00edodos de fechas en los que entrenar\/validar los modelos reentrenados (es decir, probablemente deber\u00edas ignorar (o <em>censurar<\/em>) los datos para los cuales los objetivos a\u00fan no est\u00e1n disponibles).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ten en cuenta los costos al decidir con qu\u00e9 frecuencia realizar el reentrenamiento.<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Por lo general, existen costos asociados con los modelos de reentrenamiento, algunos de los cuales son:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Costos del sistema<\/strong>: Ejecutar los trabajos de datos y los modelos de capacitaci\u00f3n necesarios requiere recursos inform\u00e1ticos y estos cuestan dinero, especialmente a escala Web.<\/li>\n\n\n\n<li><strong>Costos humanos\/laborales<\/strong>\n<ul class=\"wp-block-list\">\n<li>Los cient\u00edficos de datos deber\u00e1n dedicar alg\u00fan tiempo a depurar y\/o verificar los resultados antes de implementar un modelo reentrenado en producci\u00f3n.<\/li>\n\n\n\n<li>Es posible que los usuarios intermedios necesiten actualizar sus procesos para adaptarse a los cambios en la precisi\u00f3n\/rendimiento del modelo.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Estos costos deben compararse con los beneficios esperados de volver a entrenar un modelo (generalmente aumentando el rendimiento en comparaci\u00f3n con la l\u00ednea de base); de lo contrario, no tiene sentido econ\u00f3mico hacerlo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sugerencias de herramientas<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Kubeflow Pipelines (kfp)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.kubeflow.org\/\">Kubeflow<\/a> tiene un componente llamado <a href=\"https:\/\/www.kubeflow.org\/docs\/components\/pipelines\/\">Kubeflow pipelines<\/a> (kfp para abreviar) que se puede usar para crear pipelines y flujos de trabajo, incluidos aquellos para volver a entrenar un modelo, como crear conjuntos de datos de entrenamiento, entrenar clasificadores y ejecutar rutinas de evaluaci\u00f3n, por ejemplo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Usamos esto en Nubank y nos ha sido de gran utilidad hasta ahora.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Papermill<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/papermill.readthedocs.io\/en\/latest\/\">Papermill<\/a> es una herramienta que se utiliza para hacer que los cuadernos de <a href=\"https:\/\/jupyter.org\/\">Jupyter<\/a> sean <em>ejecutables <\/em>y parametrizables (es decir, puedes ejecutar cuadernos como si fueran scripts y pasarles par\u00e1metros).Es una herramienta \u00fatil para cerrar la brecha entre el c\u00f3digo en tiempo de desarrollo (generalmente creado por <a href=\"https:\/\/building.nu.com\/data-scientist-machine-learning-engineer-roles-how-are-they-different-how-are-they-alike\/\">Cient\u00edficos de Datos<\/a>) y el c\u00f3digo en tiempo de producci\u00f3n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En esta publicaci\u00f3n repasaremos algunas de las lecciones que aprendimos durante los \u00faltimos a\u00f1os al reentrenar modelos de manera autom\u00e1tica en Nubank.<\/p>\n","protected":false},"author":178110136,"featured_media":24761,"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,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[2509,2508],"tags":[2715,2510,2562],"class_list":["post-26047","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-analytics-es","category-data-science-machine-learning-es","tag-automatic-retraining-es","tag-ciencia-de-los-datos","tag-machine-learning-models-es"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Automatic retraining for machine learning models - Building Nubank<\/title>\n<meta name=\"description\" content=\"En esta publicaci\u00f3n repasaremos algunas de las lecciones que aprendimos durante los \u00faltimos a\u00f1os al reentrenar modelos de manera autom\u00e1tica en 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.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatic retraining for machine learning models - Building Nubank\" \/>\n<meta property=\"og:description\" content=\"En esta publicaci\u00f3n repasaremos algunas de las lecciones que aprendimos durante los \u00faltimos a\u00f1os al reentrenar modelos de manera autom\u00e1tica en Nubank.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/building.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/\" \/>\n<meta property=\"og:site_name\" content=\"Building Nubank\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-19T22:40:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-23T16:46:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2022\/12\/machine-learning-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=\"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=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\\\/\"},\"author\":{\"name\":\"Felipe Almeida - Machine Learning Engineer\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/#\\\/schema\\\/person\\\/2bce0340e6a654811bb0aea0e58092c5\"},\"headline\":\"Reentrenamiento autom\u00e1tico para modelos de aprendizaje autom\u00e1tico: consejos y lecciones aprendidas\",\"datePublished\":\"2022-12-19T22:40:47+00:00\",\"dateModified\":\"2024-02-23T16:46:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\\\/\"},\"wordCount\":2466,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nu.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/machine-learning-Feature_1200x675.jpg?fit=1200%2C675&ssl=1\",\"keywords\":[\"Automatic retraining\",\"ciencia de los datos\",\"machine learning models\"],\"articleSection\":[\"Data &amp; Analytics\",\"Data Science &amp; Machine Learning\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/building.nu.com\\\/es\\\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\\\/\",\"url\":\"https:\\\/\\\/building.nu.com\\\/es\\\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\\\/\",\"name\":\"Automatic retraining for machine learning models - Building Nubank\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nu.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/machine-learning-Feature_1200x675.jpg?fit=1200%2C675&ssl=1\",\"datePublished\":\"2022-12-19T22:40:47+00:00\",\"dateModified\":\"2024-02-23T16:46:34+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/#\\\/schema\\\/person\\\/2bce0340e6a654811bb0aea0e58092c5\"},\"description\":\"En esta publicaci\u00f3n repasaremos algunas de las lecciones que aprendimos durante los \u00faltimos a\u00f1os al reentrenar modelos de manera autom\u00e1tica en Nubank.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/building.nu.com\\\/es\\\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/building.nu.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/machine-learning-Feature_1200x675.jpg?fit=1200%2C675&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nu.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/machine-learning-Feature_1200x675.jpg?fit=1200%2C675&ssl=1\",\"width\":1200,\"height\":675},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/building.nu.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Reentrenamiento autom\u00e1tico para modelos de aprendizaje autom\u00e1tico: consejos y lecciones aprendidas\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/building.nu.com\\\/es\\\/\",\"name\":\"Building Nubank\",\"description\":\"We make the extraordinary happen\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/building.nu.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/#\\\/schema\\\/person\\\/2bce0340e6a654811bb0aea0e58092c5\",\"name\":\"Felipe Almeida - Machine Learning Engineer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/building.nubank.com.br\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/avatar_user_178110136_1697720449-96x96.jpg\",\"url\":\"https:\\\/\\\/building.nubank.com.br\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/avatar_user_178110136_1697720449-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/building.nubank.com.br\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/avatar_user_178110136_1697720449-96x96.jpg\",\"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.nu.com\\\/es\\\/author\\\/felipe-almeida-data-scientist\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Automatic retraining for machine learning models - Building Nubank","description":"En esta publicaci\u00f3n repasaremos algunas de las lecciones que aprendimos durante los \u00faltimos a\u00f1os al reentrenar modelos de manera autom\u00e1tica en 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.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/","og_locale":"es_ES","og_type":"article","og_title":"Automatic retraining for machine learning models - Building Nubank","og_description":"En esta publicaci\u00f3n repasaremos algunas de las lecciones que aprendimos durante los \u00faltimos a\u00f1os al reentrenar modelos de manera autom\u00e1tica en Nubank.","og_url":"https:\/\/building.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/","og_site_name":"Building Nubank","article_published_time":"2022-12-19T22:40:47+00:00","article_modified_time":"2024-02-23T16:46:34+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2022\/12\/machine-learning-Feature_1200x675.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","Tiempo de lectura":"13 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/building.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/#article","isPartOf":{"@id":"https:\/\/building.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/"},"author":{"name":"Felipe Almeida - Machine Learning Engineer","@id":"https:\/\/building.nu.com\/es\/#\/schema\/person\/2bce0340e6a654811bb0aea0e58092c5"},"headline":"Reentrenamiento autom\u00e1tico para modelos de aprendizaje autom\u00e1tico: consejos y lecciones aprendidas","datePublished":"2022-12-19T22:40:47+00:00","dateModified":"2024-02-23T16:46:34+00:00","mainEntityOfPage":{"@id":"https:\/\/building.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/"},"wordCount":2466,"commentCount":0,"image":{"@id":"https:\/\/building.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2022\/12\/machine-learning-Feature_1200x675.jpg?fit=1200%2C675&ssl=1","keywords":["Automatic retraining","ciencia de los datos","machine learning models"],"articleSection":["Data &amp; Analytics","Data Science &amp; Machine Learning"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/building.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/building.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/","url":"https:\/\/building.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/","name":"Automatic retraining for machine learning models - Building Nubank","isPartOf":{"@id":"https:\/\/building.nu.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/building.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/#primaryimage"},"image":{"@id":"https:\/\/building.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2022\/12\/machine-learning-Feature_1200x675.jpg?fit=1200%2C675&ssl=1","datePublished":"2022-12-19T22:40:47+00:00","dateModified":"2024-02-23T16:46:34+00:00","author":{"@id":"https:\/\/building.nu.com\/es\/#\/schema\/person\/2bce0340e6a654811bb0aea0e58092c5"},"description":"En esta publicaci\u00f3n repasaremos algunas de las lecciones que aprendimos durante los \u00faltimos a\u00f1os al reentrenar modelos de manera autom\u00e1tica en Nubank.","breadcrumb":{"@id":"https:\/\/building.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/building.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/building.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/#primaryimage","url":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2022\/12\/machine-learning-Feature_1200x675.jpg?fit=1200%2C675&ssl=1","contentUrl":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2022\/12\/machine-learning-Feature_1200x675.jpg?fit=1200%2C675&ssl=1","width":1200,"height":675},{"@type":"BreadcrumbList","@id":"https:\/\/building.nu.com\/es\/reentrenamiento-automatico-para-modelos-de-aprendizaje-automatico-consejos-y-lecciones-aprendidas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/building.nu.com\/es\/"},{"@type":"ListItem","position":2,"name":"Reentrenamiento autom\u00e1tico para modelos de aprendizaje autom\u00e1tico: consejos y lecciones aprendidas"}]},{"@type":"WebSite","@id":"https:\/\/building.nu.com\/es\/#website","url":"https:\/\/building.nu.com\/es\/","name":"Building Nubank","description":"We make the extraordinary happen","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/building.nu.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/building.nu.com\/es\/#\/schema\/person\/2bce0340e6a654811bb0aea0e58092c5","name":"Felipe Almeida - Machine Learning Engineer","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/building.nubank.com.br\/wp-content\/uploads\/2023\/10\/avatar_user_178110136_1697720449-96x96.jpg","url":"https:\/\/building.nubank.com.br\/wp-content\/uploads\/2023\/10\/avatar_user_178110136_1697720449-96x96.jpg","contentUrl":"https:\/\/building.nubank.com.br\/wp-content\/uploads\/2023\/10\/avatar_user_178110136_1697720449-96x96.jpg","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.nu.com\/es\/author\/felipe-almeida-data-scientist\/"}]}},"jetpack_shortlink":"https:\/\/wp.me\/pbKBB5-6M7","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2022\/12\/machine-learning-Feature_1200x675.jpg?fit=1200%2C675&ssl=1","_links":{"self":[{"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/posts\/26047","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/users\/178110136"}],"replies":[{"embeddable":true,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/comments?post=26047"}],"version-history":[{"count":6,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/posts\/26047\/revisions"}],"predecessor-version":[{"id":28285,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/posts\/26047\/revisions\/28285"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/media\/24761"}],"wp:attachment":[{"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/media?parent=26047"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/categories?post=26047"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/tags?post=26047"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}