Lineamientos para desarrollar soluciones de AA de alta calidad

Last reviewed 2022-02-17 UTC

En este documento, se recopilan algunos lineamientos que te ayudarán a evaluar, garantizar y controlar la calidad en las soluciones de aprendizaje automático (AA). Se proporcionan sugerencias para cada paso del proceso, desde el desarrollo de modelos de AA hasta la implementación de tus sistemas de entrenamiento y los sistemas de entrega para la etapa producción. En el documento, se amplía la información que se entrega en la Guía de profesionales para MLOps, ya que se destacan y sintetizan los aspectos de calidad de cada proceso del ciclo de vida de MLOps.

Este documento está dirigido a cualquier persona que participe en la compilación, implementación y operación de soluciones de AA. En el documento, se supone que estás familiarizado con MLOps en general. No se supone que tienes conocimientos de alguna plataforma de AA específica.

Descripción general de la calidad de las soluciones de aprendizaje automático

En la ingeniería de software, se han desarrollado muchos estándares, procesos, herramientas y prácticas para garantizar la calidad del software. El objetivo es asegurarse de que el software funcione según lo previsto en la etapa de producción y que cumpla con los requisitos funcionales y no funcionales. Estas prácticas abarcan temas como las pruebas de software, la verificación y validación de software y elregistro y supervisión de software. En DevOps, estas prácticas suelen integrarse y automatizarse en procesos de CI/CD.

MLOps es un conjunto de procesos y funciones estandarizados para compilar, implementar y operar sistemas de AA con rapidez y confiabilidad. Al igual que con otras soluciones de software, las soluciones de software de AA requieren que integres estas prácticas de calidad del software y las apliques durante el ciclo de vida de MLOps. Si aplicas estas prácticas, garantizas la confiabilidad y la previsibilidad de tus modelos, y que los modelos cumplan con tus requisitos.

Sin embargo, las tareas de compilación, implementación y operación de sistemas de AA presentan desafíos adicionales que requieren ciertas prácticas de calidad que pueden no ser relevantes para otros sistemas de software. Además de las características de la mayoría de los demás sistemas de software, los sistemas de AA tienen las siguientes características:

  • Sistemas que dependen de los datos. La calidad de los modelos entrenados y sus predicciones depende de la validez de los datos que se usan para el entrenamiento y que se envían en las solicitudes de predicción. Cualquier sistema de software depende de datos válidos, pero los sistemas de AA deducen de forma automática la lógica para tomar decisiones a partir de los datos, por lo que dependen en particular de la calidad de los datos.

  • Sistemas duales de entrenamiento y entrega. Por lo general, las cargas de trabajo de AA constan de dos sistemas de producción distintos pero relacionados: el sistema de entrenamiento y el sistema de entrega. Una canalización de entrenamiento continuo produce modelos recién entrenados que se implementan para la entrega de predicciones. Cada sistema requiere un conjunto diferente de prácticas de calidad que equilibren la efectividad y la eficiencia para producir y mantener un modelo de alto rendimiento en producción. Además, las inconsistencias entre estos dos sistemas generan errores y un rendimiento predictivo deficiente.

  • Propensos a la inactividad. Los modelos suelen degradarse después de implementarse en la producción, ya que no se adaptan a los cambios en el entorno que representan, como los cambios estacionales en el comportamiento de compra. Los modelos también pueden no adaptarse a los cambios en los datos, como las ubicaciones y los productos nuevos. Por lo tanto, realizar un seguimiento de la eficacia del modelo en producción es un desafío adicional para los sistemas de AA.

  • Sistemas de toma de decisiones automatizados. A diferencia de otros sistemas de software, en los que las acciones se codifican a mano para un conjunto de requisitos y reglas empresariales, los modelos de AA aprenden reglas a partir de datos para tomar una decisión. El sesgo implícito en los datos puede hacer que los modelos produzcan resultados injustos.

Cuando un modelo de AA implementado produce predicciones incorrectas, la mala calidad del AA puede ser el resultado de una amplia gama de problemas. Algunos de estos problemas pueden surgir por los errores típicos que están en cualquier programa. Sin embargo, los problemas específicos del AA también pueden incluir anomalías y sesgos de datos, junto con la ausencia de procedimientos adecuados de evaluación y validación de modelos como parte del proceso de entrenamiento. Otro problema potencial son los formatos de datos incoherentes entre la interfaz integrada del modelo y la API de entrega. Además, el rendimiento del modelo se degrada con el tiempo, incluso sin estos problemas, y puede fallar silenciosamente si no se supervisa adecuadamente. Por lo tanto, debes incluir diferentes tipos de pruebas y supervisiones para los modelos y sistemas de AA durante el desarrollo, la implementación y la producción.

