Volver

Factores de éxito en el desarrollo de soluciones basadas en Inteligencia Artificial

Las soluciones y desarrollos disruptivos de la inteligencia artificial (IA) están rápidamente infiltrándose de manera integral en múltiples campos de las actividades humanas. Aunque las tecnologías y las aplicaciones de la IA se han estudiado ampliamente, la mayoría de las iniciativas y proyectos de IA en la industria fracasan. De acuerdo con una encuesta realizada por Alegion se estima que el 96% de los proyectos de IA no se culminan, mientras que Gartner estima que un 85% de los proyectos que involucran big data fracasan. Gran parte de este fenómeno se atribuye a un desconocimiento de las limitantes de estas tecnologías, expectativas demasiado altas, y procesos de desarrollo y producción improvisados. En este whitepaper les contamos cuales son los factores que determinan el éxito/fracaso del desarrollo de una solución basada en IA. 

Una de las definiciones más ampliamente aceptadas de IA fue la realizada por Raymond Kurzweil en 1990: “The art of creating machines that perform functions that require intelligence  when performed by people” [RK1990].  En términos generales la IA es el estudio y diseño de máquinas y sistemas, que desde la perspectiva de los seres humanos con los que interactúan, son “inteligentes”. Estas máquinas “inteligentes” están influyendo en múltiples aspectos de nuestro diario vivir ayudando a mejorar la eficiencia y aumentando las capacidades humanas [RI2020].  

De acuerdo con un informe reciente publicado por Statista [STA2020], el financiamiento de nuevas empresas en IA en el mundo paso de 5.81 mil millones de dólares en 2015 a 26.58 mil millones en 2019.  Es indiscutible que la IA es la fuerza motora de la mayoría de nuevos negocios de tecnología y el cerebro detrás de las industrias 4.0.   

Un crecimiento tan impresionante ha generado el potencial para atraer a grandes organizaciones y pequeñas empresas para que implementen e incluso desarrollen servicios habilitados por IA. Sin embargo, más allá de las expectativas, el desarrollo de servicios de IA requiere de personal calificado, datos de calidad etiquetados y procesos de desarrollo rigurosos. De acuerdo con una encuesta realizada por Alegion se estima que el 96%   de los proyectos de IA no se culminan [AL2020], mientras que Gartner estima que un 85% de los proyectos que involucran big data fracasan [HB2018]. 

Para entender los factores que inciden en el éxito o fracaso (los cuales presentaremos más adelante) es necesario primero exponer como en la actualidad se construyen estos sistemas. En un principio los sistemas de IA se basaban en reglas definidas de forma no automática por expertos que les permitían realizar inferencias sobre una tarea específica. Esto sin duda limitaba su aplicación a casos de uso simples o en aquellos que no requerían un gran conocimiento experto humano. Sin embargo, en los últimos 15-20 años se desarrollaron algoritmos denominados de aprendizaje de máquina (ML) que generan dichas reglas o patrones de forma automática a partir de datos. En lugar de codificar a mano las rutinas de software con un conjunto específico de instrucciones y reglas para realizar una tarea en particular, la máquina se “entrena” automáticamente usando grandes cantidades de datos mediante algoritmos que le dan la capacidad de aprender cómo realizar la tarea. Por supuesto que “aprende” la máquina y la capacidad de predictiva de los modelos resultantes viene dada por la calidad y la completitud de los datos usados. 

El aprendizaje profundo (DL) es un conjunto de métodos relativamente nuevo dentro del universo de ML. DL es una familia de algoritmos que implementa redes neuronales artificiales profundas (una red neural artificial es una representación matemática básica del funcionamiento de las neuronas humanas). Estas redes son tan grandes que se requieren nuevos métodos de cálculo, así como el uso de hardware más apropiado -como las unidades de procesamiento de gráficos (GPU)- para entrenarlas. Cuanto más grande es la red neuronal y más datos se pueden agregar, mejor es el rendimiento que puede proporcionar una red neuronal.  El aprendizaje profundo requiere tiempos de entrenamiento extensos, una gran cantidad de datos, requisitos de hardware específicos, y personal altamente capacitado. Los factores de éxito/fracaso de un proyecto de IA están relacionados en gran parte a los anteriores factores. 

Para poder dimensionar correctamente un sistema o producto de IA hemos identificado 4 factores de éxito (se podrían también interpretar como fracaso dado que su desconocimiento definitivamente podría desencadenar su fracaso): i) alinear las expectativas con las limitantes de los sistemas actuales de IA, ii) calidad y accesibilidad de los datos con que se presenten construir los modelos de IA, iii) desarrollo de producto/proyecto de IA como proyecto de software, y iv) planeación de costos de implementación y despliegue continuo.  

Factor de éxito #1: Alinear las expectativas con las capacidades actuales de los sistemas de IA.  

