Diseño de datos de entrenamiento para cargas de trabajo de INTELIGENCIA ARTIFICIAL en Azure
Al diseñar datos para la funcionalidad de inteligencia artificial en aplicaciones, tenga en cuenta los requisitos no funcionales, como la operabilidad, el costo y la seguridad, y los requisitos funcionales relacionados con la ingesta, preparación y validación de datos.
El diseño de datos y el diseño de aplicaciones no se pueden desacoplar. El diseño de aplicaciones requiere que comprenda los casos de uso, los patrones de consulta y los requisitos de actualización. Para abordar los requisitos empresariales que impulsan la necesidad de usar la inteligencia artificial, es posible que la aplicación necesite la salida de modelos discriminativos, modelos generativos o una combinación de tipos de modelo.
Para generar resultados significativos, es necesario entrenar los modelos de inteligencia artificial. El entrenamiento del modelo implica enseñar un modelo para clasificar o predecir situaciones nuevas o no vistos. Los datos de entrenamiento deben adaptarse al contexto específico del problema y de la carga de trabajo.
El entrenamiento supervisado implica proporcionar al modelo ejemplos etiquetados. Este tipo de entrenamiento es útil cuando el resultado deseado está claro. En cambio, el aprendizaje no supervisado permite al modelo identificar patrones y relaciones dentro de los datos sin instrucciones sobre la salida esperada. Durante el entrenamiento, el tipo de algoritmo y sus parámetros se ajustan para controlar cómo aprende el modelo. El enfoque varía en función del tipo de modelo, que puede incluir redes neuronales, árboles de decisión y otros.
Por ejemplo, los modelos de detección de imágenes normalmente se entrenan en tareas como la detección de objetos, el reconocimiento facial o la comprensión de escenas. Aprenden de imágenes anotadas para identificar objetos o características específicos. Otros ejemplos comunes son los algoritmos de detección de fraudes y los modelos de predicción de punto de precio. Estos modelos aprenden de datos financieros históricos para tomar decisiones fundamentadas.
Este artículo se centra principalmente en el caso de uso anterior, donde los modelos se entrenan antes de que puedan proporcionar una entrada significativa a la aplicación. El artículo incluye instrucciones sobre la recopilación, el procesamiento, el almacenamiento, las pruebas y el mantenimiento de datos. No se trata el diseño de datos para la ciencia de datos exploratoria o la inteligencia empresarial a través de ia. El objetivo es admitir las necesidades de entrenamiento a través de estrategias que se alinean con los requisitos de carga de trabajo al proporcionar recomendaciones sobre la canalización de datos de entrenamiento de una carga de trabajo de INTELIGENCIA ARTIFICIAL.
Para obtener información sobre el diseño de datos para los modelos de inteligencia artificial que requieren contexto durante la inferencia, consulte Diseño de datos de puesta a tierra.
Importante
Espere que el diseño de datos sea un proceso iterativo basado en la experimentación estadística. Para alcanzar un nivel de calidad aceptable, ajuste los datos de entrenamiento, su procesamiento, el desarrollo de características del modelo y los hiperparámetros del modelo (siempre que sea posible). Este bucle de experimentación suele producirse durante el entrenamiento inicial del modelo y durante los esfuerzos de refinamiento continuos para abordar los datos y el desfase del modelo durante la duración de la característica en la carga de trabajo.
Recomendaciones
Este es el resumen de las recomendaciones proporcionadas en este artículo.
Recomendación | Descripción |
---|---|
Seleccione orígenes de datos en función de los requisitos de carga de trabajo. | Factorice los recursos disponibles y si el origen de datos puede ayudarle a alcanzar la calidad de datos aceptable para el entrenamiento del modelo. Cubrir ejemplos positivos y negativos. Combine diversos tipos de datos para lograr la integridad adecuada para el análisis y el modelado. Considere técnicas como técnica de sobremuestreo de minorías sintéticas (SMOTE) para la escasez o desequilibrio de datos. ▪ Ingesta y análisis de datos |
Realice un análisis de datos en los datos recopilados al principio. | Realice procesos de análisis, como Exploratory Data Analysis (EDA), sin conexión. Tenga en cuenta los costos y las implicaciones de seguridad. En el caso de conjuntos de datos pequeños sin restricciones de recursos, puede considerar la posibilidad de realizar análisis en el origen. ▪ Almacén de recopilación de datos |
Mantenga la segmentación de datos, si los requisitos empresariales y técnicos lo llaman. | Si usa orígenes de datos que tienen requisitos de seguridad distintos, cree canalizaciones independientes para cada modelo. Establecer controles de acceso para limitar la interacción con subconjuntos de datos específicos. ▪ Segmentación de datos |
Preprocese los datos para que sean significativos con respecto a los objetivos de entrenamiento. | Refinar la calidad de los datos ingeridos filtrando el ruido, recopizando los datos, direccionando duplicados y estandarizando diversos formatos. ▪ Preprocesamiento de datos |
Evite el entrenamiento en datos obsoletos. | Supervise el desfase de datos y el desfase de concepto como parte de los bucles operativos internos y externos para mantener la precisión y confiabilidad de los modelos a lo largo del tiempo. Actualice periódicamente los datos de entrenamiento con nuevas observaciones. Defina las condiciones que desencadenan el reentrenamiento del modelo y determinen la frecuencia de actualización. ▪ Mantenimiento de datos |
Tipos de datos
Para crear potencia predictiva en modelos, debe recopilar datos, procesarlos y alimentarlos al modelo. Este proceso normalmente se conceptualiza como una canalización que se divide en fases. Cada fase de la canalización podría tratar con el mismo conjunto de datos, pero podría servir para propósitos diferentes. Normalmente, se controlan los datos de estos tipos:
Los datos de origen son datos de observación a un momento dado. También puede ser datos que se pueden etiquetar para servir como una posible entrada a la canalización de datos.
Normalmente, estos datos se obtienen de producción o de un origen externo. Estos orígenes de datos pueden estar en cuentas de almacenamiento, bases de datos, API u otros orígenes. Los datos pueden estar en varios formatos de datos, como bases de datos OLTP, documentos no estructurados o archivos de registro. Estos datos sirven como una entrada potencial para la canalización de datos.
Los datos de entrenamiento son un subconjunto de datos de origen que se usan para proporcionar ejemplos al modelo. Los ejemplos son datos predefinidos descriptivos que ayudan al modelo a aprender patrones y relaciones. Sin estos datos, el modelo no puede generar una salida relevante.
Los datos de evaluación son un subconjunto de los datos de origen que se usan para supervisar y validar el rendimiento de un modelo de Machine Learning durante el entrenamiento. Es distinto de los datos de entrenamiento y prueba y se usa para evaluar periódicamente el rendimiento del modelo durante la fase de entrenamiento y guiar el ajuste de hiperparámetros. Para obtener más información, consulte Evaluación de modelos.
Los datos de prueba se usan para validar la eficacia predictiva de un modelo entrenado. Estos datos se muestrea a partir de los datos de origen que no se usaron para el entrenamiento. Contiene observaciones de producción para que el proceso de prueba sea concluyente. Desde una perspectiva de diseño de datos, debe almacenar estos datos. Para obtener información sobre los modelos de prueba, consulte el área Diseño de pruebas .
En algunos casos, la información proporcionada por los usuarios durante las interacciones con la aplicación puede convertirse en datos de origen. En general, se recomienda que la entrada del usuario utilizada de esta manera sea de alta calidad. De lo contrario, la necesidad de controlar continuamente los problemas de calidad de bajada puede resultar problemático. En este artículo no se tratan instrucciones sobre cómo controlar los datos de usuario.
Ingesta y análisis de datos
Los datos de entrenamiento se recopilan dentro de una ventana predeterminada que tiene suficientes representaciones para entrenar el tipo de modelo que seleccione. Por ejemplo, al entrenar un modelo de clasificación binaria, los datos de entrenamiento deben incluir representaciones de lo que es el caso (ejemplos positivos) y lo que no es el caso (ejemplos negativos). Para que los datos de entrenamiento sean significativos, realice EDA al principio durante el diseño de características.
EDA ayuda a analizar los datos de origen para identificar características, relaciones, patrones y problemas de calidad. Puede realizar EDA directamente en el almacén de datos de origen o replicar datos en almacenes centralizados, como un lago de datos o un almacenamiento de datos. El resultado del proceso es informar a la recopilación y el procesamiento de datos para el entrenamiento eficaz del modelo.
Nota:
Aunque EDA es un proceso de preproducción, usa datos procedentes de producción. Aplique el mismo nivel de control a este proceso que lo haría para producción.
A continuación se muestran algunas consideraciones para recopilar datos en preparación para el entrenamiento del modelo.
Orígenes de datos
Los datos se pueden recopilar de estos orígenes:
Los datos propietarios se crean o pertenecen a la organización. No está pensado para el consumo público. Sirve para fines internos.
Los orígenes públicos son accesibles para cualquier persona. Estas fuentes incluyen sitios web, documentos de investigación y bases de datos compartidas públicamente. Puede ser específico de un área de nicho. Por ejemplo, el contenido de Wikipedia y PubMed se consideran accesibles públicamente.
La elección de orígenes de datos depende de los requisitos de carga de trabajo, los recursos disponibles y la calidad de los datos aceptables para entrenar el modelo. Los conjuntos de datos desequilibrados pueden dar lugar a modelos sesgados, por lo que debe diseñar la recopilación de datos para obtener muestras suficientes de datos representativos. Es posible que tenga que oversample los datos de las minorías o los datos de mayoría inferior. Si los datos son escasos o desequilibrados, considere las técnicas como SMOTE y la generación de datos sintéticos.
Almacén de recopilación de datos
Hay dos opciones principales para recopilar datos de origen:
- Consulta de los datos en el origen de datos
- Copiar los datos en un almacén de datos localizado y, a continuación, consultar ese almacén
La elección depende de los requisitos de carga de trabajo y del volumen de datos. Si tiene una cantidad relativamente pequeña de datos, el sistema de origen podría controlar directamente las consultas sin procesar. Sin embargo, la práctica habitual es consultar y analizar desde el almacén localizado.
Compensación. Aunque los almacenes de datos localizados pueden facilitar el análisis y el proceso de entrenamiento, también debe equilibrar los costos, la seguridad y los requisitos del modelo.
La duplicación de datos conlleva costos de almacenamiento y proceso. El mantenimiento de una copia independiente requiere recursos adicionales. Las copias locales pueden contener información confidencial. Si es así, debe proteger los datos mediante medidas de seguridad normales.
Si usa datos de producción para los datos de entrenamiento, debe estar sujeto a todas las restricciones de clasificación de datos originales de esos datos.
Los datos se pueden proporcionar al proceso de entrenamiento (modo de inserción) o el propio proceso puede consultar el origen de datos (modo de extracción). La elección depende de las restricciones de propiedad, eficiencia y recursos.
Cuando los datos se insertan en la carga de trabajo, es responsabilidad del propietario del origen de datos proporcionar datos nuevos. El propietario de la carga de trabajo proporciona una ubicación adecuada en su almacén de datos localizado para almacenar los datos. Este enfoque se aplica a los datos propietarios que pertenecen a la organización, no a los orígenes públicos.
Hay dos enfoques que puede usar para extraer datos. En un enfoque, la carga de trabajo consulta en el almacén de datos, recupera los datos necesarios y lo coloca en el almacén localizado. Otra manera es realizar consultas en tiempo real en la memoria. La decisión depende del volumen de datos y de los recursos de proceso disponibles. Para conjuntos de datos más pequeños, la recuperación en memoria podría ser suficiente para el entrenamiento del modelo.
Independientemente de si usa el modo de inserción o extracción, evite entrenar modelos en datos obsoletos. La frecuencia de las actualizaciones de datos debe alinearse con los requisitos de carga de trabajo.
Segmentación de datos
Los requisitos específicos de la carga de trabajo pueden requerir la segmentación de datos. Estos son algunos casos de uso potenciales:
Los requisitos de seguridad suelen impulsar las decisiones de segmentación. Por ejemplo, las restricciones normativas podrían impedir la exportación de datos entre regiones geopolíticas. Si el diseño de la aplicación permite el uso de modelos independientes, el diseño de datos incorpora canalizaciones de datos independientes para cada modelo.
Sin embargo, si se usa un único modelo, los orígenes de datos segmentados se introducen en ese modelo. Debe entrenar el modelo en datos de ambas zonas geográficas, lo que puede agregar complejidad.
Tanto si la aplicación usa un solo modelo como varios modelos, conserve las medidas de seguridad en cada segmento de datos para que esté protegida con el mismo nivel de rigor que los datos en el origen.
La tasa de actualización de datos puede ser un factor para separar los datos. Los datos de diferentes orígenes pueden actualizarse a intervalos de tiempo variables. Si los datos cambian, el reentrenamiento se vuelve necesario. La segmentación permite controlar pormenorizado el ciclo de vida de los datos. Considere la posibilidad de usar tablas o canalizaciones independientes para distintos segmentos de datos.
Independientemente del caso de uso, cuando se segmentan los datos, los controles de acceso son clave. Los profesionales de datos, como ingenieros de datos y científicos de datos, exploran los datos de origen disponibles para comprender patrones y relaciones. Sus conclusiones contribuyen a los modelos de entrenamiento que predicen los resultados. Establezca controles de acceso para asegurarse de que solo los usuarios autorizados puedan interactuar con subconjuntos de datos específicos. Aplique privilegios mínimos en los datos que se consideran relevantes. Colabore con los propietarios de datos para configurar los permisos adecuados.
Preprocesamiento de datos
En un escenario real, los datos de origen no se almacenan simplemente en escenarios de inteligencia artificial. Hay un proceso intermedio que prepara los datos para el entrenamiento. Durante esta fase, los datos se eliminan del ruido, lo que hace que sea útil para el consumo. Al tratar con los datos de origen, los científicos de datos participan en un proceso de exploración, experimentación y toma de decisiones. Su objetivo principal es identificar y extraer partes de los datos de origen que tienen potencia predictiva.
La lógica de preprocesamiento depende del problema, el tipo de datos y los resultados deseados. A continuación se muestran algunas técnicas comunes para el preprocesamiento. Esta lista no es exhaustiva. Los criterios reales de la carga de trabajo se controlarán según los requisitos empresariales.
Calidad. El preprocesamiento puede ayudarle a asegurarse de que los datos de entrenamiento se eliminan del ruido. El objetivo es asegurarse de que cada fila de los datos de entrenamiento represente una observación clara o un buen ejemplo relevante para su caso de uso y para eliminar observaciones que carecen de calidad o potencia predictiva. Por ejemplo, si intercala revisiones de productos, puede optar por eliminar los datos que son demasiado cortos. Debe detectar qué calidad de los datos genera resultados predictivos significativos.
Volver a realizar la copia. Los campos de datos de origen que son demasiado específicos pueden restringir las potencias predictivas. Por ejemplo, considere un campo de dirección. Ampliar el ámbito de la dirección completa (número de casa y nombre de calle) a un nivel superior, como ciudad, estado o país o región, podría ser más relevante.
Desduplicación. Eliminar la redundancia puede garantizar que los datos de entrenamiento sean precisos y representativos. En ciertos casos, la frecuencia con la que se realiza una observación no es relevante. Por ejemplo, al examinar los registros, si aparece una entrada de registro de 1000 veces, que indica su frecuencia. No implica necesariamente que sea un error más grave que un registro que se produjo solo una vez. Este tipo de redundancia puede introducir ruido.
Control de datos confidenciales. Elimine los datos personales a menos que sea absolutamente vital para la eficacia predictiva del modelo de una manera que no se pueda lograr mediante la anonimización. Los datos de entrenamiento deben ser efectivos sin comprometer la privacidad. Si los datos proporcionan valor, debe tener en cuenta las consideraciones éticas de control de datos confidenciales. Para obtener más información, consulte Inteligencia artificial responsable.
Transformación estandarizada. Los expertos en dominio consideran que las técnicas anteriores son una parte fundamental de la ingeniería de características. Un amplio ámbito y diversos datos de origen finalmente necesitan combinarse en almacenes de características donde se organizan las características (por ejemplo, en tablas de características) para el propósito explícito de los modelos de entrenamiento. Después de seleccionar los datos predictivos para el entrenamiento, transforme los datos en un formato estandarizado. La normalización también garantiza la compatibilidad con el modelo de entrenamiento.
Convertir imágenes en representaciones de texto es una forma de transformación. Por ejemplo, puede convertir documentos o imágenes escaneados en texto legible por máquina.
Para garantizar la compatibilidad con los modelos, es posible que tenga que ajustar las orientaciones o las relaciones de aspecto de las imágenes para que coincidan con las expectativas del modelo.
Nota:
La combinación de grandes cantidades de datos estructurados y no estructurados puede aumentar el tiempo de procesamiento. Los equipos de carga de trabajo deben medir el impacto del procesamiento de diversos formatos. A medida que la ventana entre los esfuerzos de reentrenamiento se vuelve más corta, la cantidad de tiempo invertido en el preprocesamiento se vuelve más crítica.
Retención de datos
Después de entrenar un modelo, evalúe si desea eliminar los datos usados para entrenar y recompilar el modelo para la siguiente ventana de entrenamiento.
Si los datos permanecen relativamente sin cambios, es posible que el reentrenamiento no sea necesario, a menos que se produzca el desfase del modelo. Si la precisión de la predicción disminuye, debe volver a entrenar el modelo. Puede volver a ingerir los datos, preprocesar y compilar el modelo. Este curso de acción es mejor si hay una diferencia significativa en los datos desde la última ventana de entrenamiento. Si hay un gran volumen de datos y no ha cambiado mucho, es posible que no necesite preprocesar y recompilar el modelo. En ese caso, conserve los datos, realice actualizaciones en contexto y vuelva a entrenar el modelo. Decida cuánto tiempo desea conservar los datos de entrenamiento.
En general, elimine los datos de los almacenes de características para reducir el desorden y los costos de almacenamiento de las características que tienen un rendimiento deficiente y que ya no son relevantes para los modelos actuales o futuros. Si conserva los datos, espere administrar los costos y solucionar problemas de seguridad, que son problemas típicos de duplicación de datos.
Seguimiento de linaje
El linaje de datos hace referencia al seguimiento de la ruta de acceso de los datos de su origen a su uso en el entrenamiento del modelo. El seguimiento del linaje de datos es esencial para la explicación. Aunque es posible que los usuarios no necesiten información detallada sobre los orígenes de datos, esa información es fundamental para los equipos de gobernanza de datos internos. Los metadatos de linaje garantizan la transparencia y la responsabilidad, incluso si el modelo no lo usa directamente. Esto es útil para fines de depuración. También le ayuda a determinar si se introducen sesgos durante el preprocesamiento de datos.
Use características de plataforma para el seguimiento de linaje cuando pueda. Por ejemplo, Azure Machine Learning se integra en Microsoft Purview. Esta integración proporciona acceso a características para la detección de datos, el seguimiento de linaje y la gobernanza como parte del ciclo de vida de MLOps.
Mantenimiento de datos
Todos los modelos pueden quedar obsoletos a lo largo del tiempo, lo que hace que la eficacia predictiva o relevancia de un modelo se desintegra. Varios cambios externos pueden provocar un deterioro, incluido el cambio en el comportamiento del usuario, la dinámica del mercado u otros factores. Los modelos entrenados hace algún tiempo podrían ser menos relevantes debido a las circunstancias cambiantes. Para realizar predicciones con mayor fidelidad, necesita datos recientes.
Adopción de modelos más recientes. Para garantizar la relevancia, necesita un bucle operativo que evalúe continuamente el rendimiento del modelo y considere los modelos más recientes, lo que mantiene la canalización de datos mínimamente disruptiva. También puede prepararse para un cambio mayor que implique rediseñar el ciclo de vida y la canalización de datos.
Al elegir un nuevo modelo, no es necesario empezar por un nuevo conjunto de datos. Las observaciones existentes usadas para el entrenamiento pueden ser valiosas incluso durante un cambio de modelo. Aunque los nuevos modelos pueden revelar escenarios más estrechos, el proceso fundamental sigue siendo similar. Los enfoques de administración de datos, como almacenes de características y mallas de datos, pueden simplificar la adopción de nuevos modelos de aprendizaje automático.
Operaciones basadas en desencadenadores frente a rutinas. Considere si los eventos o condiciones específicos deben desencadenar el reentrenamiento del modelo. Por ejemplo, la disponibilidad de datos nuevos y más relevantes o una caída en la relevancia por debajo de una línea base establecida podría desencadenar el reentrenamiento. Las ventajas de este enfoque son la capacidad de respuesta y las actualizaciones oportunas.
El mantenimiento también se puede programar a intervalos fijos regulares, como diarios o semanales. En el caso de las operaciones de prueba de errores, tenga en cuenta ambos enfoques.
Eliminación de datos. Quite los datos que ya no se usan para el entrenamiento para optimizar el uso de recursos y minimizar el riesgo de usar datos obsoletos o irrelevantes para el entrenamiento del modelo.
El derecho a olvidar se refiere al derecho de una persona a quitar sus datos personales de plataformas o bases de datos en línea. Asegúrese de tener directivas vigentes para quitar los datos personales que se usan para el entrenamiento.
Retención de datos. En algunas situaciones, debe recompilar un modelo existente. Por ejemplo, para la recuperación ante desastres, un modelo debe volver a generarse exactamente igual que antes del evento catastrófico. Se recomienda tener una canalización de datos secundaria que siga los requisitos de carga de trabajo de la canalización principal, como abordar la descomposición del modelo, las actualizaciones periódicas a través de operaciones rutinarias o basadas en desencadenadores y otras tareas de mantenimiento.
Compensación. El mantenimiento de datos es costoso. Implica copiar datos, compilar canalizaciones redundantes y ejecutar procesos rutinarios. Tenga en cuenta que es posible que el entrenamiento normal no mejore la calidad de la respuesta. Solo proporciona garantía contra la obsolescencia. Evalúe la importancia de los cambios de datos como señal para determinar la frecuencia de las actualizaciones.
Asegúrese de que el mantenimiento de datos se realiza como parte de las operaciones del modelo. Debe establecer procesos para controlar los cambios a través de la automatización tanto como sea posible y usar el conjunto adecuado de herramientas. Para más información, consulte MLOps y GenAIOps para cargas de trabajo de IA en Azure.