Lineamientos de calidad para desarrollar de modelos

Cuando desarrollas un modelo de AA durante la fase de experimentación, tienes los siguientes dos conjuntos de métricas objetivo que puedes usar para evaluar el rendimiento del modelo:

  • Las métricas de optimización del modelo. Estas métricas reflejan la efectividad predictiva del modelo. La métrica incluye exactitud y medida f en las tareas de clasificación, error porcentual absoluto medio en tareas de regresión y previsión, ganancia acumulada con descuento en tareas de clasificación y las puntuaciones de perplejidad y BLEU en los modelos de lenguaje. Cuanto mejor sea el valor de esta métrica, mejor será el modelo para una tarea determinada. En algunos casos de uso, para garantizar la equidad, es importante lograr una eficacia predictiva similar en diferentes porciones de datos, por ejemplo, en diferentes datos demográficos de clientes.
  • Las métricas de cumplimiento del modelo. Estas métricas reflejan una restricción operativa que el modelo debe cumplir, como la latencia de predicción. Debes establecer un límite de latencia para un valor determinado, como 200 milisegundos. No se aceptan modelos que no respeten el límite. Otro ejemplo de una métrica de cumplimiento es el tamaño del modelo, que es importante cuando deseas implementar el modelo en hardware de baja potencia, como dispositivos integrados y móviles.

Durante la experimentación, debes desarrollar, entrenar, evaluar y depurar tu modelo para mejorar su eficacia con respecto a las métricas de optimización, sin infringir los límites de las métricas satisfactorios.

Lineamientos para la experimentación

  • Ten límites predefinidos y fijos para las métricas de optimización y las de cumplimiento.
  • Implementa una rutina de evaluación optimizada que tome un modelo y datos y produzca un conjunto de métricas de evaluación. Implementa la rutina para que funcione sin importar el tipo de modelo (por ejemplo, árboles de decisión o redes neuronales) o el framework del modelo (por ejemplo, TensorFlow o scikit-learn).
  • Asegúrate de tener un modelo de referencia con el que comparar. Este modelo de referencia puede consistir en heurísticas codificadas o puede ser un modelo simple que prediga el valor objetivo o la media. Usa el modelo de referencia para verificar el rendimiento del modelo de AA. Si el modelo de AA no es mejor que el modelo de referencia, hay un problema fundamental en el modelo de AA.
  • Realiza un seguimiento de cada experimento que se realizó para ayudarte con la reproducibilidad y la mejora incremental. Para cada experimento, almacena valores de hiperparámetros, selección de atributos y valores iniciales aleatorios.

Lineamientos de calidad de los datos

  • Aborda las clases desequilibradas con anticipación eligiendo la métrica de evaluación correcta. Además, aplica técnicas como el incremento de ponderación de las instancias de clase minoritaria o la reducción de muestreo de las instancias de clase mayoritaria.
  • Asegúrate de comprender la fuente de datos en cuestión y realizar el procesamiento previo de los datos y la ingeniería de atributos para preparar el conjunto de datos de entrenamiento. Este tipo de proceso debe ser repetible y automatizable.
  • Asegúrate de tener una división de datos de prueba (retenida) independiente para la evaluación final del modelo. La división de prueba no se debe ver durante el entrenamiento y no se debe usar para el ajuste de hiperparámetros.
  • Asegúrate de que las divisiones de entrenamiento, validación y prueba sean igual de representativas de los datos de entrada. El muestreo de dicha división de prueba depende de la naturaleza de los datos y de la tarea del AA en cuestión. Por ejemplo, la división estratificada es relevante para las tareas de clasificación, mientras que la división cronológica es relevante para las tareas de series temporales.
  • Asegúrate de que las divisiones de validación y prueba se procesen previamente por separado de la división de datos de entrenamiento. Si las divisiones se procesan con anterioridad en una combinación, se produce una filtración de datos. Por ejemplo, cuando usas estadísticas a fin de transformar datos para la normalización o para agrupar atributos numéricos, calcula las estadísticas a partir de los datos de entrenamiento y aplícalos para normalizar las divisiones de prueba y validación.
  • Genera un esquema del conjunto de datos que incluya los tipos de datos y algunas propiedades estadísticas de los atributos Puedes usar este esquema para encontrar datos anómalos o no válidos durante la experimentación y el entrenamiento.
  • Asegúrate de que tus datos de entrenamiento se mezclen de forma correcta en lotes, pero que también cumplan con los requisitos de entrenamiento del modelo. Por ejemplo, esta tarea puede aplicarse a distribuciones de instancias positivas y negativas.
  • Ten un conjunto de datos de validación separado para el ajuste de hiperparámetros y la selección del modelo. También puedes usar el conjunto de datos de validación para realizar una interrupción anticipada. De lo contrario, puedes permitir que el modelo entrene por todo el conjunto determinado de iteraciones. Sin embargo, solo guarda una instantánea nueva del modelo si su rendimiento en el conjunto de datos de validación mejora en relación con la instantánea anterior.

