Cuánto cuesta la IA

Cuánto cuesta la IA

Le he pedido a DALL-E que me genere un autoretrato de una IA, para este post, y el resultado es la imagen que encabeza el artículo... un poco rara, la verdad, mezcla de pensador con maniquí, pero es lo que me ha generado sin mucha "ingeniería de prompts", como lo llaman ahora. Es lo único que le he pedido a una IA para este artículo, por otro lado.

Ponme un poquito de IA y Blockchain

Nos pasa a menudo, hablando con potenciales clientes, que cuando se lanzan a realizar un proyecto de desarrollo a medida, una nueva plataforma, una solución a un problema de sus clientes, con tecnología, inevitablemente sacan en la conversación las últimas modas que haya en el momento y quieren integrarlas en ese nuevo desarrollo que están planteando.

Como dice el gran César Astudillo en esta charla con Ion Cuervas-Mons para el Podcast Intercambio Iónico (tiene muy buena pinta el podcast, también), innovar no es "echar salsas californianas". Para entender la referencia, casi mejor escucharle a él:

Charla con César Astudillo para el Podcast Intercambio Iónico

Pero es normal, que esto pase, en cierto modo los propios medios de comunicación y cada uno de nosotros, cuando surge una nueva tecnología disruptiva, hacemos altavoz de la misma, solo hay que ver lo que ha pasado desde finales de año pasado con ChatGPT, sería muy raro encontrar a alguien que no sepa lo que es, y es relativamente reciente. Es normal que las empresas, al ver esto, tengan la sensación de necesitar subirse a la ola para estar al día, no quieres ser la empresa que sigue fabricando carretas cuando la empresa de al lado está fabricando ya coches.

Ojo, es innegable que la Inteligencia Artificial va a suponer un antes y un después a nivel tecnológico y, es más que probable, para la humanidad en general, y el Blockchain es también una tecnología que ha facilitado soluciones hasta ahora imposibles, para determinados problemas, pero hay que entender muy bien el contexto y los detalles de los que se está hablando, antes de plantearse usar una de estas tecnologías para resolver un problema concreto.

Quitarnos antes los Excels

El Excel es una maravilla, eh, en parte prueba de ello es lo extendido que está y la cantidad de perfiles diferentes que lo utilizan en su día a día. Excel es una herramienta perfecta como hoja de cálculo, para filtrar y procesar datos puntuales pero se utiliza para infinidad de cosas para las que no se necesita, se siguen enviando por correos revisiones "versión 4", "versión DEF (definitiva)", se copian en un Drive, se usan para gestión de tareas, dashboards de información que debería estar compartida entre equipos, se crean silos en definitiva, islas de información, cada una manejando su Excel.

Con todo esto quiero decir, que antes de plantearnos la introducción de las últimas tecnologías, quizá sea más fácil y productivo introducir las penúltimas.

El motivo fundamental que hace necesaria la innovación en un proyecto, raramente es tecnológico.

Suele ser más una maraña de indefiniciones, de falta de procesos claros, o revisión de los mismos, ausencia de foco, diseño y análisis, mucho antes que un problema tecnológico. Luego, obviamente, hecho todo lo anterior, hay que apoyarse en la tecnología, que para eso está, y que la misma nos sustente el proyecto que hayamos planteado, pero el orden debería ser ese. La primera línea en nuestra página, aparte de Tecnología para Humanos, dice Tu nos cuentas tu idea y nosotros desarrollamos la arquitectura tecnológica que la sustente, y es precisamente por eso, nosotros te ayudamos a conceptualizar esa idea, a realizar toda esa investigación, análisis y diseño previo y, posteriormente, planteamos la arquitectura tecnológica que lo sustente.

Vale, pero yo quiero mi IA

Venga, 612 palabras después (hay un contador en el editor que uso, no es que sea un ultra-friki de contar palabras), vamos a ver opciones si unx quiere meter IA en su proyecto si o si, y de qué rangos económicos podemos estar hablando.

Usar IA de terceros

