ESI UCLM

web uclm

繁體中文 ZH-TW English EN Français FR Deutsch DE Italiano IT Español ES Türkçe TR
HomeOpiniónCloud Computing y la Democratización de la IA

Cloud Computing y la Democratización de la IA

Raúl Reguillo artículo de opinión esi-uclm

Cloud Computing y la Democratización de la IA

Por Raúl Reguillo (egresado ESI y Cloud Architect en BBVA Next Technologies).

1. Un paseo por las nubes.

Desde hace años, las tecnologías cloud juegan un papel crucial en el seno de cualquier empresa. Ya sea una Startup, una Pyme o una gran compañía, la nube se ha posicionado como un ingrediente esencial a la hora de definir la estrategia tecnológica [1]. Características como la elasticidad de los recursos, los costes ajustados y predecibles, la seguridad o el incipiente número de servicios ofrecidos, posicionan a las tecnologías de la nube en un valor muy atractivo para las compañías. En datos, [2] nos muestra un ejemplo de adopción y proyección.

Figura 1: Adopción de la computación en la nube por empresas [2]

Dentro de dichos servicios se pueden encontrar desde los clásicos, destinados a almacenamiento, bases de datos o cómputo, como los más vanguardistas, explorando los horizontes de la Computación Cuántica [3] o empujando más allá los límites de la Inteligencia Artificial.

Figura 2: Amazon Web Services Braket. Servicio de computación cuántica [3]

Esta cualidad de acercar recursos, conocimiento y servicios a las personas se conoce como democratización. A lo largo de la historia se han visto muchos ejemplos de democratización, siendo uno de los más relevantes e iniciales el de la invención de la imprenta; cuando los libros eran objetos de lujo al alcance de solo unos pocos que sabían leerlos, interpretarlos y sacar partido de ellos, la imprenta permitió hacerlos más accesibles a las masas y, por ende, llevarles el conocimiento. Podemos pensar así en muchos otros ejemplos que pueden ir desde el transporte y la energía hasta las noticias y las telecomunicaciones. El papel democratizador de la nube en las tendencias tecnológicas es notable, extenso y es posible que sea uno de esos paradigmas que cambien la forma en la que se trabaja en la computación [4]. Igualmente, el número de proveedores de servicios en la nube propicia una cobertura a nivel global así como unos precios muy asequibles [5]. Ya no es necesario llevar a cabo una gran inversión en servidores y discos para alojar información, sino que se puede alquilar espacio virtual por el tiempo preciso que se requiera a precios muy asequibles y delegar aspectos de seguridad, mantenimiento y compliance al propio proveedor cloud. Igualmente, una pequeña compañía o incluso un particular, puede así alquilar todo un cluster de procesamiento en paralelo (potencialmente cientos de nodos) para hacer uso de ello el tiempo estrictamente necesario, y después liberarlo. Este concepto tan potente es extensible más allá de la computación o el almacenamiento, llegando a otra clase de servicios más concretos (la lista es extensísima [6]) tales como IoT, Blockchain, migración de datos, robótica o la Inteligencia Artificial.

Figura 3: Comparación entre los servicios de los principales proveedores cloud [6]

2. DemocracIA

Es en este último campo, la Inteligencia Artificial, donde los efectos de esta democratización parecen más evidentes y en ámbitos muy diversos. La nube vino a democratizar muchas cosas en forma de servicios (PaaS, SaaS, IaaS), siendo el ámbito de la Inteligencia Artificial un caso particular donde confluyen varias de estas ramas. En este artículo hablaremos de tres aspectos donde la democratización de la IA tiene más impacto: los recursos, el conocimiento y las operaciones.

2.1 Recursos

Si pensamos en entrenar un modelo de Deep Learning la cantidad de recursos que requieren algunos de los algoritmos así como la necesidad de hardware específico como son las GPUs de alta gama o TPUs, pueden salirse del presupuesto de muchas compañías modestas, estudiantes o investigadores. Este material estaría únicamente al alcance de compañías con suficiente solvencia que pudieran comprarlos y sacarles todo el partido posible. Veámoslo con un ejemplo:

ResNet-50 [7] es un modelo de Deep Learning orientado a la clasificación de imágenes. Si entrenamos ResNet-50 durante 90 epochs con el dataset ImageNet, puede tardar hasta una semana con una sola GPU. A medida que incrementamos el número de GPUs el tiempo de entrenamiento puede reducirse, alcanzando tiempos más razonables con, al menos, 4 GPUs. Por otra parte, el propio dataset tiene un tamaño considerable: alrededor de 150 GB. Siendo este un problema sencillo (y relativamente antiguo) comenzamos a ver que esta clase de datos quizás sea mejor tenerlos, igualmente, en un entorno distribuido.

