Inteligencia artificial

Por qué las pruebas de ML podrían ser el futuro de las carreras de ciencia de datos

Este artículo habla predominantemente sobre las pruebas como una opción de carrera distinta en ciencia de datos y aprendizaje automático (ML). Brinda un breve resumen sobre los flujos de trabajo y el proceso de prueba. También describe la experiencia y las habilidades de alto nivel que un evaluador debe poseer para probar una aplicación de ML.

Pruebas en ciencia de datos: oportunidad de expansión

Existe una gran oportunidad para explorar y ampliar las posibilidades de pruebas y control de calidad en el campo de la ciencia de datos y el aprendizaje automático (ML).

Jugar con datos de entrenamiento, algoritmos y modelado en ciencia de datos puede ser una actividad compleja pero interesante, pero probar estas aplicaciones no lo es menos.

Se dedica una cantidad considerable de tiempo a las actividades de prueba y control de calidad. Los expertos e investigadores creen que entre el 20 y el 30 % del tiempo total de desarrollo se dedica a probar la aplicación; y del 40 al 50% del costo total de un proyecto se gasta en pruebas.

Además, los expertos y profesionales de la ciencia de datos a menudo se quejan de tener modelos de ciencia de datos listos para la producción, criterios de evaluación establecidos y plantillas establecidas para la generación de informes, pero no tienen equipos que los ayuden a probarlo. Esto libera el potencial de las pruebas en ciencia de datos como una opción profesional completa. (Lea también: La vida pospandémica en el mundo tecnológico se ve bastante bien).

Las pruebas se pueden implementar en la ciencia de datos en un contexto y un enfoque totalmente nuevos. Pero, para dichos sistemas, este nuevo telón de fondo consume incluso más tiempo, esfuerzo y dinero que los otros sistemas heredados disponibles.

Para comprender esta complejidad, primero debemos comprender la mecánica detrás de los sistemas de aprendizaje automático.

Cómo funcionan los sistemas de aprendizaje automático

En el aprendizaje automático (ML), los humanos alimentan el comportamiento deseado como ejemplos durante la fase de entrenamiento a través del conjunto de datos de entrenamiento y el proceso de optimización del modelo produce la justificación (o lógica) del sistema. (Lea también: Desacreditando los 4 mitos principales sobre el aprendizaje automático).

Pero lo que falta es un mecanismo para averiguar si esta lógica optimizada va a producir el comportamiento deseado de manera consistente.

Aquí es donde entran las pruebas.

Flujo de trabajo para probar sistemas de aprendizaje automático

Imagen del autor.

Por lo general, en el aprendizaje automático, para un modelo entrenado, se produce automáticamente un informe de evaluación basado en criterios establecidos que incluyen:

  • El rendimiento del modelo, en función de las métricas establecidas en el conjunto de datos de validación. Una métrica común es la Precisión o F1- Score, aunque también se utilizan muchas otras.
  • Una serie de parcelas, que representa cómo funcionan cosas como las curvas de recuperación de precisión y las curvas AUC-ROC. Esta matriz, de nuevo, no es exhaustiva.
  • los hiperparámetros utilizado para entrenar el modelo.

Según el informe de evaluación, los modelos que ofrecen una mejora sobre el modelo existente (o línea de base) mientras se ejecutan en el mismo conjunto de datos se promueven y se consideran para su inclusión final.

Al revisar varios modelos de ML, se inspeccionan las métricas y los gráficos que resumen el rendimiento del modelo en un conjunto de datos de validación. El rendimiento entre varios modelos se compara para emitir juicios relativos, pero el comportamiento adecuado del modelo no se puede caracterizar inmediatamente en función de esto.

Pongamos un ejemplo para entender.

Estudio de caso: un proyecto hipotético de ciencia de datos

Considere un proyecto en el que se utilizan datos de entrenamiento para desarrollar modelos. Se prueba el rendimiento de los modelos desarrollados sobre un conjunto de datos de validación y se generan informes de evaluación basados ​​en la precisión como métrica.