Esto, en realidad, va a ser lo más habitual y casi hasta diría que lo más recomendable en la mayoría de los casos con los que nosotros hablamos. Usar algún sistema de Inteligencia Artificial de una compañía, IA como servicio, por ejemplo, para integrar algún servicio de chat inteligente (chatbot), aquí hay múltiples alternativas y los sistemas tradicionales de soporte al usuario, como Intercom, ya están anunciando sus chatbots con Inteligencia Artificial (FIN en el caso de Intercom: https://www.intercom.com/fin ). Esto, en general, será relativamente económico, hay chatbots gratuitos para poco uso, pero crece exponencialmente con la cantidad de interacciones que tengamos (por ejemplo https://snatchbot.me/pricing son 99$ al mes por 10.000 mensajes y luego $0.0099 por mensaje adicional).

Dentro de Plataformas como Google Cloud, tenemos multitud de opciones para integrar IA desarrollada por ellos, puntualmente en nuestros proyectos, como DialogFlow para sistemas conversacionales, tanto texto como voz, https://cloud.google.com/dialogflow, servicios para convertir voz en texto o texto en voz (https://cloud.google.com/speech-to-text?hl=es y https://cloud.google.com/text-to-speech?hl=es), servicios de traducción por API, https://cloud.google.com/translate?hl=es, recomendaciones de Producto  https://cloud.google.com/recommendations , por ejemplo, en Retail. Muchos de estos sistemas tienen una versión gratuita en inicio (traducciones de hasta 500.000 caracteres al mes son gratuitas, por ejemplo), pero el coste luego crece rápido con el uso.

Dentro de esta línea, una opción muy interesante también que va a ir cobrando fuerza es desarrollar API's propias de información nuestra que queramos poner luego a disposición de determinados modelos de Inteligencia Artificial como ChatGPT, de tal modo que luego sea accesible dentro del contexto de un modelo de lenguaje natural. Esto todavía no está abierto a todo el mundo, ChatGPT tiene una lista de espera para los plugins: https://openai.com/blog/chatgpt-plugins y, en cualquier caso, integrar luego ChatGPT en nuestro proyecto tiene un coste que puede llegar a ser bastante alto (0.03$ por 750 palabras de entrada y 0.06$ por lo mismo pero de salida, a día de hoy). Quizá a día de hoy no es algo viable para la mayoría de la gente, pero irá cogiendo fuerza seguro.

Quiero algo a medida

Esto de integrar cosas de terceros está muy bien, pero a veces queremos algo propio, a medida, muy específico, que no encaja con ninguna de las soluciones existentes. Bien, pues en este caso lo primero que hay que saber es que la IA es cara, mucho. Se estima que para entrenar a ChatGPT en su versión GPT-3, la gente de OpenAI se gastó 5 millones de $. Solo ver los números, 3.55 millones de horas de GPU (procesador gráfico), para entrenarlo, y comparar con los costes por hora de GPU de $0.35 per GPU por hora en el caso más barato que ofrece, https://cloud.google.com/compute/gpus-pricing , podemos entender que barato no es. Hay otras alternativas, mejores, para entrenar un modelo de IA en Google que con GPU's directamente en Compute Engine, tienen su plataforma unificada para entrenamiento de modelos de aprendizaje, Vertex AI, https://cloud.google.com/vertex-ai?hl=es , pero para hacerse una idea del coste que tiene entrenar un modelo propio, sirve lo anterior.

Claro, lo más probable es que en nuestro proyecto no necesitemos un modelo como ChatGPT, propio, y nos sirva y baste con un modelo de Aprendizaje automático mucho más reducido. Estimar los costes de estos modelos no es tarea nada sencilla, hay estudios https://epochai.org/blog/trends-in-the-dollar-training-cost-of-machine-learning-systems, complejas herramientas de cálculo: https://github.com/aipaca-mlops/ML-training-cost-calculator, pero todo esto se centra en la parte del coste computacional, o cantidad de máquinas y coste de estas máquinas.

Hay que entender que los modelos de aprendizaje automático se basan, fundamentalmente, en disponer de una cantidad ingente de datos clasificados (para el caso de aprendizaje supervisado), y solo generar toda esa cantidad de información y clasificarla, tiene un alto coste humano. Generar un dataset de 100.000 piezas de información, clasificada, incluso utilizando un servicio como https://scale.com/ para anotarla, y luego validarla con un pequeño equipo interno, nos saldrá por entre 10.000 y 85000 dólares, dependiendo de la complejidad de las anotaciones que necesitemos, y esto es solo el coste de generar los datos. (Más detalle en este artículo: https://medium.com/cognifeed/the-cost-of-machine-learning-projects-7ca3aea03a5c ).

Conclusiones, ¿no os gusta la IA?

Podría parecer con todo este artículo, que no nos gusta la IA, y nada más lejos de la realidad, la IA revolucionará, sin duda, los desarrollos tecnológicos venideros y la interacción que tengamos con los distintos proyectos, pero a veces el marketing se ve tentado a poner la etiqueta inteligente o smart a un ventilador accesible por wifi, o a un robot aspiradora que no pasa dos veces por el mismo punto y es capaz de trazar un mapa de las habitaciones y, en fin, no decimos que no sean cosas importantes, pero la IA es otra cosa.

Es posible que ocurra lo mismo en tu próximo proyecto, idea, problema que quieres resolver con tecnología, es posible que esa IA que quieres integrar pueda ser un árbol de decision de toda la vida, sin que ello de por sí sea malo, simplemente la mejor solución para el problema concreto que tienes. Quizá no, quizá realmente tiene sentido para tu proyecto tener un modelo de aprendizaje automático o utilizar servicios de terceros en esa línea, pero entonces hay que preveerlo en los costes y tener la financiación adecuada.

Esa, en definitiva, sería la conclusión a la que queremos llegar con el artículo, integrar IA real a día de hoy es muy costoso, especialmente si queremos hacerla a medida, y en gran parte de los problemas a los que nos enfrentamos en el día a día o bien no es necesaria, o hay muchos aspectos previos de procesos, prioridades o tecnologías menos costosas que darían mucho mejor rendimiento a la inversión.


📨
Hasta aquí el artículo de hoy. ¡Si quieres puedes escribirnos por redes sociales como siempre, o a hola@softspring.es con cualquier duda o sugerencia!