Lineamientos de calidad de los modelos

  • Asegúrate de que tus modelos no tengan ningún problema fundamental que les impida aprender una relación entre las entradas y las salidas. Para lograr este objetivo, entrena el modelo con muy pocos ejemplos. Si el modelo no logra una precisión alta para estos ejemplos, puede haber un error en la implementación del modelo o la rutina de entrenamiento.
  • Cuando entrenes redes neuronales, supervisa los valores de NaN en la pérdida y el porcentaje de los pesos que tienen valores cero en todo el entrenamiento de tu modelo. Estos valores de NaN o cero pueden ser indicios de cálculos aritméticos erróneos o de desvanecimiento del gradiente o bien de gradientes con crecimiento excesivo. Visualizar cambios en la distribución de valores de peso a lo largo del tiempo puede ayudarte a detectar los cambios de covariables internos que ralentizan el entrenamiento. Puedes aplicar la normalización por lotes para aliviar esta reducción de velocidad.
  • Compara el rendimiento del modelo con los datos de entrenamiento y los datos de prueba para comprender si el modelo tiene sobreajuste o subajuste. Si ves alguno de estos problemas, realiza las mejoras relevantes. Por ejemplo, si hay un subajuste, puedes aumentar la capacidad de aprendizaje del modelo. Si hubo un sobreajuste, puedes aplicar la regularización.
  • Analiza las instancias mal clasificadas, en especial las instancias que tienen una confianza de predicción alta y las clases que se confundieron con mayor frecuencia en la matriz de confusión de varias clases. Estos errores pueden ser indicios de que hay ejemplos de entrenamiento mal etiquetados. Los errores también pueden identificar una oportunidad para el procesamiento previo de datos, como la eliminación de valores atípicos o la creación de atributos nuevos a fin de discriminar entre esas clases.
  • Analiza las puntuaciones de importancia de los atributos y limpia los que no agreguen una mejora suficiente a la calidad del modelo Se prefieren los modelos parsimoniosos en lugar de los complejos.

Lineamientos de calidad para la implementación de la canalización de entrenamiento

A medida que implementas el modelo y la canalización de entrenamiento de modelos, debes crear un conjunto de pruebas en una rutina de CI/CD. Estas pruebas se ejecutan de forma automática a medida que envías cambios nuevos para el código o se ejecutan antes de implementar la canalización de entrenamiento en el entorno de destino.