Aquí están los resultados:

tabla 1

Modelo

Precisión (%)
1 85
2 80
3 95.4
4 98.8
5 90.15

Entonces, ¿qué modelo es el mejor? Para determinar eso, tenemos que observar el comportamiento del modelo, lo que significa que la prueba del modelo se convierte en una prioridad.

Se recomienda crear pruebas de comportamiento para evaluar el modelo en cada una de sus capacidades identificadas y elegir el modelo que obtenga la puntuación más alta en términos de estas capacidades.

Por ejemplo, supongamos que se trata de un proyecto de análisis de sentimientos (NLP) y las capacidades posibles son vocabulario, lingüística, negación, reconocimiento de entidades nombradas (NER) y topicalización. Eso significa que el rendimiento del modelo debe probarse en cada una de estas capacidades, además de las métricas de evaluación y los gráficos/curvas.

Veamos la siguiente tabla para entender.

Tabla 2

Capacidades identificadas
Vocabulario
Lingüística
Negación
NER

Modelo

Puntuación basada en capacidades identificadas (%)

1

70

2

50

3

90

4

80

5

75

La tabla anterior muestra que, aunque el Modelo 4 fue el más alto en precisión (98,8 %), obtiene una puntuación más baja (80 % en términos de capacidades (lo que se traduce en consistencia del comportamiento). En cambio, el Modelo 3, que tiene menor precisión (95,4 %) pero se considera una puntuación de capacidad más alta (90 %) para una mayor implementación en producción.

Una vez más, la elección de modelos para su inclusión en función de la evaluación del modelo y la prueba del modelo requiere que ambas categorías de prueba sean simultáneas y estén coordinadas con las expectativas y necesidades de los clientes.

Esta es la esencia de las pruebas en la ciencia de datos, que ayuda a decidir qué modelo incluir en la producción y el despliegue finales.

Entonces, ¿qué sigue?

Una descripción general de las pruebas de aprendizaje automático

La panacea para esto es crear una cantidad suficiente de pruebas de comportamiento para el modelo en consideración, que debería poder proporcionar una cobertura del 100% en términos del software y la lógica optimizada de sus capacidades. Además, es recomendable agrupar estas pruebas bajo diferentes encabezados de capacidades para que no se pierda nada y pueda rastrear fácilmente su enfoque.

Las pruebas de software tradicionales tienen métricas como las líneas de código (LOC), las líneas de código de software (SLOC) o la complejidad de McCabe. Pero para los parámetros de un modelo de aprendizaje automático, se vuelve más difícil establecer métricas para la cobertura.

La única solución posible, en este contexto, es rastrear los logits y las capacidades del modelo, y cuantificar el área que cubre cada prueba alrededor de estas capas de salida, para todas las pruebas ejecutadas. Se debe capturar la trazabilidad completa entre los casos de prueba de comportamiento y el modelo logit y las capacidades.

Pero aún así, falta una convención bien establecida en toda la industria en este sentido. Y las pruebas para los sistemas de aprendizaje automático se encuentran en un estado tan inmaduro que los profesionales aún no se toman en serio la cobertura de las pruebas.

Los dos tipos principales de pruebas de aprendizaje automático

Teniendo en cuenta los escenarios anteriores, derivamos dos categorías amplias de pruebas en aplicaciones de aprendizaje automático.

  1. Evaluación del modeloque representa métricas y curvas/gráficos que definen explícitamente el rendimiento del modelo en un conjunto de datos de prueba o validación
  2. Pruebas de modelosque implica controles explícitos de los comportamientos que se espera que siga el modelo.

Para estos sistemas, la evaluación del modelo y la prueba del modelo deben ejecutarse en paralelo, ya que ambos son requisitos para construir modelos de alta calidad.

En la práctica, la mayoría de los expertos están haciendo una combinación de los dos, donde las métricas de evaluación se calculan automáticamente y algún nivel de «prueba» del modelo se realiza manualmente a través del proceso de análisis de errores (es decir, a través del análisis de modo de falla y efecto). Pero esto no es suficiente.

Los evaluadores que se lanzan al principio de la fase y desarrollan exhaustivamente pruebas modelo para sistemas de aprendizaje automático pueden ofrecer un enfoque sistemático, no solo para el análisis de errores, sino también para ayudar a lograr una cobertura completa y automatizar todo el enfoque.

Competencias requeridas para un equipo de pruebas de ciencia de datos

Un buen equipo de pruebas necesita validar los resultados del modelo para asegurarse de que funcione como se espera. El modelo seguirá cambiando a medida que surjan los requisitos del cliente, o se realicen cambios e implementaciones, pero cuanto más optimice el equipo el modelo, mejores serán los resultados. Este ciclo de perfeccionamiento y modificaciones continúa en función de las necesidades del cliente.

Por lo tanto, a continuación se encuentran los requisitos mínimos que debe poseer un equipo de pruebas de ciencia de datos (Lea también: 5 habilidades cruciales que se necesitan para implementaciones exitosas de IA).:

  1. Entender el modelo por dentro y por fuera. El equipo necesita conocer la estructura de datos, los parámetros y los esquemas. Esto es muy importante para validar los resultados y los resultados del modelo.
  2. Entender los parámetros con los que están trabajando. Los parámetros nos ayudan a saber qué hay en el conjunto de datos para ayudarnos a encontrar patrones y tendencias en función de las necesidades del cliente. El modelo es un enfoque impredecible de varios algoritmos que brindan información y resaltan los mejores resultados del conjunto de datos.
  3. Entendiendo cómo el algoritmos trabajar. El núcleo del desarrollo de modelos son los algoritmos, por lo que comprenderlos (y en qué circunstancias se pueden usar) es crucial.
  4. colaborando estrechamente. Trabajar juntos ayuda a un equipo de prueba a comprender mejor lo que cada uno de sus colegas está implementando para crear casos de prueba para cada característica. También ayuda a realizar pruebas exploratorias y pruebas de regresión en nuevas funciones sin desglosar el resto (es decir, romper los resultados de referencia). Esta es una forma de comprender cómo se comportan los parámetros del modelo con diferentes conjuntos de datos y ayuda a formar una entrada para producir planes de prueba.
  5. Saber si los resultados son precisos. Para validar los resultados del modelo, es importante establecer un umbral definido. Si los valores se desvían más allá del umbral, hay inexactitud. Algunas áreas de un modelo pueden ser aleatorias. Y, por lo tanto, para controlar tal aleatoriedad, o el nivel de desviación, se aplica un umbral. Esto significa que el resultado no es incorrecto siempre que esté dentro del porcentaje del límite del umbral.

Habilidades principales que todo probador de ciencia de datos debe tener

Si bien las competencias anteriores son importantes para un equipo de pruebas de ciencia de datos en general, cada probador debe poseer una serie de individual capacidades. (Lea también: Las 5 certificaciones de TI mejor pagadas y cómo obtenerlas).

Esto es lo que necesita un probador de ciencia de datos para «dar en el lugar correcto»:

Conclusión

Los sistemas de aprendizaje automático son complicados de probar porque los desarrolladores y evaluadores no escriben explícitamente la lógica del sistema (se genera a través de la optimización).

Los evaluadores pueden abordar este problema, ya que ya manejan grandes conjuntos de datos y saben cómo usarlos de manera óptima. Además, los evaluadores son expertos en analizar los datos de manera crítica y se preocupan menos por el código y más por los datos y el conocimiento del dominio. Todo esto ayuda a los probadores a adoptar convenientemente la ciencia de datos y el aprendizaje automático; para ellos, solo es cuestión de cambiar la palanca y ajustar el motor para una nueva ruta en su viaje en curso.

LEER
¿Los despidos de Coindesk se deben al invierno de las criptomonedas o a problemas de la industria?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba