	{"id":67163,"date":"2022-05-24T13:58:03","date_gmt":"2022-05-24T12:58:03","guid":{"rendered":"https:\/\/www.artefact.com\/?post_type=blog&#038;p=67163"},"modified":"2024-09-20T17:45:49","modified_gmt":"2024-09-20T16:45:49","slug":"a-manifesto-to-include-ml-engineer-in-your-data-science-projects-from-day-1","status":"publish","type":"blog","link":"https:\/\/www.artefact.com\/es\/blog\/a-manifesto-to-include-ml-engineer-in-your-data-science-projects-from-day-1\/","title":{"rendered":"Un manifiesto para incluir a los ingenieros de ML en sus proyectos cient\u00edficos data desde el primer d\u00eda"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling article-author\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-background-color:#ffffff;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_2 1_2 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-margin-bottom-small:8px;\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:50;line-height:1.2;\">Autor<\/h2><\/div><img decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27150%27%20height%3D%270%27%20viewBox%3D%270%200%20150%200%27%3E%3Crect%20width%3D%27150%27%20height%3D%270%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/jeff-kayne.jpeg\" alt=\"Image\" class=\"lazyload artefact-elegant-image align-left article-author-image\" style=\"width: 150px; border-radius: 54% 46% 77% 23% \/ 74% 40% 60% 26%; overflow: hidden;\" width=\"150\" height=\"auto\" \/><div class=\"fusion-title title fusion-title-2 fusion-sep-none fusion-title-text fusion-title-size-three article-author-name-title\" style=\"--awb-margin-bottom-small:8px;\"><h3 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:20;line-height:1.2;\">Jeff Kayne<\/h3><\/div><div class=\"fusion-text fusion-text-1 article-author-description\" style=\"--awb-text-transform:none;\"><p>Cient\u00edfico Senior Data en Artefact<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-margin-top:40px;--awb-margin-bottom:40px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-flex-align-self-center fusion-column-inner-bg-wrapper\" style=\"--awb-padding-top:20px;--awb-padding-right:20px;--awb-padding-bottom:20px;--awb-padding-left:20px;--awb-overflow:hidden;--awb-inner-bg-size:cover;--awb-border-color:rgba(10,17,40,0.1);--awb-border-top:1px;--awb-border-right:1px;--awb-border-bottom:1px;--awb-border-left:1px;--awb-border-style:solid;--awb-border-radius:4px 4px 4px 4px;--awb-inner-bg-border-radius:4px 4px 4px 4px;--awb-inner-bg-overflow:hidden;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><span class=\"fusion-column-inner-bg hover-type-none\"><a class=\"fusion-column-anchor\" href=\"https:\/\/medium.com\/artefact-engineering-and-data-science\/a-manifesto-to-include-ml-engineers-in-your-data-science-projects-from-day-1-2964fdd25036\" rel=\"noopener noreferrer\" target=\"_blank\"><span class=\"fusion-column-inner-bg-image\"><\/span><\/a><\/span><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-row fusion-flex-align-items-center\"><div class=\"fusion-text fusion-text-2\"><p><u>Lea nuestro art\u00edculo sobre<\/u><\/p>\n<\/div><div class=\"fusion-image-element\" style=\"--awb-margin-right:20px;--awb-margin-left:20px;--awb-max-width:150px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-1 hover-type-none\"><img decoding=\"async\" width=\"4000\" height=\"992\" title=\"Mediano Blog\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog.png\" alt class=\"lazyload img-responsive wp-image-60582\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%274000%27%20height%3D%27992%27%20viewBox%3D%270%200%204000%20992%27%3E%3Crect%20width%3D%274000%27%20height%3D%27992%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-200x50.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-400x99.png 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-600x149.png 600w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-800x198.png 800w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-1200x298.png 1200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog.png 4000w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 4000px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-3\"><p>.<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-4 description\" style=\"--awb-text-transform:none;\"><p>En este art\u00edculo de opini\u00f3n, Jeffery explica que los cient\u00edficos de data deben centrarse en la precisi\u00f3n de sus modelos, mientras que los ingenieros de ML deben dar prioridad a garantizar que los modelos puedan ser utilizados por la empresa en general. <\/p>\n<\/div><\/div><\/div><\/div><\/div><article class=\"fusion-fullwidth fullwidth-box fusion-builder-row-4 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-5\" style=\"--awb-text-transform:none;\"><p>Muchos de nosotros, desarrolladores, conoceremos la sensaci\u00f3n de luchar por equilibrar el tiempo que pasamos con los usuarios intentando comprender sus necesidades frente al que dedicamos realmente al desarrollo de software. Esto es a\u00fan m\u00e1s evidente en la ciencia data, ya que para construir un sistema eficaz se necesita mucho conocimiento del dominio de ese sistema. Durante los dos \u00faltimos a\u00f1os trabajando como ingeniero de ML con diferentes <a href=\"https:\/\/www.artefact.com\/es\/ai-technology\/data-science\/\">data ciencia<\/a> equipos me he preguntado a menudo c\u00f3mo puedo separar las responsabilidades de optimizar la precisi\u00f3n de los modelos y construir todo el software necesario para que ese modelo sea funcional. Mi humilde opini\u00f3n es que los cient\u00edficos de data deben dar prioridad a la precisi\u00f3n de sus modelos, mientras que los ingenieros de ML deben dar prioridad a asegurarse de que esos modelos puedan ser utilizados por el conjunto de la empresa.<\/p>\n<\/div><div class=\"fusion-text fusion-text-6\" style=\"--awb-text-transform:none;\"><p>Como regla general en los proyectos cient\u00edficos data, cuantas m\u00e1s iteraciones realice, mejor. As\u00ed que veamos por qu\u00e9 incluir a un ingeniero de ML desde el primer d\u00eda le ayudar\u00e1 a iterar y, por lo tanto, aumentar\u00e1 sus posibilidades de construir un sistema exitoso. Para cubrir todos los aspectos, desglosaremos cada raz\u00f3n en tres temas principales de los proyectos cient\u00edficos data:\u00a0<strong class=\"ko jb\">data, modelos\u00a0<\/strong>y<strong>\u00a0infraestructura<\/strong>.<\/p>\n<p>Antes de entrar en materia, perm\u00edtame definir lo que entiendo por\u00a0<strong>iteraci\u00f3n<\/strong>. En este art\u00edculo me refiero a iteraciones de extremo a extremo del producto completo, que a menudo incluyen pasos de: data ingesti\u00f3n, preprocesamiento, formaci\u00f3n y evaluaci\u00f3n de modelos, infraestructura de aprovisionamiento, etc. Lo que yo\u00a0<em>no significan\u00a0<\/em>es una iteraci\u00f3n r\u00e1pida del modelo en un cuaderno con el retoque de un hiperpar\u00e1metro. Si est\u00e1 acostumbrado a trabajar en un marco \u00e1gil, puede pensar igualmente en estas iteraciones como sprints del proyecto.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-3 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-margin-bottom-small:8px;\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:50;line-height:1.2;\">Raz\u00f3n 1: Acelerar la entrega inicial del POC<\/h2><\/div><div class=\"fusion-image-element\" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-2 hover-type-none\"><img decoding=\"async\" width=\"500\" height=\"750\" alt=\"Reason 1 ML Engineers : Accelerate the initial POC delivery\" title=\"art\u00edculo1\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article1.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article1.png\" class=\"lazyload img-responsive wp-image-67164\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27500%27%20height%3D%27750%27%20viewBox%3D%270%200%20500%20750%27%3E%3Crect%20width%3D%27500%27%20height%3D%27750%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article1-200x300.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article1-400x600.png 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article1.png 500w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 500px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-7\" style=\"--awb-text-transform:none;\"><p>Construir un esqueleto sobre el que pueda iterar es la primera prioridad y puede ser un proceso largo. Este esqueleto suele ser un POC que contiene su modelo de base inicial y una demostraci\u00f3n de una aplicaci\u00f3n o forma de explotar la salida del modelo.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-4 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-margin-bottom-small:8px;\"><h3 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:20;line-height:1.2;\">Un Ingeniero ML ayudar\u00e1 con:<\/h3><\/div><div class=\"fusion-text fusion-text-8\" style=\"--awb-text-transform:none;\"><p><strong>Infraestructura:\u00a0<\/strong>La selecci\u00f3n de recursos cloud compatibles (m\u00e1quinas virtuales, conexiones a diversas fuentes data) y el dise\u00f1o de la arquitectura cloud son algunas de las consideraciones iniciales del ingeniero de ML.<\/p>\n<p><strong>Data:\u00a0<\/strong>Conseguir el data necesario para empezar a construir un modelo y asegurar la disponibilidad de data de varias fuentes con la opci\u00f3n de desarrollar nuevos flujos si es necesario.<\/p>\n<p><strong>Modelos:<\/strong>\u00a0Garantizar que los modelos que se est\u00e1n probando son de hecho compatibles con la arquitectura cloud propuesta para el despliegue de modelos y los requisitos t\u00e9cnicos (por ejemplo, latencia, computaci\u00f3n necesaria, requisitos del entorno de producci\u00f3n).<\/p>\n<p>El ingeniero de ML tambi\u00e9n puede ayudar en esta fase definiendo las mejores pr\u00e1cticas de ingenier\u00eda de software con control de versiones, linting, arquitectura de c\u00f3digo, pruebas, etc.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-5 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-margin-bottom-small:8px;\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:50;line-height:1.2;\">Raz\u00f3n 2: Acelerar cada iteraci\u00f3n<\/h2><\/div><div class=\"fusion-image-element\" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-3 hover-type-none\"><img decoding=\"async\" width=\"659\" height=\"500\" alt=\"Reason 2 ML Engineers : Accelerate each iteration\" title=\"art\u00edculo2\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article2.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article2.png\" class=\"lazyload img-responsive wp-image-67166\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27659%27%20height%3D%27500%27%20viewBox%3D%270%200%20659%20500%27%3E%3Crect%20width%3D%27659%27%20height%3D%27500%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article2-200x152.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article2-400x303.png 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article2-600x455.png 600w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article2.png 659w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 659px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-9\" style=\"--awb-text-transform:none;\"><p>Una vez conseguida esa construcci\u00f3n inicial, el primer par de iteraciones suelen ser dif\u00edciles y lentas. Acelerar las iteraciones permitir\u00e1 realizar iteraciones m\u00e1s peque\u00f1as con un \u00fanico cambio de caracter\u00edstica, una forma mucho m\u00e1s eficaz de desarrollar que cambiar muchas cosas en un modelo antes de obtener retroalimentaci\u00f3n.<\/p>\n<p><strong>Infraestructura:<\/strong>\u00a0Se puede ahorrar tiempo optimizando la infraestructura de almacenamiento y computaci\u00f3n. Durante estas iteraciones, un ingeniero de ML puede buscar versionar la propia infraestructura, con herramientas de Infraestructura como C\u00f3digo (IaC) como\u00a0<a class=\"au kl\" href=\"https:\/\/www.terraform.io\/\" target=\"_blank\" rel=\"noopener ugc nofollow\">Terraform<\/a>. El uso de IaC permite automatizar el despliegue de la infraestructura directamente con los pipelines CI\/CD, acelerando la integraci\u00f3n de cualquier cambio que deba realizarse en la infraestructura existente, y la creaci\u00f3n de diferentes entornos cloud (dev, staging, producci\u00f3n). Asimismo, el uso de componentes espec\u00edficos de cloud puede acelerar su flujo de trabajo, por ejemplo, la creaci\u00f3n de im\u00e1genes de forma remota mediante el sistema de GCP\u00a0<a class=\"au kl\" href=\"https:\/\/cloud.google.com\/build\" target=\"_blank\" rel=\"noopener ugc nofollow\">Construcci\u00f3n en la nube<\/a>.<\/p>\n<\/div><div class=\"fusion-text fusion-text-10\" style=\"--awb-text-transform:none;\"><p><strong>Data:\u00a0<\/strong>Los equipos cient\u00edficos de data pueden construir r\u00e1pidamente pipelines de preprocesamiento para pasar r\u00e1pidamente a la modelizaci\u00f3n. Un ingeniero ML puede ayudar en esta fase a agilizar las consultas de procesamiento, ya sean en sql, pandas, pyspark, etc. Hacer esto desde el principio puede ahorrar mucho tiempo en iteraciones a largo plazo, ya que este c\u00f3digo se ejecuta\u00a0<em class=\"lk\">mucho<\/em>.<\/p>\n<p><strong>Modelos:\u00a0<\/strong>Las complejas arquitecturas de los modelos pueden dar lugar a un largo proceso de entrenamiento. Adem\u00e1s, cuando un cient\u00edfico del data se refiere a un \u201cmodelo\u201d puede estar refiri\u00e9ndose en realidad a un grupo de 100 modelos entrenados en diferentes cortes del data, cada uno con un explicador SHAP para derivar la importancia de las caracter\u00edsticas. Un ingeniero de ML puede centrarse en c\u00f3mo paralelizar el pipeline de entrenamiento, ya sea en una VM con multiprocesamiento en python, o distribuyendo su carga de trabajo entre varios nodos del cloud. Esto en s\u00ed mismo puede ser iterado, pero se pueden obtener grandes ganancias aqu\u00ed con sorprendentemente poco esfuerzo. Automatizar el despliegue de su modelo con un\u00a0<a class=\"au kl\" href=\"https:\/\/cloud.google.com\/architecture\/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning\" target=\"_blank\" rel=\"noopener ugc nofollow\">CI\/CD\/CT<\/a>\u00a0pipeline tambi\u00e9n acelera enormemente sus iteraciones y garantiza la repetibilidad.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-6 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-margin-bottom-small:8px;\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:50;line-height:1.2;\">Raz\u00f3n 3: Reducir el coste de cada iteraci\u00f3n<\/h2><\/div><div class=\"fusion-image-element\" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-4 hover-type-none\"><img decoding=\"async\" width=\"576\" height=\"433\" alt=\"Reason 3 ML Engineers : Reduce the cost of each iteration\" title=\"art\u00edculo3\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article3.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article3.png\" class=\"lazyload img-responsive wp-image-67167\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27576%27%20height%3D%27433%27%20viewBox%3D%270%200%20576%20433%27%3E%3Crect%20width%3D%27576%27%20height%3D%27433%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article3-200x150.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article3-400x301.png 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article3.png 576w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 576px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-11\" style=\"--awb-text-transform:none;\"><p>Contar con un ingeniero que controle el presupuesto cloud de su proyecto es fundamental, especialmente para aplicaciones data intensivas.<\/p>\n<p><strong>Infraestructura:\u00a0<\/strong>El coste es una variable importante en la ecuaci\u00f3n de selecci\u00f3n de la infraestructura. Una vez elegida la infraestructura, se pueden poner en marcha alertas presupuestarias para garantizar que los componentes costosos se vigilan de cerca.<\/p>\n<p><strong>Data:\u00a0<\/strong>Las consultas inteligentes y el almacenamiento de data tambi\u00e9n pueden reducir significativamente los costes de cada iteraci\u00f3n. Por ejemplo, la agregaci\u00f3n de data debe hacerse con moderaci\u00f3n durante las iteraciones del modelo.<\/p>\n<p><strong>Modelos:\u00a0<\/strong>La paralelizaci\u00f3n de su canal de formaci\u00f3n tambi\u00e9n puede ahorrarle tiempos de funcionamiento de m\u00e1quinas costosas o tiempo de ejecuci\u00f3n de componentes sin servidor.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-7 fusion-sep-none fusion-title-text fusion-title-size-one\" style=\"--awb-margin-bottom-small:8px;\"><h1 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:70;line-height:1;\">Raz\u00f3n 4: Garantizar la repetibilidad y la interpretabilidad de cada iteraci\u00f3n<\/h1><\/div><div class=\"fusion-image-element\" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-5 hover-type-none\"><img decoding=\"async\" width=\"557\" height=\"499\" alt=\"Reason 4 ML Engineers : Ensure repeatability &amp; interpretability of each iteration\" title=\"art\u00edculo4\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article4.jpeg\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article4.jpeg\" class=\"lazyload img-responsive wp-image-67168\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27557%27%20height%3D%27499%27%20viewBox%3D%270%200%20557%20499%27%3E%3Crect%20width%3D%27557%27%20height%3D%27499%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article4-200x179.jpeg 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article4-400x358.jpeg 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article4.jpeg 557w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 557px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-12\" style=\"--awb-text-transform:none;\"><p>Conseguir iteraciones r\u00e1pidas con un bucle de retroalimentaci\u00f3n de calidad en su proyecto es estupendo, pero si no puede replay cada uno de esos escenarios, no sirve de mucho. Tener una canalizaci\u00f3n repetible significa impl\u00edcitamente que debe tener alguna forma de supervisar las ejecuciones de la canalizaci\u00f3n, para identificar las ejecuciones basadas en par\u00e1metros espec\u00edficos o m\u00e9tricas de rendimiento a las que volver si es necesario. Configurar esto de forma robusta durante el desarrollo ayuda a los cient\u00edficos data a experimentar libremente (sin necesidad del infame Untitled12.ipynb) y prepara el pipeline para la monitorizaci\u00f3n en producci\u00f3n.<\/p>\n<\/div><div class=\"fusion-text fusion-text-13\" style=\"--awb-text-transform:none;\"><p><strong>Infraestructura:\u00a0<\/strong>Vincular la versi\u00f3n del c\u00f3digo de entrenamiento a la versi\u00f3n del c\u00f3digo de infraestructura es la \u201cmilla extra\u201d aqu\u00ed, pero es necesario para proporcionar capacidades completas de retroceso a una ejecuci\u00f3n anterior. Garantizar la repetibilidad y la supervisi\u00f3n sobre la base de una ejecuci\u00f3n de pipeline es para m\u00ed el primer nivel esencial de ML Ops por el que deben esforzarse los equipos. Las plataformas en la nube disponen de servicios (GCP's\u00a0<a class=\"au kl\" href=\"https:\/\/cloud.google.com\/vertex-ai\/?utm_source=google&amp;utm_medium=cpc&amp;utm_campaign=emea-fr-all-en-dr-skws-all-all-trial-e-gcp-1011340&amp;utm_content=text-ad-none-any-DEV_c-CRE_574683660431-ADGP_Hybrid%20%7C%20SKWS%20-%20EXA%20%7C%20Txt%20~%20%20AI%20%26%20ML%20~%20Vertex%20AI-KWID_43700066526085663-kwd-1445093214164-userloc_9054940&amp;utm_term=KW_vertex%20ai%20platform-NET_g-PLAC_&amp;gclid=Cj0KCQjwspKUBhCvARIsAB2IYutwLFuAu35tUPpdvJPb0xE-lKIgAK07C6YgpP_QQW6kF_2vV9VIky8aApfBEALw_wcB&amp;gclsrc=aw.ds\" target=\"_blank\" rel=\"noopener ugc nofollow\">V\u00e9rtice AI<\/a>\u00a0por ejemplo) que pueden ser r\u00e1pidas de configurar, pero tambi\u00e9n puede considerar adoptar el enfoque de \u201clo mejor de lo mejor\u201d utilizando herramientas de c\u00f3digo abierto. El compromiso en este caso es equilibrar la mayor funcionalidad de las herramientas espec\u00edficas de c\u00f3digo abierto frente a la mayor complejidad de la infraestructura general del sistema.<\/p>\n<p><strong>Data:\u00a0<\/strong>guardar todos los objetos data en cada etapa del proceso. Dependiendo de los vol\u00famenes, la prioridad es guardar los conjuntos de tren \/ prueba de cada ejecuci\u00f3n.<\/p>\n<p><strong>Modelos:\u00a0<\/strong>como en el caso anterior, guardando todos los modelos para cada ejecuci\u00f3n con todos los par\u00e1metros y m\u00e9tricas necesarios. Otro consejo es registrar un comentario en cada ejecuci\u00f3n con lo que se ha cambiado para esa ejecuci\u00f3n espec\u00edfica para registrar todos los experimentos durante el desarrollo, como har\u00eda con un\u00a0<em>git commit<\/em>\u00a0mensaje.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-8 fusion-sep-none fusion-title-text fusion-title-size-one\" style=\"--awb-margin-bottom-small:8px;\"><h1 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:70;line-height:1;\">Raz\u00f3n 5: Evite a toda costa las agitadas iteraciones de \u201cindustrializaci\u00f3n<\/h1><\/div><div class=\"fusion-image-element\" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-6 hover-type-none\"><img decoding=\"async\" width=\"700\" height=\"445\" alt=\"Reason 5 ML Engineers : Avoid at all costs the hectic \u201cindustrialisation\u201d iterations\" title=\"art\u00edculo5\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article5.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article5.png\" class=\"lazyload img-responsive wp-image-67169\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27700%27%20height%3D%27445%27%20viewBox%3D%270%200%20700%20445%27%3E%3Crect%20width%3D%27700%27%20height%3D%27445%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article5-200x127.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article5-400x254.png 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article5-600x381.png 600w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/05\/article5.png 700w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 700px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-14\" style=\"--awb-text-transform:none;\"><p>Cuando surgi\u00f3 la ciencia data era muy exploratoria y requer\u00eda un esfuerzo masivo con un grupo de ingenieros de software para desplegar cualquier modelo una vez que hubiera demostrado buenas prestaciones en data hist\u00f3ricos. Esta fase de \u201cindustrializaci\u00f3n\u201d es una experiencia muy dolorosa, ya que el entorno de desarrollo (archivos planos y cuaderno python) es muy diferente del entorno de producci\u00f3n (flujos data automatizados con data de producci\u00f3n y entorno de codificaci\u00f3n de producci\u00f3n). Los proyectos m\u00e1s exitosos en los que he trabajado son aquellos en los que hemos podido copiar el entorno de producci\u00f3n lo m\u00e1s fielmente posible en dev desde el principio. Esto reducir\u00e1 el tiempo de producci\u00f3n y le permitir\u00e1 iterar con seguridad en dev, desplegando a prod cuando est\u00e9 contento con una iteraci\u00f3n.<\/p>\n<p><strong>Infraestructura:\u00a0<\/strong>Emular la infraestructura de producci\u00f3n necesaria en dev no siempre es f\u00e1cil y puede resultar costoso. Aqu\u00ed es donde la infraestructura como c\u00f3digo resulta \u00fatil y puede permitirle intercambiar f\u00e1cilmente entre entornos.<\/p>\n<\/div><div class=\"fusion-text fusion-text-15\" style=\"--awb-text-transform:none;\"><p><strong>Data: <\/strong>Algo que separa el desarrollo cient\u00edfico data de la ingenier\u00eda de software tradicional o incluso de la ingenier\u00eda data es que los cient\u00edficos data requieren data de producci\u00f3n en dev. Sandbox data (excluyendo algunos data o incluyendo algunos data sint\u00e9ticos de prueba) para la ingenier\u00eda data regular es una buena pr\u00e1ctica durante el desarrollo, pero puede ser una gran p\u00e9rdida de tiempo para la ciencia data y puede tener grandes impactos en todo el pipeline cient\u00edfico data. Por lo tanto, tener acceso de s\u00f3lo lectura a las tablas de producci\u00f3n es algo que debe empezar a negociar con su equipo data desde el primer d\u00eda.<\/p>\n<p><strong>Modelos:\u00a0<\/strong>Desde el inicio del proyecto, s\u00f3lo un modelo (o enfoque de modelado) debe estar presente en su c\u00f3digo de producci\u00f3n. Todos los experimentos deben permanecer en cuadernos o scripts temporales separados en otra carpeta. Esto evita que acumule c\u00f3digo muerto en su base de c\u00f3digo de producci\u00f3n, y es m\u00e1s f\u00e1cil de mantener o de incorporar a otros desarrolladores.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-9 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-margin-bottom-small:8px;\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:50;line-height:1.2;\">Conclusi\u00f3n<\/h2><\/div><div class=\"fusion-text fusion-text-16\" style=\"--awb-text-transform:none;\"><p>En resumen, construir modelos y construir el software que rodea a esos modelos deber\u00edan ser dos prioridades desde el principio de cada proyecto. Por lo tanto, tener corrientes separadas con responsabilidades diferentes puede ayudar a los equipos a concentrarse en ambas en paralelo. El papel del ingeniero de ML evoluciona d\u00eda a d\u00eda, \u00a1y me encantar\u00eda conocer su opini\u00f3n sobre cualquier cosa que se me haya pasado por alto!<\/p>\n<\/div><\/div><\/div><\/div><\/article><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-5 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-margin-top:40px;--awb-margin-bottom:40px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-flex-align-self-center\" style=\"--awb-padding-top:40px;--awb-padding-right:40px;--awb-padding-bottom:40px;--awb-padding-left:40px;--awb-overflow:hidden;--awb-bg-position:left center;--awb-bg-size:cover;--awb-border-color:rgba(10,17,40,0.1);--awb-border-style:solid;--awb-border-radius:4px 4px 4px 4px;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper lazyload fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column fusion-column-has-bg-image\" data-bg-url=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/03\/background.jpg\" data-bg=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/03\/background.jpg\"><div class=\"fusion-image-element\" style=\"text-align:center;--awb-margin-right:20px;--awb-margin-left:20px;--awb-max-width:150px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-7 hover-type-none\"><img decoding=\"async\" width=\"72\" height=\"41\" title=\"medio\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2772%27%20height%3D%2741%27%20viewBox%3D%270%200%2072%2041%27%3E%3Crect%20width%3D%2772%27%20height%3D%2741%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/03\/medium.png\" alt class=\"lazyload img-responsive wp-image-60927\"\/><\/span><\/div><div class=\"fusion-title title fusion-title-10 fusion-sep-none fusion-title-center fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top:20px;--awb-margin-bottom:0px;--awb-margin-bottom-small:8px;\"><h3 class=\"fusion-title-heading title-heading-center fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:20;line-height:1.2;\">Medio Blog por Artefact.<\/h3><\/div><div class=\"fusion-text fusion-text-17\" style=\"--awb-content-alignment:center;\"><p>Este art\u00edculo se public\u00f3 inicialmente en <strong>Medium.com<\/strong>.<br \/>\n\u00a1S\u00edganos en nuestro Medium Blog !<\/p>\n<\/div><div style=\"text-align:center;\"><a class=\"fusion-button button-flat button-medium button-default fusion-button-default button-1 fusion-button-default-span fusion-button-default-type\" target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/medium.com\/artefact-engineering-and-data-science\/a-manifesto-to-include-ml-engineers-in-your-data-science-projects-from-day-1-2964fdd25036\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Lea nuestro art\u00edculo<\/span><\/a><\/div><\/div><\/div><\/div><\/div><\/p>","protected":false},"excerpt":{"rendered":"<p>Jeffrey Kane, Cient\u00edfico Senior Data, explica por qu\u00e9 el Ingeniero ML debe estar presente en sus proyectos cient\u00edficos data desde el primer d\u00eda.<\/p>","protected":false},"featured_media":68674,"parent":0,"template":"","meta":{"_acf_changed":false,"ep_exclude_from_search":false},"blog-category":[21939],"blog-language":[2991],"class_list":["post-67163","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog-category-medium","blog-language-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.artefact.com\/es\/wp-json\/wp\/v2\/blog\/67163","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.artefact.com\/es\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.artefact.com\/es\/wp-json\/wp\/v2\/types\/blog"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.artefact.com\/es\/wp-json\/wp\/v2\/media\/68674"}],"wp:attachment":[{"href":"https:\/\/www.artefact.com\/es\/wp-json\/wp\/v2\/media?parent=67163"}],"wp:term":[{"taxonomy":"blog-category","embeddable":true,"href":"https:\/\/www.artefact.com\/es\/wp-json\/wp\/v2\/blog-category?post=67163"},{"taxonomy":"blog-language","embeddable":true,"href":"https:\/\/www.artefact.com\/es\/wp-json\/wp\/v2\/blog-language?post=67163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}