Lineamientos

  • Realiza una prueba de unidades de la funcionalidad de ingeniería de atributos.
  • Realiza una prueba de unidades de la codificación de las entradas del modelo.
  • Realiza una prueba de unidades de los módulos implementados por el usuario (personalizados) por separado, por ejemplo, realiza una prueba de unidades de las capas de convolución y reducción de gráficos personalizado o de las capas de atención personalizadas.
  • Realiza una prueba de unidades de cualquier función de pérdida o evaluación personalizada.
  • Realiza una prueba de unidades de los tipos de salida y de las formas de tu modelo con las entradas esperadas.
  • Realiza una prueba de unidades para comprobar que la función fit del modelo funciona sin ningún error en un par de pequeños lotes de datos. Las pruebas deben asegurarse de que la pérdida disminuya y que el tiempo de ejecución del paso de entrenamiento sea el esperado. Debes realizar estas verificaciones porque los cambios en el código del modelo pueden introducir errores que ralentizan el proceso de entrenamiento.
  • Realiza una prueba de unidades de las funciones de carga y guardado del modelo.
  • Realiza una prueba de unidades de las interfaces de entrega de modelos exportadas en relación con las entradas sin procesar y las salidas esperadas.
  • Prueba los componentes de los pasos de la canalización con entradas simuladas y con artefactos de salida.
  • Implementa la canalización en un entorno de prueba y realiza pruebas de integración de la canalización de extremo a extremo. En este proceso, usa algunos datos de prueba para asegurarte de que el flujo de trabajo se ejecute de forma correcta y que produzca los artefactos esperados.
  • Usa la implementación paralela cuando implementes una versión nueva de la canalización de entrenamiento en el entorno de producción. Una implementación paralela te ayuda a garantizar que la versión de canalización recién implementada se ejecute con datos activos en paralelo a la versión anterior.

Lineamientos de calidad para el entrenamiento continuo

El proceso de entrenamiento continuo se trata de organizar y automatizar la ejecución de canalizaciones de entrenamiento. Los flujos de trabajo de entrenamiento típicos incluyen pasos como la transferencia y división de datos, la transformación de datos, el entrenamiento de modelos, la evaluación de modelos y el registro de modelos. Algunas canalizaciones de entrenamiento consisten en flujos de trabajo más complejos. Las tareas adicionales pueden incluir el entrenamiento de modelos autosupervisados que usa datos sin etiquetar o la compilación de un índice de vecino más cercano para las incorporaciones. La entrada principal de las canalizaciones de entrenamiento son datos de entrenamiento nuevos y el resultado principal es un modelo candidato nuevo que se implementará en producción.

La canalización de entrenamiento se ejecuta en producción de forma automática, en función de un programa (por ejemplo, diario o semanal) o en función de un activador (por ejemplo, cuando hay nuevos datos etiquetados disponibles). Por lo tanto, debes agregar pasos de control de calidad al flujo de trabajo de entrenamiento, en particular pasos de validación de datos y de validación de modelos. Mediante estos pasos, se validan las entradas y las salidas de las canalizaciones.

Agrega el paso de validación de datos después del paso de transferencia de datos en el flujo de trabajo de entrenamiento. En el paso de validación de datos, se crean perfiles de los datos de entrenamiento nuevos de entrada que se transfieren a la canalización. Durante la creación de perfiles, la canalización utiliza un esquema de datos predefinido, que se creó durante el proceso de desarrollo de AA, para detectar anomalías. Según el caso de uso, puedes ignorar o quitar algunos registros no válidos del conjunto de datos. Sin embargo, otros problemas en los datos recién transferidos podrían detener la ejecución de la canalización de entrenamiento, por lo que debes identificar y abordar esos problemas.

Lineamientos para la validación de datos

  • Verifica que los atributos de los datos de entrenamiento extraídos estén completos y que coincidan con el esquema esperado, es decir, que no falten atributos y que no haya atributos adicionales. Verifica también que los atributos coincidan con los volúmenes proyectados.
  • Valida los tipos de datos y las formas de los atributos del conjunto de datos que se transfieren a la canalización de entrenamiento.
  • Verifica que los formatos de atributos particulares (por ejemplo, fechas, horas, URLs, códigos postales y direcciones IP) coincidan con las expresiones regulares esperadas. Verifica también que los atributos se encuentren dentro de rangos válidos.
  • Valida la fracción máxima de los valores faltantes para cada atributo. Una gran fracción de valores faltantes en un atributo en particular puede afectar el entrenamiento del modelo. Los valores faltantes suelen indicar una fuente de atributos poco confiable.
  • Valida los dominios de los atributos de entrada. Por ejemplo, comprueba si hay cambios en el vocabulario de los atributos categóricos o cambios en el rango de atributos numéricos, y ajusta el procesamiento previo de los datos según corresponda. Como otro ejemplo, los rangos de atributos numéricos pueden cambiar si una actualización en el sistema ascendente que propaga los atributos usa diferentes unidades de medida. Por ejemplo, el sistema ascendente puede cambiar la moneda de dólares a yenes o cambiar las distancias de kilómetros a metros.
  • Verifica que las distribuciones de cada atributo coincidan con tus expectativas. Por ejemplo, puedes probar que el valor más común de un atributo para el tipo de pago sea cash y que este tipo de pago represente el 50% de todos los valores. Sin embargo, esta prueba puede fallar si hay un cambio en el tipo de pago más común en credit_card. Un cambio externo como este puede requerir cambios en tu modelo.

