En el mundo del desarrollo de software comercial, los inversores y gestores necesitan conocer el calendario y los resultados esperados antes de iniciar cualquier proyecto. Esta información les ayuda a determinar el presupuesto, el posible retorno de la inversión y, finalmente, si merece la pena gastar dinero en el proyecto.
Hay multitud de técnicas para realizar estimaciones iniciales para empresas de ingeniería de software, y uno puede pensar que ya se ha dicho todo. Pero los proyectos de Inteligencia Artificial requieren un tratamiento ligeramente diferente, tanto para las estimaciones como para la gestión del proyecto.
Todavía no hay consenso sobre el enfoque “correcto” de los proyectos de Inteligencia Artificial. Tampoco se pueden encontrar modelos de estimación acordados y aprobados o puntos de referencias específicos para los costes y la duración de los proyectos de Inteligencia Artificial.
Hay muchas orientaciones sobre la duración del desarrollo informático normal, pero muchas de ellas se centran en la actividad para obtener los requisitos de los usuarios para crear diseños técnicos y escribir código. Hay mucha menos ayuda para el trabajo más desestructurado que constituye el núcleo del trabajo de Inteligencia Artificial, como el procesamiento de datos, la evaluación de algoritmos y el tratamiento de datos de entrenamiento.
Por ahora, la estimación de las partes no tradicionales del trabajo de Inteligencia Artificial suele basarse más en la experiencia y las expectativas personales que en algo más objetivo.
¿En qué se diferencia un proyecto de Inteligencia Artificial de los proyectos tradicionales?
La gestión de proyecto de Inteligencia Artificial requiere un enfoque diferente cuando se establecen paralelismos entre ellos y la gestión de proyectos de aplicaciones móviles tradicionales. Es decir, las diferencias entre los proyectos de Inteligencia Artificial y los proyectos tradicionales de TI son múltiples.
El proceso tradicional de desarrollo de aplicaciones móviles es una solución especificada. Cuando resulta difícil especificar una solución, los resultados se vuelven inciertos y arriesgados. Este tipo de desarrollo entra dentro de la programación descendente.
Por el contrario, en el caso de la “prueba de valor” de los proyectos de Inteligencia Artificial, se sigue un enfoque ascendente. En ese caso, la Inteligencia Artificial saca conclusiones a partir de sus propias reglas y procesos de trabajo con un amplio conjunto de datos.
El panorama del desarrollo de la Inteligencia Artificial también tiende a abrir varias oportunidades a medida que el ciclo madura. Es decir, para que un proyecto se considere completo, tiene que atravesar varias etapas de exploración y aciertos y pruebas. Aunque el resultado de este enfoque casi siempre es favorable a los ingresos, a menudo conlleva un alto coste de desarrollo y unos plazos de desarrollo prolongados.
La última parte de la cuestión sobre cómo gestionar los proyectos de Inteligencia Artificial reside en hacer de la gestión del cambio una parte integral del proceso ágil. El principio con el que suelen trabajar los gestores de programas de Inteligencia Artificial es el de “fallar rápido”, en el que la idea es explorar de forma expeditiva y fallar justo al principio de un planteamiento erróneo, en lugar de hacerlo en una fase posterior del proceso de desarrollo.
Estimaciones y resultados en proyectos de Inteligencia Artificial
Los ingenieros de software con experiencia pueden proporcionar una estimación bastante precisa del tiempo necesario para entregar cada parte de la aplicación. Ya han realizado tareas similares en múltiples ocasiones, por lo que pueden definir los resultados y el intervalo de tiempo con una incertidumbre relativamente baja.
Por su parte, los Científicos de Datos experimentados también han construido muchos modelos de Machine Learning que dan como resultado un 90% de respuesta correctas. Sin embargo, si se les pregunta cuánto tiempo necesitan para desarrollar un producto similar que reconozca correctamente el 90% los datos a predecir, tendrán dificultades para responder. Es más, no estarán seguros de poder alcanzar el 90% de respuestas correctas.
¿Por qué es difícil estimar los proyectos de Inteligencia Artificial?
En primer lugar, se puede tener un modelo perfecto que funcionó muy bien para una tarea relacionada, pero que no funciona igual para datos nuevos pero similares. Este fenómeno implica la necesidad de abordar cada problema y conjunto de datos por separado.
En segundo lugar, un proyecto de Machine Learning requiere datos para el procedimiento de entrenamiento, y la calidad de los datos determina en gran medida la calidad de la solución final. Por lo tanto, es imposible proporcionar estimaciones sobre el tiempo y los resultados, incluso sin tener una breve visión general de los datos.
¿Por qué fracasan los proyectos de Inteligencia Artificial?
Si nos sentamos a hacer una lista de los retos a los que se enfrentan las empresas al implementar la Inteligencia Artificial, la lista será muy extensa. Por ejemplo, la falta de un método de Machine Learning adecuado y la planificación a largo plazo.
El primero puede abordarse realizando un breve estudio de viabilidad antes de iniciar el proyecto. El estudio de viabilidad ayuda a estableces expectativas y plazos razonables hacia los objetivos finales y a evaluar la calidad de los datos. Además, los Científicos de Datos pueden comprender mejor el ámbito empresarial y preseleccionar los métodos de Inteligencia Artificial potencialmente aplicables. Si ningún método cumple los criterios de la empresa, puede aparecer la necesidad de investigar, que es otro riesgo a tener en cuenta. Los empresarios pueden evaluar el resultado de este paso para tomar la decisión correcta respecto al lanzamiento del proyecto.
La planificación debe ser a costo plazo y métricas bien definidas que sean comprensibles tanto para los Científicos de Datos como para la empresa. La comunicación y el entendimiento compartido es la clave, ya que ayuda a reaccionar rápidamente, a hacer un seguimiento del proyecto y a ajustar la dirección si hay necesidad de cambio.
Adicional a todo esto, hay otras dos causas más que pueden hacer fracasar un proyecto: las expectativas desajustadas y la insuficiente capacidad de gestión de datos.
En la mayoría de los casos, la mayoría de los proyectos de Inteligencia artificial no ven la luz del día debido a la desalineación adjunto en las expectativas. La causa principal de los retos de la Inteligencia Artificial en las empresas suele surgir debido a las elevadas expectativas a corto plazo de una tecnología que opera intrínsecamente a largo plazo.
El siguiente ejemplo de las expectativas desajustadas puede verse en las empresas que asumen que su solución basada en la Inteligencia Artificial será lo suficientemente precisa para satisfacer las diferentes percepciones de los usuarios. Por ejemplo, en el caso de una aplicación de streaming de música, suponer que la “próxima canción” que su Inteligencia Artificial sugiere es exactamente la que el usuario cree que pertenece al género es un área problemática. Esta es la razón por la que las empresas suelen utilizar la palabra “puede” cuando presentan productos o servicios en los que sus podrían estar interesados, a continuación.
En cuanto a la gestión ineficaz de los datos, la Inteligencia Artificial tiende a tomar decisiones erróneas sobre la base de conjuntos de datos equivocados. El problema en las soluciones de gestión de proyectos de Inteligencia Artificial surge cuando los datos son incorrectos o incompletos, en definitiva, no están preparados para encajar en el modelo.
Para que un sistema de Inteligencia Artificial funcione como se espera, es necesario contar con datos refinados que el sistema pueda utilizar para aprender y analizar patrones. Cuando construimos un conjunto de datos preparado para la Inteligencia Artificial, nos centramos principalmente en dividir la información estructurada y no estructurada siguiendo la estrategia moderna de recogida de datos.
Los problemas de calidad de los datos y la posible falta de un método de vanguardia, que requiere la realización de una investigación, son factores que normalmente no se consideran riesgos en la ingeniería de software. La planificación a corto plazo también puede aparecer en otros contextos. Aún así, los proyectos de Inteligencia Artificial se basan en la experimentación, y un solo experimento depende de los resultados del anterior.
Con esto finalizamos la explicación. Ya conoces qué debes considerar para planificar tu proyecto de Inteligencia Artificial, por lo tanto te dejo la siguiente pregunta, ¿Cuáles de las siguientes afirmaciones crees tú que sea cierta?
Opción 1: Hay consenso sobre el enfoque “correcto” de los proyectos de Inteligencia Artificial.
Respuesta Incorrecta. Todavía no hay consenso sobre el enfoque “correcto” de los proyectos de Inteligencia Artificial.
Opción 2: Un modelo desarrollado para un proyecto puede servir perfectamente para otro modelo.
Respuesta Incorrecta. Se puede tener un modelo perfecto que funcionó muy bien para una tarea relacionada, pero que no funciona igual para datos nuevos pero similares.
Opción 3: Se puede tener éxito en un proyecto de Inteligencia Artificial cuando se tienen expectativas muy elevadas.
Respuesta Incorrecta. La mayoría de los proyectos de Inteligencia artificial no ven la luz del día debido a la desalineación adjunto en las expectativas.
Hola, gracias por el artículo. Me queda la duda si se puede establecer una metodología end to end para el desarrollo de un modelo en producción de ML. Si existe algún curso o diplomado. Gracias
Hola Francisco, los modelos de Machine Learning se pueden implementar de manera offline u online, normalmente es offline, porque es más económica. Por otra parte, la gran mayoría de los cursos se enfocan en el desarrollo de los modelos que en la implementación. Saludos.
Una duda que espero pueda solucionarme, ¿cuánto dura un proyecto de Machine Learning? Sé que la pregunta es compleja porque depende del proyecto y de las personas involucradas. Pero supongamos que hablamos de un proyecto básico (por ejemplo un churn model para predecir la fuga de clientes) con un data scientist a cargo dedicado en exclusividad y un acceso a los datos de la empresa razonablemente bueno. ¿Qué duración aproximada podría tener lanzar un proyecto así desde cero hasta su puesta en producción? Gracias.
Hola Javier, esta es una pregunta muy difícil para responder, depende de muchos factores, primero la experiencia del profesional en estos proyectos, después la cantidad de datos y cómo se encuentran, son datos limpios o sucios, se plantea como un proyecto sencillo en donde solamente se presentará la información o se tomará la misma para alimentar otros procesos. Estas son solamente unas pocos dudas que pueden surgir y de todo esto depende el tiempo que puede tardar el proyecto. Saludos.