Estamos inundados de noticias sobre inteligencia artificial que muestran como un nuevo producto de IA logra hacer algo mucho mejor que los humanos.  La conducción automática de vehículos, vencer a los campeones mundiales de ajedrez/go/starcraft, y mejorar sustancialmente la detección de diversos tipos de cáncer, son algunos ejemplos de logros de IA recientemente desarrolladas.  

Estos ejemplos sin duda pueden llevar a creer al público en general, que no hay mucho que una inteligencia artificial no pueda hacer mejor que los humanos, o peor aún, que la brecha entre la inteligencia humana y la inteligencia artificial parece haberse diluido.  Sin embargo, es vital entender que, aunque existen IA que se desempeñan de manera excelente tareas específicas, están lejos aún de los niveles cognitivos humanos y su capacidad de aplicar su inteligencia a múltiples problemas.  

Mientras que claramente el traductor de Google soportado por algoritmos de IA tiene grandes capacidades para traducir 109 lenguajes diferentes y probablemente una mayor eficacia que un traductor humano, tiene capacidades nulas para cualquier otra tarea a la que se enfrente (por ejemplo, argumentar, identificar rostros, pintar, etc).  En otras palabras, los sistemas de IA son entrenados para realizar una única tarea y tienen capacidad de generalización muy limitada que le impiden aplicar su inteligencia a otros dominios.  Por el contrario, un humano, aunque a veces es menos competente en el desempeño de estas funciones, puede realizar un mucho más amplio conjunto de tareas que cualquiera de las aplicaciones de IA existentes. Además, nosotros, podemos generalizar mejor para aplicar los aprendizajes de una experiencia a otras experiencias similares. Una inteligencia artificial general (IAG) al nivel humano está aún lejos de ser alcanzada.  

Las expectativas de un proyecto de IA deben estar alineadas a estas limitantes. En primer lugar, debería enfocarse a una tarea específica bien definida que permita determinar claramente su alcance y los datos necesarios para su consecución (los datos son el segundo factor de éxito). En segundo lugar, no debe estar enfocada en el reemplazo de las capacidades humanas sino en su complemento. Las IA son muy efectivas, por ejemplo, eliminando las tareas repetitivas que distraen al valioso capital humano de las actividades de creación, planeación y decisión.   

Factor de éxito #2: Calidad y accesibilidad de datos  

Las soluciones de IA son tan buenas como los datos con los que fueron construidos. El proceso de captura y de datos no es un problema menor y requiere de un gran esfuerzo en recursos y tiempo.   

Para evidenciar su importancia usemos como ejemplo la tarea de reconocimiento facial. Aunque muchas IA han sido desarrolladas para esta tarea aún presentan problemas relacionados a la calidad de los datos y su accesibilidad. Es evidente que para la tarea genérica de reconocimiento facial 1:N (identificar una persona dentro de un grupo de tamaño N) se requiere fotografías de las caras del grupo interés. Estas fotografías/imágenes deben tener la calidad (calidad en términos de brillo, luminosidad, contraste, y nitidez) adecuada para ser correctamente incorporadas por los algoritmos de DL y en muchos casos para cada individuo se requieren más de una imagen para robustecer el modelo. Si queremos incluir a toda la población de Colombia, por ejemplo, y contemplando solo dos imágenes por individuo se necesitarían alrededor de 100 millones de imágenes. Estas imágenes deberían ser procesadas, filtradas y seleccionadas; un proceso que sin duda es dispendioso. 

En muchas ocasiones se inician los proyectos de IA sin el dimensionamiento de la data requerida, o contemplando datos que son incorrectos, incompletos, o sin la calidad requerida. El uso de datos “sucios” puede dar lugar a sesgos que pueden afectar gravemente un producto de IA.  Es bien conocido en reconocimiento facial, por ejemplo, el problema de sesgo demográfico que impide la correcta identificación de algunas razas por su ausencia o poco volumen en la data de entrenamiento. Lo anterior a dado lugar a demandas por racismo, discusiones de inclusión social e incluso el retiro de diversos productos de IA del mercado. En el whitepaper ¿Cómo enfrentar el sesgo demográfico en las tecnologías de reconocimiento facial? profundizamos en este tema. 

Sumado a lo anterior, existen muchas tareas que requieren de una actualización constante de los datos con los cuales son entrenados los modelos.  Una aplicación de IA robusta de reconocimiento facial incluiría una o múltiples estrategias para mantener actualizada su base de datos. De vuelta al ejemplo de reconocimiento facial, se debería definir periodos de actualización de las imágenes de una persona, así como protocolos que permitan la entrada de nuevos individuos. Estas estrategias de actualización de data se deben empezar a consolidar en etapas tempranas del diseño de la solución de IA. 