Agrega un paso de validación de modelos antes del paso de registro de modelos a fin de asegurarte de que solo los modelos que pasan los criterios de validación se registren para la implementación de producción.

Lineamientos para la validación de modelos

  • Para la evaluación final del modelo, usa una división de prueba separada que no se haya usado para el entrenamiento del modelo o el ajuste de hiperparámetros.
  • Haz una puntuación del modelo candidato en comparación con la división de datos de prueba, calcula las métricas de evaluación relevantes y verifica que el modelo candidato supere los umbrales de calidad predefinidos.
  • Asegúrate de que la división de datos de prueba represente los datos como un todo para considerar distintos patrones de datos. Para los datos de series temporales, asegúrate de que la división de prueba contenga datos más recientes que la división del entrenamiento.
  • Prueba la calidad del modelo en porciones de datos importantes, como los usuarios por país o películas por género. Cuando realizas pruebas con datos divididos, evitas una complicación en la que los problemas de rendimiento detallados están enmascarados por una métrica de resumen global.
  • Evalúa el modelo actual (campeón) en comparación con la división de datos de prueba y compáralo con el modelo candidato (retador) producido por la canalización de entrenamiento.
  • Valida el modelo con indicadores de equidad para detectar sesgos implícitos, por ejemplo, el sesgo implícito puede estar inducido por una diversidad insuficiente en los datos de entrenamiento. Los indicadores de equidad pueden revelar problemas de causa raíz que debes abordar antes de implementar el modelo para producción.

Durante el entrenamiento continuo, puedes validar el modelo según las métricas de optimización y de cumplimiento. Como alternativa, puedes validar el modelo solo con las métricas de optimización y diferir la validación de la métrica de cumplimiento hasta la fase de implementación del modelo. Si planeas implementar variaciones del mismo modelo en diferentes entornos de entrega o cargas de trabajo, puede ser más adecuado diferir la validación de la métrica de cumplimiento. Los diferentes entornos o cargas de trabajo de entrega (como entornos de nube frente a entornos en el dispositivo o entornos en tiempo real frente a entornos de entrega por lotes) pueden requerir diferentes límites de métricas de cumplimiento. Si implementas en varios entornos, tu canalización de entrenamiento continuo puede entrenar dos o más modelos, que están optimizados para su entorno de implementación de destino. Para obtener más información y un ejemplo, consulta Implementaciones dobles en Vertex AI.

A medida que colocas canalizaciones de entrenamiento continuo con flujos de trabajo complejos en producción, debes realizar un seguimiento de los metadatos y los artefactos producidos por las canalizaciones de ejecución. El seguimiento de esta información te ayuda a supervisar cualquier problema que pueda surgir en la producción y depurarlo. El seguimiento de la información también te ayuda a reproducir los resultados de las canalizaciones, de modo que puedas mejorar su implementación en iteraciones de desarrollo de AA posteriores.

Lineamientos para realizar un seguimiento de los metadatos y artefactos del AA

  • Realiza un seguimiento del linaje del código fuente, las canalizaciones implementadas, los componentes de las canalizaciones, las ejecuciones de canalizaciones, el conjunto de datos en uso y los artefactos generados.
  • Realiza un seguimiento de los hiperparámetros y de la configuración de las ejecuciones de las canalizaciones.
  • Realiza un seguimiento de los artefactos de entrada y salida clave de los pasos de la canalización, como las estadísticas de conjuntos de datos, las anomalías del conjunto de datos (si existen), los datos y esquemas, los puntos de control del modelo y los resultados de la evaluación del modelo.
  • Realiza un seguimiento de los pasos de canalización condicionales que se ejecuten en respuesta a las condiciones y garantiza la observabilidad mediante el agregado de mecanismos de alteración en caso de que los pasos clave no se ejecuten o fallen.

Lineamientos de calidad para la implementación del modelo

