
¿Qué significan los datos para Summan?
abril 22, 2023Machine Learning automatizado: El presente y futuro de los proyectos de ciencia datos.
Cada vez más las compañías en todos los sectores tienen una mayor demanda de hacer uso de la ciencia de datos e implementar modelos analíticos que les permitan optimizar sus procesos e inversiones. Desafortunadamente, la ejecución de proyectos de Machine Learning (ML), al ser un proceso complejo, suele ser muy demandante tanto en tiempo como en personal altamente calificado, implicando un elevado costo para las compañías, lo cual solo ha permitido que un pequeño número de empresas ejecuten a cabalidad este tipo de proyectos. Con el objetivo de cubrir esta brecha, se empezaron a desarrollar metodologías que automatizan algunas etapas del desarrollo de modelos de ML, así nace una nueva área conocida como Automated Machine Learning (autoML), la cual, permite reducir los tiempos de desarrollo, a su vez que democratiza el uso de ML a mas personas, gracias a que simplifica todo el proceso.
En este post veremos, las etapas involucradas en el desarrollo de un modelo de ML, aclararemos cuales de estas etapas pueden ser automatizadas usando autoML y presentaremos las herramientas disponibles, tanto libres como de pago.
Machine Learning
Machine Learning is a field of study that gives computers the ability to learn without being explicitly programmed.
(Machine Learning es un campo de estudio que da a los computadores la habilidad de aprender sin necesidad de ser explícitamente programados) Arthur Samuel, 1959
Los modelos de ML han demostrado ser muy exitosos para realizar análisis y predicciones que aumentan la eficiencia en las compañías, ya que, implementados por personas con experiencia se logran identificar patrones dentro de los datos y hacer predicciones con alta precisión.
Es importante resaltar que, para obtener una solución analitica en el mundo real, usando modelos de ML, el proyecto implica varias etapas que van más allá del solo desarrollo del modelo. En la figura 1 se puede ver que las etapas que componen una solución completa de ciencia de datos usando modelos de ML son bastantes y van desde la captura y preprocesamiento de los datos, pasando por la selección y entrenamiento del mejor algoritmo, hasta llevar a un despliegue del modelo donde la solución puesta en producción y los resultados puedan ser consultados fácilmente.
Entendiendo en detalle cada una de las etapas necesarias para ejecutar un proyecto de ciencia de datos usando ML, podemos decir que la única etapa que los algoritmos tradicionales de ML son capaces de ejecutar sin necesidad de ser explícitamente programados, es el entrenamiento del modelo, todas la demás etapas requieren intervención directa de los investigadores, ya que, es un procesamiento manual, por lo tanto, se quedan por fuera de dicha automatización. Lo cual nos lleva a concluir que, contrario a la definición hecha por Arthur Samuel, para desarrollar modelos de machine learning si es necesario que los computadores sean explícitamente programados.
Así las cosas, para tener éxito en una solución de este tipo, se requiere personal experto en el área del problema, además de expertos en programación y muchas horas de trabajo para obtener la mejor solución, teniendo como consecuencia grandes costos asociados y largos tiempos de implementación.
Por otro lado, los algoritmos de autoML tienen la capacidad de automatizar varias de las etapas del proceso, particularmente las que se muestran sombreadas en la figura 1. Entre las que se encuentran la selección de características, pre-procesamiento de características, construcción de características, partición del dataset, selección del algoritmo, selección de hiperparámetros, entrenamiento y evaluación del modelo. Por tanto, la implementación de metodologías de autoML permite reducir el tiempo de implementación de las soluciones, y disminuir la demanda de personal, lo cual facilita que los expertos inviertan mejor su tiempo en desarrollar una mejor solución del problema.
Herramientas de autoML
En el mercado existe una gran variedad de compañías y proyectos académicos que se han encargado de desarrollar soluciones de autoML, en la figura 2 podemos ver algunas de ellas.
Existen soluciones de software libre como H2O.ai, TPOT, AutoKeras y AutoML.org que han liberado sus APIs y se puede interactuar con los modelos desarrollados por ellos a través de diferentes lenguajes de programación como Python, R o Java.
Por otro lado, están también otro grupo de soluciones disponibles en las nubes más populares, como Amazon Web services (AWS), Google Cloud Platform (GCP) y Azure.
Por último, se encuentra un conjunto de herramientas desarrolladas exclusivamente para implementar soluciones completas de autoML, allí se destacan DriverlessAI, la cual pertenece a H2O.ai, DataRobot y dataiku. Estas herramientas se caracterizan por incluir una interfaz gráfica interactiva y amigable con el usuario, visualización de variables relevantes dentro del dataset, un wizard que permite la selección y afinación de los modelos y finalmente, algunas de ellas como valor agregado entregan una sencilla disponibilización de los modelos.
Conclusión
Vale la pena recalcar que el objetivo de autoML no es reemplazar los científicos de datos dentro de las compañías, sino potencializar sus capacidades. Esto, ayuda a una administración más óptima y eficiente del personal de analítica, permitiéndoles enfocarse en el análisis y solución de los problemas y no en las labores repetitivas y desgastantes de la ciencia de datos.
Además, existe una amplia gama de herramientas de aplicación de autoML, que se pueden ajustar a las diferentes capacidades y necesidades de los equipos, así como a los presupuestos de las compañías.
Podemos concluir entonces que, bajo la luz de la industria moderna, donde hay una alta necesidad de producción de modelos analiticos en las compañías, se hace imperativo el uso de metodologías y algoritmos de autoML para reducir los costos y agilizar los procesos de desarrollo.
En Summan hemos desarrollado una alianza con H2O.ai, para comercializar y prestar servicios profesionales sobre DriverlessAI. Si quieres conocer más de esta herramienta, no te pierdas nuestro siguiente post DriverlessAI: la herramienta ideal para implementar proyectos de Machine Learning.
Juan David Botero
Científico de Datos