Es bastante evidente que para ciertos problemas de deep learning la solución pasa por entornos distribuidos, tanto para el cómputo, el almacenamiento de los datos y no olvidemos la inferencia o explotación del modelo en entornos productivos. Llegados a este punto, podemos hacer cálculos de cuántos nodos queremos tener, qué uso les vamos a dar, cuántas GPUs podemos permitirnos y cómo vamos a mantenerlo todo actualizado (versiones de las librerías, parches, etc). Nada que no sea abordable, pero sí requiere un offset de metatrabajo considerable.

En un entorno cloud sin embargo gozamos de una capa de abstracción de todo ello. El almacenamiento distribuido es extremadamente barato (céntimos de euro por GB al mes) y los distintos servicios de entrenamiento ya ofrecen configuraciones tipo para llevar a cabo esta clase de entrenamientos: número de nodos, capacidad de las máquinas, tipos de GPUs, librerías y versiones a utilizar. Así pues, se puede contar con unos pocos clicks con un entorno listo para entrenar nuestra ResNet-50 en cuestión de minutos, siendo el coste del servicio del orden de unos pocos euros.

2.2 Conocimiento

Quizás uno de los aspectos más potentes donde la nube puede acercar la IA al usuario sea en lo relacionado con la explotación del conocimiento. Existe ya un catálogo de modelos entrenados disponibles para su uso. Una compañía no tiene por qué entrenar un clasificador de imágenes o un sistema de recomendación desde cero; existen ya servicios que hacen uso de modelos preentrenados que pueden ser explotados por cualquiera. Entre los más exitosos caben destacar servicios de análisis de sentimientos en texto o imagen, modelos de speech to text o de text to speech, detección de fraude, reconocimiento de entidades, forecasting y un largo etcétera. Así, una empresa puede hacer uso de este conocimiento en forma de servicios, conectándolos a sus soluciones como un componente de software más y pagando una cuota mensual para explotarlos. Ya no hace falta haber entrenado un modelo en el seno de la empresa con la problemática que ello conlleva; falta de datos, errores en la predicción, reentrenamientos y principalmente adquirir los conocimientos y perfiles necesarios para llevarlo a cabo.

Figura 4: Comparación de servicios de Procesamiento de Lenguaje Natural en distintos proveedores cloud [9]

2.3 Operaciones

Finalmente uno de los últimos capítulos añadidos al catálogo de servicios es la de operaciones, esto es, facilitar el trabajo necesario que hay que llevar a cabo (ese metatrabajo mencionado antes) para entrenar y poner en producción un modelo de Inteligencia Artificial.

Los proveedores de la nube, conocedores del complejo bucle que gobierna esta clase de proyectos, facilitan en gran medida la creación de los pipelines necesarios para extraer los datos, entrenar el modelo, llevarlo a producción y monitorizar su rendimiento. Este conjunto de procesos, conocido generalmente como MLOps [10] es democratizado también por los proveedores de la nube a través de una capa de abstracción, de forma que con unos pocos clicks todas las operaciones necesarias quedan cubiertas.

Figura 5: Ejemplo MLOps [10]

3. Conclusiones

La nube ha venido a revolucionar la forma en la que planteamos procesos y servicios. En el ámbito de la IA el impacto ha sido notorio y la cantidad de servicios que se lanzan cada año relacionados con este ámbito parece no conocer fin. Por supuesto, las propias tecnologías cloud requieren cierta curva de aprendizaje para ser usadas, con lo cual no estamos exentos de ese metatrabajo para hacer un uso eficiente de las mismas, si bien suelen ser curvas de aprendizaje suaves y el beneficio obtenido en términos de tiempo y optimización de costes es más que evidente. Ahora más que nunca, la Inteligencia Artificial a cualquier escala está al alcance de todos.

Referencias

[1] Jayeola, O., Sidek, S., Abd Rahman, A., Mahomed, A. S. B., & Hu, J. (2022). Cloud computing adoption in small and medium enterprises (SMEs): A systematic literature review and directions for future research. International Journal of Business and Society, 23(1), 226-243.

[2] https://www.cloudwards.net/cloud-computing-statistics/

[3] https://en.wikipedia.org/wiki/Cloud-based_quantum_computing#Existing_platforms

[4] Shawish, A., & Salama, M. (2014). Cloud computing: paradigms and technologies. In Inter-cooperative collective intelligence: Techniques and applications (pp. 39-67). Springer, Berlin, Heidelberg.

[5] https://dgtlinfra.com/top-10-cloud-service-providers-2022/

[6] https://comparecloud.in/

[7] He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 770-778).

[8] https://www.bbvanexttechnologies.com/blogs/training-deep-learning-models-on-multi-gpus/

[9] https://medium.com/kontikilabs/comparing-machine-learning-ml-services-from-various-cloud-ml-service-providers-63c8a2626cb6

[10] https://la.blogs.nvidia.com/2020/09/08/que-es-mlops/

Comparte con:
Valora este artículo