Supongamos que tienes un modelo entrenado que se validó desde la perspectiva de las métricas de optimización y que se aprueba desde la perspectiva de la administración de modelos (como se describe más adelante en laadministración del modelo ). El modelo se almacena en el registro de modelos y está listo para implementarse en producción. En este punto, debes implementar un conjunto de pruebas para verificar que el modelo sea adecuado a fin de entregarse en su entorno de destino. También debes automatizar estas pruebas en una rutina de CI/CD para modelos.

Lineamientos

  • Verifica que el artefacto del modelo se pueda invocar y cargar de manera correcta con las dependencias del entorno de ejecución. Puedes realizar esta verificación mediante la etapa de pruebas del modelo en una versión de zona de pruebas del entorno de entrega. Esta verificación te ayuda a asegurarte de que las operaciones y los objetos binarios que usa el modelo estén presentes en el entorno.
  • Valida las métricas satisfactorias del modelo (si existe) en un entorno de etapa de pruebas, como el tamaño y la latencia del modelo.
  • Realiza una prueba de unidades de las interfaces de entrega de artefactos del modelo en un entorno de etapa de pruebas con entradas sin procesar y con resultados esperados.
  • Realiza una prueba de unidades del artefacto de modelo en un entorno de etapa de pruebas para un conjunto de casos extremos y típicos de solicitudes de predicción. Por ejemplo, realiza una prueba de unidades para una instancia de solicitud en la que todas las funciones estén configuradas como None.
  • Realiza una prueba de humo en la API del servicio de modelo después de que se haya implementado en su entorno de destino. Para realizar esta prueba, envía una sola instancia o un lote de instancias al servicio del modelo y valida la respuesta del servicio.
  • Realiza una prueba de versión canary para la versión del modelo recién implementada en una transmisión pequeña de datos de entrega en vivo. Esta prueba garantiza que el servicio del modelo nuevo no produzca errores antes de que el modelo se exponga a una gran cantidad de usuarios.
  • Realiza pruebas en un entorno de etapa de pruebas que puedas revertir a una versión anterior del modelo de entrega con rapidez y seguridad.
  • Realiza experimentos en línea para probar el modelo recién entrenado con un pequeño subconjunto de la población a la que se entrega el servicio. Esta prueba mide el rendimiento del modelo nuevo en comparación con el actual. Después de comparar el rendimiento del modelo nuevo con el rendimiento del modelo actual, puedes lanzar el modelo nuevo por completo para entregar todas tus solicitudes de predicción en vivo. Las técnicas de experimentación en línea incluyen pruebas A/B y multi-armed bandit (MAB).

Lineamientos de calidad para la entrega del modelo

Por lo general, el rendimiento predictivo de los modelos de AA implementados y que se entregan en producción se degrada con el tiempo. Esta degradación puede deberse a inconsistencias que se ingresaron entre las características de entrega y las que espera el modelo. Estas inconsistencias se denominan desviación entre el entrenamiento y la entrega. Por ejemplo, es posible que un modelo de recomendación espere un valor de entrada alfanumérico para un atributo como un código de producto most-recently-viewed. Sin embargo, el nombre del producto se pasa durante la entrega y no se pasa el código del producto debido a una actualización de la aplicación que consume el servicio del modelo.

Además, el modelo puede quedar inactivo a medida que las propiedades estadísticas de los datos de entrega se desvían con el tiempo y los patrones que aprendió el modelo implementado actual ya no son precisos. En ambos casos, el modelo ya no puede proporcionar predicciones precisas.

Para evitar esta degradación del rendimiento predictivo del modelo, debes realizar una supervisión continua de la efectividad del modelo. La supervisión te permite verificar de manera periódica y proactiva que el rendimiento del modelo no se degrade.