Finalmente, y no menos importante, es contemplar los aspectos de privacidad y éticos de la información usada. Cada país tiene su propia jurisprudencia respecto al tratamiento de datos personales y los requerimientos legales para su uso (para Colombia puedes leer nuestro whitepaper “Tratamiento de datos personales y sensibles en Colombia”). De entrada, un proyecto de IA puede verse frustrado por las regulaciones locales que rigen la data que es capturada o que se quiere emplear para la construcción de los modelos. Este aspecto también debe contemplarse en etapas tempranas de cualquier desarrollo o producto de IA que tenga como expectativa salir a un determinado mercado.  

Factor de éxito #3: Un producto/proyecto de IA es un proyecto de software 

Los modelos de IA en ambientes productivos son, en realidad, una pequeña parte de un sistema/aplicación mucho más amplia. El despliegue y puesta en funcionamiento de un modelo de IA no es otra cosa que un proyecto de software y es tan importante como el modelo en sí.   

Generalmente los modelos de IA se deben integrar a sistemas de software para que puedan interactuar con el usuario final. Una experiencia de usuario exitosa depende no solo de la precisión del modelo si no de la presentación del sistema, la infraestructura que lo soporta y la garantía de una disponibilidad continua. Se debe construir un entorno en el que el software y el hardware funcionen a la perfección, de modo que una empresa/usuarios puedan confiar en él para ejecutar sus operaciones en los tiempos requeridos. 

Como cualquier proyecto de software se deben garantizar la disponibilidad de los servicios de IA así como la flexibilidad para su actualización continua sin afectar la operación. Las actualizaciones de datos y modelos deben realizarse a intervalos regulares y gestionarse de manera organizada. Sin entrar en otros aspectos como seguridad, infraestructura y documentación, es claro que se requiere contemplar los modelos de IA en conjunto con los aspectos de software requeridos para su disposición y consumo.  Muchos expertos comparten la visión de “desarrollo de producto de IA = proyecto de software”. 

Factor de éxito #4: Planeación de costos 

El costo de implementación, tanto a nivel de tiempo como monetario, es un factor muy importante en la planeación de proyectos de IA. Las empresas que carecen de habilidades internas o no están familiarizadas con los sistemas de IA, suelen subestimar los costos de entrenamiento, implementación y despliegue.  

Para entrenar modelos modernos de IA de manera eficiente, es necesario hardware especializado, generalmente en forma de unidades de procesamiento de gráficos (GPU). En la actualidad, una instancia bajo demanda equipada con una GPU NVidia V100 en un proveedor en cloud como Amazon cuesta aproximadamente $ 26,000 USD por año. Esto sin contar software especializado que permite gestionar el desarrollo de modelos IA y el uso de la GPUs (por ejemplo AWS Sagemaker). 

Una vez superados los costos asociados al entrenamiento de los modelos, están los costos de almacenamiento y disposición de la data. Dado los volúmenes que se manejan hoy en día un data set de entrenamiento puede medirse fácilmente en términos de terabytes. La manipulación y gestión de esa data en un ambiente Cloud puede costar varios cientos de dólares al mes. Finalmente desconocer el Factor #3 presentado anteriormente, puede ocasionar una mala planeación de costos a nivel de personal de desarrollo, infraestructura de ambientes y despliegue; costos típicos de un proyecto de software.  

Conclusión 

Mas allá de las altas expectativas que ha generado y sigue generando la IA, se deben conocer sus limitaciones e implicaciones para realizar una correcta planeación del desarrollo de productos que involucren estas tecnologías. En este articulo presentamos cuatro factores claves de éxito en la construcción de soluciones basadas en IA:  i) alinear las expectativas con las limitantes de los sistemas actuales de IA, ii) calidad y accesibilidad de los datos con que se presenten construir los modelos de IA, iii) desarrollo de producto de IA como proyecto de software, y iv) planeación de costos de implementación y despliegue continuo. El no contemplar estos factores desde la fase de diseño y a lo largo de la ejecución de este podría repercutir negativamente en las posibilidades de éxito.  

Rubén Manrique  

Bibliografía 

[IBM2018] Daelemans W. (2018). Beyond the hype: A guide to understanding and successfully implementing artificial intelligence within your business. 

[RK1990] Kurzweil, R. (1990). The Age of Intelligent Machines. MIT Press, Cambridge, MA, USA. 

[RI2020] reconoSER ID. (2020). Inteligencia artificial y su impacto en la verificación de identidad. Revisado Septiembre 2020 (https://reconoserid.com/stagingv3/inteligencia-artificial-y-su-impacto-en-la-verificacion-de-identidad/)

[STA2020] Statista. (2020). Funding of artificial intelligence (AI) startup companies worldwide from 2014 to 2019. Revisado Septiembre 2020. 

[HB2018] Harvard Business Review. (2018). How to Make an AI Project More Likely to Succeed. Revisado Septiembre 2020. (https://hbr.org/2018/07/how-to-make-an-ai-project-more-likely-to-succeed). 

[AL2020] Alegion. (2020). Dimensional Research and Alegion survey. Revisado Septiembre 2020. (https://content.alegion.com/dimensional-researchs-survey).