Cómo comparar soluciones de aprendizaje automático de manera efectiva

Comparar soluciones de aprendizaje automático de manera efectiva

Imagen creada con Midjourney por el autor.

Aumentando las posibilidades de llevar un modelo a producción

Cuando evalúas y comparas soluciones de aprendizaje automático, lo más probable es que tu primera métrica de evaluación sea el poder predictivo. Es fácil comparar diferentes modelos con una sola métrica, y esto está perfectamente bien en competiciones de Kaggle. En la vida real, la situación es diferente. Imagina dos modelos: un modelo que utiliza 100 características y una arquitectura compleja, y un modelo que utiliza 10 características y XGBoost. El modelo complejo tiene un puntaje ligeramente mejor que el modelo de XGBoost. En este caso, ¿elegirías el modelo de mejor rendimiento o el más fácil?

Esta publicación te dará una visión general de los diferentes factores que puedes tener en cuenta al comparar diferentes soluciones de aprendizaje automático. Con un ejemplo, te mostraré cómo comparar modelos de una manera mejor que utilizando solo el poder predictivo. ¡Vamos allá!

Además de los resultados de predicción, hay varios otros factores importantes a considerar al comparar prototipos de aprendizaje automático. Estos factores proporcionan información valiosa sobre la idoneidad y efectividad general de los modelos en escenarios de la vida real. Al centrarte no solo en el poder predictivo, tus posibilidades de llevar tu solución de aprendizaje automático a producción aumentarán.

Los factores se agrupan en cuatro categorías: mantenimiento, complejidad de implementación, costos y requisitos empresariales. Desde el principio, el equipo del proyecto debe decidir qué factores son importantes para el proyecto. Durante la creación de las soluciones de prototipo, los desarrolladores pueden tomar notas sobre los diferentes factores.

Mantenimiento

¿Qué tan difícil es recolectar datos o realizar ingeniería de características? ¿Utilizas muchas bibliotecas diferentes y el modelo es sensible a la optimización de parámetros? ¿El proyecto utiliza API estándar que se pueden colocar en una canalización? Estos aspectos hacen que una solución sea más fácil o más difícil de mantener.

Si tus datos provienen de muchas fuentes internas y externas diferentes, esto presenta una desventaja en comparación con una solución que se basa únicamente en los datos internos de la empresa. La razón es que no puedes confiar completamente en las fuentes externas para que permanezcan sin cambios, y cualquier alteración o actualización en esas fuentes requeriría refactorizar o ajustar tu solución. Este es un ejemplo de un problema de mantenimiento que puede surgir.

Otra parte de la mantenibilidad es el monitoreo. Esto implica realizar un seguimiento de las métricas, detectar anomalías o degradación en el rendimiento y solucionar problemas que puedan surgir. Algunos modelos proporcionan capacidades de monitoreo y depuración robustas. Esto puede ser una ventaja sobre otros modelos.

Complejidad de implementación

La complejidad de implementación mide la dificultad y el esfuerzo necesario para implementar un modelo en un sistema de producción. Se tienen en cuenta factores como la disponibilidad de las bibliotecas necesarias, la complejidad de la arquitectura del modelo y la compatibilidad con la infraestructura existente. Un modelo que sea fácil de implementar e integrar en los sistemas existentes puede ahorrar tiempo y recursos valiosos durante la fase de implementación.

Otro factor que puede influir en la complejidad de implementación es la familiaridad con el enfoque. Elegir un modelo que se alinee con las habilidades del equipo puede tener un impacto significativo en el cronograma de desarrollo.

Estructura de carretera compleja. Foto de Timo Volz en Unsplash

Costos

Es fácil desarrollar un modelo que cueste mucho dinero. Los costos son un factor importante para casi cualquier empresa. Si necesitas una licencia costosa para una solución determinada, debes poder justificar por qué esa licencia vale la pena.

Puedes gastar dinero en adquisición de datos, almacenamiento de datos, (re)entrenamiento, inferencia o licencias y suscripciones. También los recursos para desarrollar la solución tienen un costo determinado. Haciendo una estimación educada de estos costos por adelantado para cada solución, se convierte en otro factor para comparar soluciones.

Si los costos superan el presupuesto (o el valor que el modelo aportará), debes reconsiderar el enfoque. También puede ser el caso de que dos soluciones obtengan la misma puntuación en todos los factores excepto los costos. En ese caso, la elección es fácil, la solución más barata es la mejor.

Requisitos empresariales

