Este artículo sirve como nexo de unión de los distintos elementos que se han investigado sobre Inteligencia Artificial. El objetivo principal de este estudio es conocer las capacidades de esta tecnología y valorar su posible implementación en programas del ámbito médico/sanitario. En esta publicación se comentará de manera sencilla los distintos elementos que se expandirán en los artículos pertinentes.
Antes de adentrarnos más en el artículo, es importante saber unos conceptos de inteligencia artificial:
Tanto descripciones más detalladas de estos conceptos, como explicaciones de elementos más técnicos, se pueden encontrar en el artículo correspondiente.
Una vez que hemos realizado una breve introducción a los conceptos claves, vamos a exponer los resultados del estudio que se ha realizado, empezando por los costes. Para ello tomamos como referencia los precios de Azure OpenAI, y efectuamos las siguientes estimaciones mediante un pequeño programa de Python.
En español, ante 50.000 bloques de texto, con una media de 77 palabras, obtenemos un coste inferior a 20€. Es decir, se han procesado aproximadamente 4 millones de palabras, o 10 millones de tokens.
También hemos llevado a cabo pruebas con datos en inglés, de igual manera ante 50.000 bloques de texto, con una media de 76 palabras, hemos obtenido un coste cercano a 11€. En este caso se han procesado aproximadamente 4 millones de palabras, o 6 millones de tokens.
Si examinamos detalladamente estos resultados obtenemos que ante una cantidad similar de palabras procesadas se han obtenido casi el doble de tokens en castellano. Esto presenta un aspecto claramente negativo, y es por ello que se ha investigado la posibilidad de emplear servicios de traducción que permitan al usuario escribir el texto en el idioma elegido y que antes de ser procesado sea traducido al inglés para reducir costes.
En este estudio se ha podido comprobar que esta idea no es económicamente recomendable, debido al volumen de caracteres a traducir. Ya que los 50.000 bloques de texto aproximadamente son equivalentes a 24 millones de caracteres. Si empleamos cualquier servicio de traducción como DeepL, Google o Azure tendremos un coste superior a los 200€.
Pese a este inconveniente, podemos sacar en claro que, aunque las traducciones no se pueden realizar, sí que podemos utilizar ciertos prompts en inglés, como pueden ser los de configuración, para reducir la cantidad de tokens que generamos. Por último, indicar que para estas pruebas se han usado datos generados de manera aleatoria.
A la hora de efectuar las implementaciones disponemos tanto de soluciones de pago por uso o las que ejecutan modelos de manera local en un equipo o servidor. En este apartado discutiremos las ventajas y desventajas de cada uno de estos enfoques.
Este tipo de soluciones consisten en efectuar peticiones a una API de terceros. Presenta una serie de ventajas como puede ser la velocidad de procesamiento, escalabilidad o la disponibilidad global del servicio.
En cuanto a desventajas, la más clara es el envío de datos de naturaleza altamente sensible (como diagnósticos o historiales médicos) y como estos son procesados, revisados o almacenados.
Entre las propuestas investigadas destacamos Azure OpenAI, dado que nos permite obtener una exención de almacenamiento de los datos y supervisión humana. Más detalles sobre las soluciones investigadas se pueden encontrar aquí.
Existe también la posibilidad de ejecutar estos modelos en un equipo local o servidor. Entre las ventajas de este enfoque podemos encontrar el cumplimiento de privacidad de los datos, son procesados en local y enviados de manera encriptada, y presentan una solución disponible para cualquier persona.
Estos modelos se ejecutan en el procesador del equipo, por lo que el rendimiento es mucho menor del que podemos esperar de los servicios de pago por uso, que emplean tarjetas gráficas. En algunas de estas soluciones en local podemos usar la misma tecnología, solo que conlleva un coste mayor. Otros inconvenientes pueden ser la dificultad del tratamiento de consultas concurrentes y de peticiones simultáneas.
En resumen, las soluciones en local nos presentan la posibilidad de hacer uso de estos servicios en nuestros equipos, pero el rendimiento es inferior y el coste mayor comparado con soluciones de pago. Si queremos realizar una instalación que no requiera concurrencia ni tiempos de respuesta reducidos son una opción a tener en cuenta.
Se puede encontrar más información en el artículo sobre inteligencia artificial local o en el detallado sobre instalación utilizando Docker.
A modo de resumen, la inteligencia artificial y sus distintas herramientas son un instrumento de gran utilidad en la actualidad y que tendrán un peso mucho mayor en el futuro. Entre las posibilidades investigadas destacar Azure OpenAI, si quieres saber más en este artículo podrás saber cómo sacarle partido, y las soluciones de ejecución en local que pueden resultar beneficiosas en ciertos casos.
También es relevante recordar que esta tecnología evoluciona cada día y nuevas soluciones se presentan casi semanalmente. Por ello, estos artículos tienen que tomarse como un estudio efectuado en un momento determinado y pueden no estar actualizados para consultas futuras.