Las últimas tendencias de IA presentadas por expertos
Obtenga insights curados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM .
Un pipeline de machine learning (pipeline de ML) es el proceso sistemático de diseño, desarrollo y despliegue de un modelo de machine learning. Los pipelines o flujos de trabajo de ML siguen una serie de pasos que guían a los desarrolladores y líderes empresariales hacia un desarrollo de modelos más eficiente.
El pipeline de machine learning de extremo a extremo consta de tres etapas:
Los flujos de trabajo de machine learning son un componente central de la disciplina más amplia de operaciones de machine learning (MLOps). Gran parte del proceso se puede automatizar mediante diversas técnicas de machine learning automático (AutoML) que gestionan las dependencias entre etapas y endpoints.
Un pipeline de datos es una arquitectura diseñada y construida por científicos de datos que recopila datos de diferentes fuentes, luego los almacena y organiza en un repositorio de datos centralizado, como un almacén de datos. Un pipeline de machine learning es un flujo de trabajo para diseñar, construir y desplegar un sistema de IA.
Ambas frases usan el término pipeline, pero mientras que un pipeline de datos es más un sistema tangible, un pipeline de ML es una serie teórica de pasos. Un pipeline de ETL es un ejemplo de un pipeline de datos que extrae datos de varios orígenes, los transforma en un formato unificado y los carga en un sistema de destino. En el machine learning, un pipeline de ETL recopilaría datos y los formatearía en un conjunto de datos de entrenamiento.
Obtenga insights curados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM .
Antes de inicializar un flujo de trabajo de ML, los líderes empresariales, los desarrolladores y otros stakeholders acuerdan los objetivos de un proyecto de machine learning. Comprender por qué se necesita la IA y qué pretende lograr mantiene las expectativas realistas y alinea a los stakeholders en torno a un propósito compartido.
Al decidir si incorporar la IA en un flujo de trabajo o producto, los stakeholders deben identificar primero el objetivo de negocio que el modelo de ML pretende resolver y luego demostrar cómo la IA puede cumplirlo. Algunas empresas abordan la IA con esta lógica invertida: “Queremos usar IA. ¿Qué debemos hacer con eso?”
Maximizar el retorno de la inversión (ROI) de la IA requiere que los líderes comprendan el caso de uso y trabajen hacia una solución de ML adaptada a ese propósito.
Las métricas claras para el éxito, como los KPI (indicadores clave de rendimiento) documentados, informan a los stakeholders si el proyecto de ML está cumpliendo sus objetivos. Estos KPI deben reflejar los objetivos establecidos en la etapa anterior. Por ejemplo, un modelo de ML que se despliega para aumentar la eficiencia podría priorizar el retorno de la inversión (ROI).
Conocer el ámbito de riesgos y los bloqueadores potenciales ayuda a los equipos a abordar el proyecto de manera eficaz. Este paso incluye definir los requisitos de datos y evaluar las regulaciones relevantes, si las hay, para la recopilación y el almacenamiento de datos. Lo mismo se aplica a cualquier limitación que pueda afectar la selección del modelo, como los requisitos informáticos o de memoria.
Después de analizar el problema que el modelo de ML debe resolver, el primer paso en un flujo de trabajo de ML es recopilar, preparar y analizar los datos. Los profesionales deben identificar fuentes de datos relevantes, recopilar e integrar datos de ellas, preparar y limpiar los datos mediante técnicas de ciencia de datos, incluida la ingeniería de características, para llegar a un conjunto de datos preparado.
La etapa de procesamiento de datos suele ser la que consume más tiempo. Pero el rendimiento del modelo de ML depende de buenos datos. Cualquier error y descuido en la fase de ingeniería de datos afecta negativamente el rendimiento del modelo a lo largo de su ciclo de vida. Las estrategias de automatización de datos pueden reducir el tiempo y el esfuerzo humano necesarios para producir un sólido conjunto de datos de entrenamiento.
El procesamiento de datos incluye:
Ingesta de datos
Preprocesamiento de datos
Exploración de datos
Ingeniería de características
División de datos
La ingesta de datos es la recopilación e importación de datos de fuentes de datos dispares en un repositorio de datos centralizado a través de un pipeline de datos. Los científicos de datos deben identificar las fuentes de datos adecuadas, como los datos empresariales almacenados internamente en el almacén de datos: informes de ventas, datos demográficos de los clientes y otros conocimientos de la organización.
A veces también se requieren datos externos. Las fuentes de datos externas pueden incluir conexiones API a proveedores de datos, datos extraídos de Internet o datos sintéticos. Debido a que siempre se crean nuevos datos, la ingesta de datos suele ser un proceso continuo.
El preprocesamiento de datos, o preparación de datos, transforma los datos sin procesar del paso anterior en datos limpios que están listos para el análisis. Después de comprender los datos de entrenamiento a través del análisis exploratorio de datos (EDA), los científicos de datos seleccionan estrategias de preprocesamiento de datos. Los pasos del preprocesamiento de datos incluyen:
Data wrangling (transformación de datos): transformación de los datos al formato adecuado
Identificación de valores faltantes y tratamiento de valores atípicos
Limpieza de datos: corrección de errores en el conjunto de datos
Normalización de datos: estandarización del conjunto de datos
Eliminación de ruido: eliminación de errores aleatorios e interferencias de señal
Integración de datos: combinar los datos en un conjunto de datos unificado
La exploración de datos es el proceso de evaluar los datos para comprender la información que contienen. EDA tiene como objetivo conocer las características de los datos, descubrir patrones y relaciones e identificar insights con la ayuda de herramientas de visualización de datos.
Los hallazgos de EDA informan las opciones de selección de modelos que ocurren a continuación.
La selección de características es un paso crítico del preprocesamiento de datos que implica identificar las características más relevantes de los puntos de datos. Las características de los datos se extraen y seleccionan para dar al modelo la mejor oportunidad posible de resolver desafíos del mundo real.
Centrarse en las características incorrectas puede dar como resultado un modelo que no funciona según lo previsto. Después de aplicar técnicas de extracción de características para optimizar los datos, los científicos de datos eligen las características que conducirán a las predicciones más sólidas del modelo.
Una vez preparados los datos de entrenamiento, el siguiente paso en el flujo de trabajo de ML es crear el modelo de machine learning. El proceso de creación de un modelo de aprendizaje profundo implica seleccionar un algoritmo de machine learning apropiado y exponerlo a los conjuntos de datos de entrenamiento. El resultado de este proceso es la creación de un modelo de IA listo para su uso en el mundo real con datos similares invisibles.
El proceso de desarrollo del modelo implica:
Selección de modelos
Ajuste de hiperparámetros
Entrenamiento de modelos
Evaluación del modelo
La selección del modelo es el proceso de elegir el tipo de modelo que tiene más probabilidades de ofrecer el máximo rendimiento en el caso de uso previsto. Las etapas iniciales de planificación del proyecto ya han proporcionado a todos los stakeholders y participantes una comprensión clara de las necesidades del negocio, las limitaciones y los objetivos del proyecto. Los profesionales de ML basan sus elecciones en estos factores, equilibrando la optimización con la viabilidad.
Entre las opciones se incluyen regresión lineal y regresión logística, bosques aleatorios y árboles de decisión, redes neuronales y modelos de lenguaje grandes (LLM), máquinas de vectores de soporte (SVM), modelos de conjunto, sistemas agénticos y muchos otros.
Dependiendo de la naturaleza del desafío del machine learning, ciertos tipos de algoritmos son candidatos más adecuados.
Por ejemplo, las redes neuronales pueden manejar desafíos complejos de IA generativa, pero conllevan altos costos informáticos y son más propensas al sobreajuste. Los modelos de regresión son eficientes desde el punto de vista informático, pero tienen casos de uso limitados.
Los hiperparámetros del modelo son variables externas que controlan el comportamiento del modelo durante el entrenamiento. Los hiperparámetros también gobiernan la forma del modelo que construye el algoritmo, como la cantidad de neuronas y capas en una red neuronal.
El ajuste de hiperparámetros es el proceso de optimización de los hiperparámetros para que el proceso de entrenamiento produzca un modelo de alto rendimiento. Los científicos de datos pueden establecer hiperparámetros manualmente, pero generalmente automatizan el proceso a través de varios algoritmos y otras técnicas.
El entrenamiento de modelos es el proceso de optimizar el rendimiento de un modelo con conjuntos de datos de entrenamiento que son similares a los datos de entrada que el modelo procesa una vez desplegados. Un pipeline de entrenamiento de machine learning es un sistema extenso que puede tomar cualquier cantidad de formas según el algoritmo y la tarea para la que se desarrolla el modelo.
Muchos métodos de entrenamiento giran en torno a minimizar una función de pérdida que mide el error del modelo: la brecha entre los resultados del modelo y los valores de datos del mundo real. Con cada ronda de entrenamiento, el nuevo modelo actualiza sus parámetros a medida que se ajusta más a los datos de entrenamiento. Cada actualización itera sobre los resultados anteriores.
Los métodos de entrenamiento de modelos incluyen:
Aprendizaje supervisado: el modelo se entrena en un conjunto de datos estructurados. Las entradas se etiquetan con las salidas correspondientes, lo que enseña al modelo cómo asociar las características de entrada con los valores de salida correctos.
Aprendizaje no supervisado: el modelo se entrena con datos no estructurados y debe discernir los patrones y relaciones entre los puntos de datos y las características por sí solo.
Aprendizaje semisupervisado: el modelo se entrena con un método híbrido que combina el aprendizaje supervisado y no supervisado.
Aprendizaje autosupervisado: el modelo se entrena con datos sin etiquetar para tareas que generalmente requieren aprendizaje supervisado.
Aprendizaje por refuerzo: el modelo está entrenado para realizar las acciones que generan la mayor recompensa posible, en lugar de minimizar el error.
Aprendizaje continuo: el modelo se entrena en un flujo de datos de entrada en tiempo real, a diferencia de un conjunto de datos de entrenamiento preensamblado.
Una vez que se considera que el modelo está entrenado, por ejemplo, cuando su función de pérdida se ha minimizado lo suficiente, su rendimiento se evalúa antes del despliegue. El proceso de evaluación de LLM utiliza los conjuntos de datos de prueba y validación que se prepararon durante la fase de división de datos.
La validación estima el error de predicción del modelo: ¿qué tan bueno es para hacer las predicciones correctas? Durante el entrenamiento, el algoritmo de machine learning a menudo genera resultados con varias configuraciones de hiperparámetros. La validación identifica el modelo con la configuración óptima de hiperparámetros.
Las pruebas simulan valores del mundo real para evaluar el error de generalización del modelo de mejor rendimiento: ¿qué tan bien se adapta el modelo a nuevos datos invisibles? Los datos de prueba son independientes de los datos de entrenamiento y establecen un punto de referencia del rendimiento del modelo una vez finalizado el entrenamiento. Las pruebas revelan si el modelo funcionará según lo previsto después de ser desplegado.
Después de desarrollar un modelo adecuado con un rendimiento sólido, es hora de poner ese modelo en funcionamiento. El despliegue del modelo sirve el modelo a los usuarios en el entorno de producción previsto. Esto puede ser cualquier cosa, desde una aplicación móvil o una conexión API hasta un centro de investigación de desarrollo farmacéutico o robótica.
Los modelos no comienzan a funcionar hasta que se despliegan activamente. Lograr resultados sólidos de un proyecto de machine learning significa que el modelo debe desplegarse de una manera que facilite su uso, ya sea por parte de los consumidores, los líderes empresariales u otros sistemas informáticos.
El despliegue del modelo incluye:
Serialización de modelos
Integración
Arquitectura
Supervisión
Actualizaciones
Cumplimiento normativo
La serialización es un método de despliegue común que implica convertir un modelo a un formato que pueda almacenarse y transmitirse, y luego deserializarlo en el entorno de producción. Es como empacar una habitación llena de pertenencias en una caja, trasladar la caja a una nueva casa y luego desempacar para configurar la nueva habitación.
Por ejemplo, Python, un lenguaje de programación popular con el desarrollo de ML, recomienda la infraestructura pickle para el despliegue.
La integración incorpora el modelo en su entorno de producción, como una aplicación móvil. Los modelos se pueden servir a través de proveedores de computación en la nube, como AWS o Azure, o alojados en el sitio. Alternativamente, podría ser mejor utilizar una solución en contenedores como Kubernetes y Docker.
Dependiendo de cómo se sirva el modelo, los desarrolladores deben hacer que el modelo sea accesible con las bibliotecas de machine learning y la infraestructura adecuados, como PyTorch o TensorFlow.
La portabilidad y la escalabilidad son dos preocupaciones principales a considerar durante el despliegue de ML.
La portabilidad es la facilidad con la que el modelo se puede transferir entre sistemas.
La escalabilidad es la capacidad del modelo para manejar cargas de trabajo crecientes, como una base de usuarios cada vez mayor, sin necesidad de rediseñarlo.
El entorno de producción del modelo debe ser capaz de admitir el crecimiento proyectado del proyecto de machine learning. Las herramientas de autoescalado y orquestación pueden ayudar a satisfacer el aumento de la demanda con el tiempo.
El flujo de trabajo de ML no está completo una vez que se despliega el modelo. El rendimiento del modelo debe monitorearse a lo largo del ciclo de vida de la IA para evitar la desviación del modelo: cuando el rendimiento se ve afectado debido a cambios en la distribución de datos. Muchas otras métricas pertenecen a la capacidad del modelo para generar y procesar tokens: una sola unidad de entrada o salida. Algunas de estas métricas incluyen:
Tiempo por token de resultados (TPOT)/latencia entre tokens (ITL): la cantidad de tiempo que tarda el modelo en generar un token.
Tiempo hasta el primer token (TTFT): la cantidad de tiempo que tarda un modelo en generar el primer token de su respuesta.
Rendimiento: una medida de la capacidad total de generación de tokens del modelo, medida en tokens por segundo (TPS).
Latencia: la cantidad de tiempo que tarda el modelo en generar una salida completa después de recibir una entrada del usuario.
A menos que un modelo se entrene con aprendizaje continuo, su conjunto de datos de entrenamiento es finito. El límite de conocimiento de un modelo se refiere a la última fecha en la que se actualizó su base de conocimientos con nuevos datos. Con el tiempo, un modelo pierde relevancia a medida que la información de la base de conocimientos se vuelve más obsoleta.
Los modelos deben actualizarse periódicamente para mitigar la desviación del modelo y mantener las tasas de error en un mínimo aceptable. Los nuevos datos, las nuevas características y las actualizaciones algorítmicas pueden optimizar el rendimiento del modelo. El reentrenamiento también puede ayudar a los modelos a mantenerse actualizados.
En lo que respecta a la recopilación de datos, los operadores de modelos deben tener en cuenta todas las normativas y requisitos legales pertinentes en materia de privacidad, propiedad intelectual, derechos de autor y otras cuestiones. Por ejemplo, la HIPAA protege los datos médicos en EE. UU., mientras que el RGPD proporciona protecciones de datos específicas a las personas en la Unión Europea.
Los modelos creados para su uso en industrias reguladas, como la farmacéutica y las finanzas, también podrían estar sujetos a controles operativos más estrictos. Cualquier modelo utilizado en un entorno empresarial probablemente procese datos internos confidenciales, lo que requiere fuertes medidas de ciberseguridad.
Los operadores de modelos están obligados a proteger los datos de los usuarios y evitar que sus modelos se utilicen con fines maliciosos, como el fraude y la desinformación. Una ventaja de los modelos de código abierto es que cualquiera puede evaluar el modelo para ver cómo funciona y si cumple con todas las regulaciones pertinentes.
Los pipelines de machine learning ofrecen muchos beneficios, como:
Modularización
Reproducibilidad
Eficiencia
Escalabilidad
Experimentación
Despliegue
Colaboración
Control de versiones y documentación
Los pipelines desglosan el proceso de machine learning en pasos modulares y bien definidos. Cada paso se puede desarrollar, probar y optimizar de forma independiente, lo que facilita la gestión y el mantenimiento del flujo de trabajo.
Los pipelines de machine learning facilitan la reproducción de experimentos. Definir la secuencia de pasos y sus parámetros en un pipeline ayuda a garantizar resultados coherentes. Si un paso falla o el rendimiento de un modelo se deteriora, el pipeline se puede configurar para generar alertas o tomar medidas correctivas.
Los pipelines automatizan muchas tareas rutinarias, como el preprocesamiento de datos, la ingeniería de características y la evaluación de modelos. Esta eficiencia puede ahorrar tiempo y reducir los errores.
Los pipelines se pueden escalar para manejar grandes conjuntos de datos o flujos de trabajo complejos. A medida que crecen los datos y la complejidad del modelo, puede ajustar el pipeline sin tener que reconfigurar todo desde cero.
La modificación de pasos individuales dentro del pipeline abre la puerta a la experimentación con diferentes técnicas de preprocesamiento de datos, selecciones de características y modelos. Esta flexibilidad permite una rápida iteración y optimización.
Los pipelines facilitan el despliegue de modelos de machine learning en producción. Un pipeline bien definido para el entrenamiento y la evaluación de modelos facilita el despliegue en una aplicación o sistema.
Los pipelines permiten que equipos de científicos de datos e ingenieros colaboren. Dado que el flujo de trabajo está estructurado y documentado, es más fácil para los miembros del equipo entender y contribuir al proyecto.
Los sistemas de control de versiones rastrean los cambios en el código y las configuraciones de los pipelines, lo que permite revertir a versiones anteriores. Un pipeline bien estructurado fomenta una mejor documentación de cada paso.
La historia de los pipelines de machine learning está estrechamente ligada a la evolución tanto del machine learning como de la ciencia de datos como campos. Si bien el concepto de flujos de trabajo de procesamiento de datos es anterior al machine learning, la formalización y el uso generalizado de los pipelines de machine learning se desarrollaron más recientemente.
La historia de los pipelines de machine learning incluye los siguientes desarrollos:
Primeros flujos de trabajo de procesamiento de datos (anteriores a la década de 2000)
Aparición del machine learning (década de 2000)
Auge de la ciencia de datos (finales de la década de 2000 a principios de la de 2010)
Desarrollo de bibliotecas y herramientas de machine learning (década de 2010)
Auge de AutoML (década de 2010)
Integración con DevOps (década de 2010)
Antes de la adopción generalizada de machine learning, los flujos de trabajo de procesamiento de datos se utilizaban para tareas como la limpieza, la transformación y el análisis de datos. Estos flujos de trabajo solían ser manuales e implicaban scripts o herramientas, como software de hojas de cálculo. Sin embargo, el machine learning no fue una parte central de estos procesos durante este periodo.
El machine learning ganó prominencia a principios de la década de 2000 con avances en algoritmos, potencia computacional y la disponibilidad de grandes conjuntos de datos. Los investigadores y científicos de datos comenzaron a aplicar el machine learning a varios dominios, lo que generó una creciente necesidad de flujos de trabajo sistemáticos y automatizados.
El término ciencia de datos se hizo popular como un campo multidisciplinario que combinaba estadísticas, análisis de datos y machine learning. Esta era fue testigo de la formalización de los flujos de trabajo de ciencia de datos, incluido el preprocesamiento de datos, la selección y evaluación de modelos, que ahora son partes integrales de los pipelines de machine learning.
La década de 2010 trajo el desarrollo de bibliotecas y herramientas de machine learning que facilitaron la creación de pipelines. Bibliotecas como scikit-learn (para Python) y caret (para R) proporcionaron API estandarizadas para crear y evaluar modelos de machine learning, lo que facilitó la construcción de pipelines.
Surgieron herramientas y plataformas de machine learning automático (AutoML) para automatizar el proceso de construcción de pipelines de machine learning. Estas herramientas suelen automatizar tareas, como el ajuste de hiperparámetros, y la selección de características y de modelos, y hacen el machine learning más accesible a los no expertos con visualizaciones y tutoriales.
Las prácticas de DevOps comenzaron a incorporar pipelines de machine learning para permitir la integración y despliegue continuos (CI/CD) de modelos de machine learning. Esta integración, conocida como operaciones de machine learning (MLOps), enfatizó la necesidad de reproducibilidad, control de versiones y monitoreo en los pipelines de ML.
MLOps ayuda a los equipos de ciencia de datos a superar eficazmente los complejos desafíos de orquestación de IA. En el despliegue en tiempo real, el pipeline responde a una solicitud en milisegundos.
Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Diseñe aplicaciones de IA en menos tiempo y con menos datos.
Ponga la IA a trabajar en su negocio con la experiencia en IA líder en la industria y la cartera de soluciones de IBM a su lado.
Reinvente los flujos de trabajo y las operaciones críticas añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.