Lineamientos

  • Registra una muestra de las cargas útiles que se entregan de solicitud y respuesta en un almacén de datos para realizar análisis regulares. La solicitud es la instancia de entrada y la respuesta es la predicción que produce el modelo para esa instancia de datos.
  • Implementa un proceso automatizado que genere perfiles de los datos de solicitud y respuesta almacenados mediante el cálculo de estadísticas descriptivas. Calcula y almacena estas estadísticas de entrega en intervalos regulares.
  • Identifica la desviación entre el entrenamiento y la entrega provocada por el cambio y la desviación de los datos mediante la comparación de las estadísticas de los datos de entrega con las estadísticas del modelo de referencia de los datos de entrenamiento. Además, analiza cómo cambian las estadísticas de datos de entrega con el tiempo.
  • Identifica el desvío de conceptos mediante el análisis de cómo las atribuciones de atributos para las predicciones cambian con el tiempo.
  • Identifica las instancias de datos de entrega que se consideran valores atípicos con respecto a los datos de entrenamiento. Para encontrar valores atípicos, usa técnicas de detección de innovación y realiza un seguimiento de cómo cambia el porcentaje de valores atípicos en los datos de entrega a lo largo del tiempo.
  • Configura alertas para cuando el modelo alcance los umbrales de puntuación de sesgo en los atributos predictivos clave de tu conjunto de datos.
  • Si las etiquetas están disponibles (es decir, de verdad fundamental), une las etiquetas verdaderas con las etiquetas predichas de las instancias de entrega para realizar una evaluación continua. Este enfoque es similar al sistema de evaluación que implementas como pruebas A/B durante la experimentación en línea. La evaluación continua puede identificar no solo el poder predictivo de tu modelo en producción, sino también el tipo de solicitud con la que funciona bien y el tipo de solicitud con un rendimiento deficiente.
  • Establece objetivos para las métricas del sistema que son importantes y mide el rendimiento de los modelos según esos objetivos.
  • Supervisa la eficiencia del servicio para asegurarte de que el modelo pueda entregar a producción a gran escala. Esta supervisión también te ayuda a predecir y administrar la planificación de la capacidad y te ayuda a estimar el costo de tu infraestructura de entrega. Supervisa las métricas de eficiencia, incluido el uso de CPU, el uso de GPU, el uso de memoria, la latencia del servicio, las capacidades de procesamiento y la tasa de error.

Administración de modelos

La administración de modelos es una función fundamental en las empresas que proporciona lineamientos y procesos para ayudar a los empleados a implementar los principios de IA de la empresa. Estos principios pueden incluir la prevención de modelos que creen o apliquen sesgos y sean capaces de justificar las decisiones tomadas por IA. La función de administración de modelos se asegura de que haya una persona involucrada en el proceso. Tener una revisión manual es muy importante para las cargas de trabajo sensibles y de alto impacto (a menudo, orientadas al usuario). Las cargas de trabajo como esta pueden incluir la puntuación de riesgo de crédito, la clasificación de candidatos de trabajo, la aprobación de políticas de seguros y la propagación de información en las redes sociales.

Lineamientos

  • Ten una matriz de asignación de responsabilidad para cada modelo por tarea. La matriz debe considerar equipos multifuncionales (líneas de negocio, ingeniería de datos, ciencia de datos, ingeniería de AA, riesgo y cumplimiento, etc.) en toda la jerarquía de la organización.
  • Mantén la documentación y los informes de modelos en el registro de modelos que esté vinculado a la versión de un modelo, por ejemplo, mediante tarjetas de modelo. Estos metadatos incluyen información sobre los datos que se usaron para entrenar el modelo, el rendimiento del modelo y cualquier limitación conocida.
  • Implementa un proceso de revisión para el modelo antes de aprobarlo para la implementación en producción. En este tipo de proceso, conservas las versiones de la lista de tareas del modelo, la documentación complementaria y cualquier información adicional que puedan solicitar las partes interesadas.
  • Evalúa el modelo en conjuntos de datos de comparativas (también conocidos como conjuntos de datos dorados), que abarcan casos estándar y extremos. Además, valida el modelo con los indicadores de equidad para ayudar a detectar sesgos implícitos.
  • Explica a los usuarios del modelo el comportamiento predictivo del modelo en su totalidad y en instancias de entrada de muestra específicas. Esta información te ayuda a comprender las características importantes y el posible comportamiento no deseado del modelo.
  • Analiza el comportamiento predictivo del modelo mediante las herramientas de análisis What-if para comprender la importancia de los diferentes atributos de datos. Este análisis también puede ayudarte a visualizar el comportamiento de los modelos en varios modelos y subconjuntos de datos de entrada.
  • Prueba el modelo contra ataques adversarios para asegurarte de que sea seguro contra la explotación en producción.
  • Realiza un seguimiento de las alertas sobre el rendimiento predictivo de los modelos que están en producción, los cambios de conjuntos de datos y la desviación. Configura las alertas para notificar a las partes interesadas del modelo.
  • Administra la experimentación, el lanzamiento y la reversión de los modelos en línea.

¿Qué sigue?