Por último, pero no menos importante, están los requisitos del negocio. Pueden presentarse en muchas formas; aquí hay algunos comunes:

  • Interpretabilidad: Ser capaz de entender y explicar predicciones específicas es una parte vital de algunos procesos empresariales. En ese caso, un modelo que sea fácil de explicar puede ser de mayor importancia que el poder predictivo. Si la interpretabilidad es importante, debes intentar mantener el modelo simple. Puedes experimentar con diferentes técnicas de interpretación y evaluar qué tan fácil es usar la técnica junto con el modelo.
  • Tiempo de lanzamiento: En industrias competitivas o al abordar oportunidades sensibles al tiempo, la rapidez con la que se puede desarrollar y desplegar el modelo puede ser un requisito empresarial crítico. Minimizar el tiempo de lanzamiento puede ser esencial para obtener una ventaja competitiva. Los modelos que se pueden desarrollar y desplegar rápidamente, con iteraciones mínimas o pasos de preprocesamiento complejos, pueden ser ventajosos en tales escenarios.
  • Cumplimiento normativo: Ciertas industrias, como finanzas, salud y seguros, tienen regulaciones estrictas y estándares de cumplimiento. Los requisitos empresariales pueden incluir garantizar que los modelos seleccionados cumplan con estas regulaciones, como las leyes de privacidad de datos (por ejemplo, GDPR), pautas específicas de la industria o consideraciones éticas. Los modelos deben cumplir con las regulaciones relevantes para evitar riesgos legales y de reputación.
  • Inferencia en tiempo real: Algunas aplicaciones requieren predicciones en tiempo real (o casi en tiempo real), donde las decisiones deben tomarse dentro de límites de tiempo estrictos. Los requisitos empresariales pueden especificar la necesidad de modelos con baja latencia que puedan procesar rápidamente los datos entrantes y generar predicciones en tiempo real. Los modelos que ofrecen capacidades eficientes de inferencia en tiempo real son cruciales para aplicaciones sensibles al tiempo como la detección de fraudes o sistemas de recomendación.

Comparación de prototipos

Después de conocer los diferentes factores que pueden desempeñar un papel importante en la evaluación y comparación de soluciones, tu próxima pregunta puede ser cómo comparar estos factores.

Eso no tiene por qué ser complicado. Primero, el equipo determina los factores más importantes para el caso de uso. Digamos que quieren centrarse en el poder predictivo, la recolección de datos, la complejidad general de implementación, los costos de entrenamiento y la interpretabilidad.

Durante la creación del prototipo, todos toman notas sobre estos 5 temas. Al final, puedes completar una matriz similar a la siguiente:

Comparación de prototipos. Imagen del autor.

En la parte superior están los factores determinados por el equipo. En el lado izquierdo están los cuatro prototipos en la comparación. El significado de los puntos es el siguiente: cuanto más grande sea el punto, mayor será el impacto. El color del punto significa positivo (verde), neutral (gris) o negativo (rojo). Por lo tanto, el poder predictivo es muy bueno para el prototipo 1, 3 y 4, y está bien para el prototipo 2. La recolección de datos está bien para el prototipo 1 y 2, muy difícil para el prototipo 3 y también un poco difícil para el prototipo 4.

Este es solo un ejemplo, es perfectamente válido crear tu propio método de comparación. Puedes decidir cuantificar las puntuaciones en lugar de usar los puntos. Lo bueno de este método es que te brinda una visión clara y una comprensión directa sobre el prototipo con el que debes continuar, que es el prototipo 1. También puedes considerar el prototipo 3, pero ese tiene una parte de recolección de datos difícil.

Conclusión

Al comparar prototipos para un caso de uso de la manera descrita en esta publicación, ¡seguramente aumentarás tus posibilidades de llegar a la producción! Se vuelve fácil justificar por qué elegiste un método determinado ante cualquier persona de la empresa.

Es útil discutir los factores de evaluación importantes con otros miembros del proyecto desde el principio, para asegurarse de que todos estén en la misma página. La complejidad de implementación, el mantenimiento, los costos y los requisitos empresariales son difíciles de ignorar en la mayoría de los proyectos. Al centrarte solo en el poder predictivo, puedes pasar por alto las complejidades que surgirán más adelante. Durante la creación del prototipo, puedes tomar notas sobre los criterios y discutirlo con el equipo al momento de la evaluación, para elegir el prototipo que tenga más probabilidades de tener éxito.

Simplifica tus proyectos de aprendizaje automático

Por qué gastar mucho tiempo y esfuerzo en un modelo complejo es una mala idea y qué hacer en su lugar

towardsdatascience.com

Métodos agnósticos de modelo para interpretar cualquier modelo de aprendizaje automático

Una visión general de los métodos de interpretación: importancia de características por permutación, gráficos de dependencia parcial, LIME, SHAP y más.

towardsdatascience.com

Estos son los pasos que necesitas seguir para crear un buen producto de ciencia de datos

Desde el problema hasta la producción.

towardsdatascience.com