Machine Learning Educations

Introducción

El análisis de datos es cada vez más importante en la educación universitaria. Para aprovecharlo al máximo, debe ir acompañado del uso de inteligencia artificial (IA). Esta combinación de tecnologías se ha convertido en una poderosa herramienta en las universidades, así como en varios lugares de trabajo en todo el mundo.

Aprovechar al máximo el análisis de datos impulsado por IA requiere una buena estrategia para recopilar y procesar la información generada por diferentes sistemas y puntos de recopilación para evitar que se atasque. Por ello, la tecnología es lo más importante para trabajar y conseguir los mejores resultados. En este caso, es necesario proporcionar una solución técnica para los estudiantes de la escuela de Ingeniería Química que brinde la oportunidad de experimentar con soluciones que luego se puedan colocar en un repositorio abierto para los estudiantes. Las soluciones deben permitir evaluar e implementar diferentes tipos de soluciones y estrategias, como las creadas con diferentes lenguajes de programación, intérpretes, entornos de desarrollo y ejecución conocidos, marcos y visores que normalmente utilizan diferentes sistemas operativos y compiladores, tanto de código abierto como propietario. La plataforma debe ser accesible a través de Internet desde cualquier lugar dentro y fuera de la universidad. El presupuesto para toda la solución está limitado a $150,000, incluidos posibles impuestos y costos de personalización.

Propuesta de solución


Primeramente, nos enfocaremos en cómo abordar la inteligencia artificial en los equipos de los laboratorios de la escuela, pues esta se puede abordar de diferentes maneras. Además presentaremos algunas opciones posibles y la de nuestra elección.

¿GPUs o CPUs?

Básicamente, en los ordenadores normales de hoy en día se pueden utilizar dos unidades de procesamiento para realizar cálculos: por un lado, se encuentran las unidades de procesamiento central (CPUs) y, por otro, las unidades de procesamiento gráfico (GPUs).


CPUs: son los microprocesadores que se han utilizado siempre como unidad de procesamiento. Estos microprocesadores son muy muy buenos haciendo tareas secuenciales, que no se pueden paralelizar. Hay distintas marcas, las más conocidas y que compiten por prácticamente todo el mercado son Intel y AMD.

GPUs: son los procesadores gráficos que tienen las tarjetas gráficas. Se usan muchísimo para gaming, donde los videojuegos se benefician de la manera de procesar matrices que tienen las GPUs. Al fin y al cabo, las imágenes en HD no dejan de ser la unión de matrices de datos… Entre las marcas más conocidas se encuentran Nvidia y AMD.

La diferencia más importante entre los dos componentes a nivel de arquitectura es el número de núcleos que suelen tener. Las CPUs tienen muchos menos núcleos que las GPUs, lo que hace que para procesamiento paralelo sean peores. Sin embargo, los núcleos de las CPUs son mucho más potentes, por lo que para tareas secuenciales son mucho mejores.

Figura 1. Comparativa de las arquitecturas de una CPU y de una GPU

Comparativa de cálculo matricial entre CPUs y GPUs:

Antes de elegir y tener la mejor opción para nuestro caso, se ha decidido buscar sobre quienes son mejores a la hora de hacer cálculos matriciales y se es por eso que se decidió buscar pruebas sobre el rendimiento de una CPU y de una GPU que se venden en el mercado. En esta prueba utilizaron el siguiente hardware:

  • CPU: AMD Ryzen 5 3600

  • GPU: Asus Geforce GTX 1060

Figura 2. Resultados del calculo matricial

Como vemos, inicialmente cuando la matriz es muy pequeña no hay apenas diferencia entre procesar con CPUs o con GPUs. Sin embargo, a medida que aumenta el tamaño de las matrices, el tiempo consumido por la CPU aumenta de manera exponencial, no así en el caso de las GPUs.

Con todo lo anterior visto, se decidió para esta solución utilizar GPUs, en cuanto a la marca, se decidió por elegir NVIDIA, puesto que, sus librerías estándar permiten trabajar con CUDA, una plataforma de computación paralela mucho más potente que su contraparte OpenCL. Además teniendo en cuenta la calidad-precio, se decidió ir por la RTX 3080 TI. Esta GPU se estará montada en un ordenador que contará con las siguientes especificaciones. Y agregar 10 computadoras más con las mismas características cuesta $23,970 USD.

Tabla 1. Especificaciones de los ordenadores para el laboratorio

En cuanto al software, el sistema operativo será una distribución Windows (Windows 10) y por el lado de UNIX/Linux se utilizará Debian, por ser muy estable y de código abierto. Es una de las distribuciones GNU/Linux más importantes, ya que gigantes como Ubuntu se basan en ella. El acceso a estas distribuciones será por medio del arranque dual, por otro lado, el desarrollo de IA se realiza principalmente en Python debido a su simplicidad y versatilidad, aparte de su popularidad.

La principal razón para aprender Python para el aprendizaje automático es, sin duda, el enorme ecosistema de productos listos para usar que existe en torno al lenguaje. Los paquetes de aprendizaje automático y aprendizaje profundo más populares y ampliamente utilizados del mundo, como Pandas, NumPy, TensorFlow, Keras, Scikit-learn y muchos otros, están escritos en Python. En segundo lugar, las máquinas pueden desarrollar software utilizando el lenguaje R porque es un lenguaje específico para análisis de datos e inteligencia artificial, que es necesario en nuestro caso, y además es un lenguaje de código abierto.

Por otro lado, también se debe tener en cuenta el equipo que se utilizará para la parte del almacenamiento de los datos trabajados con los ordenadores anteriormente mencionados para el laboratorio de la escuela. Se optó por hacer uso de racks de servidores y por un servidor en especifico, el PowerEdge R940xa Rack Server de Dell para almacenar, proteger y distribuir la información, por un valor de $41.000 USD

Tabla 2. Especificaciones del servidor PowerEdge R940xa

En cuanto al software, habrá una licencia de Microsoft Power BI. Power BI es una herramienta de análisis de Microsoft y una de las más populares porque brinda visualización interactiva de datos y fácil integración con otras herramientas de negocios, así como aplicaciones de análisis y desarrollo en R, porque es la mejor de las herramientas analíticas disponibles en la actualidad. en la industria. Python y Excel, utilizados principalmente para modelado de datos y estadísticas, son otras herramientas importantes de análisis de datos que estarán disponibles en las PC compradas.

Para Excel y el sistema operativo, se obtienen a través de una licencia libre propiedad de la institución. Entonces, el presupuesto para 10 licencias de Microsoft Power BI Premium de 1 año es de $2,028. Y, al tener 10 computadoras más con las mismas características conectados al servidor $25,920.

Por último, para la creación de un sitio web para que los estudiantes de la Escuela de Ingeniería Química compartan sus investigaciones y hallazgos en el campo de la inteligencia artificial y el análisis de datos se hará uso de un servidor web para el acceso dentro del campus y se alojará en un host para el acceso remoto a través de un servidor web que será un Firewall Micro Appliance de la marca ANDAQI. Un dispositivo equipado con Ubuntu Server OS, muy adecuado para lo que se necesita, es decir funcionar como un servidor local que se incorpore a la arquitectura de red de la universidad, este posee un valor de $500 dólares, costo de desarrollo de la página web estimado en $2,000, siendo una página con soporte y cálidad. Por el lado del host y el dominio para acceder de forma remota tendría un costo total de $62 USD por año. El costo total de un dominio .com es de $12 USD y 50 USD de un host con las siguientes características:

  • 50 GB Espacio SSD NVMe

  • 700 GB de Tráfico / mes,

  • 50 Cuentas E-mail,

  • 10 Bases de datos,

  • 3 Dominios permitidos,

  • WordPress / Joomla / Otros, LiteSpeed + LSCache,

  • Seguridad Imunify360,

  • Constructor de sitios Pro,

  • Copias de seguridad,

  • Certificado SSL gratis (https://)

Tabla 3. Especificaciones del servidor web

Finalmente, tomando en cuenta todos los costos anteriormente mencionados de todos los equipos y hardware que se propuso para la solución tecnología, tenemos un gasto total de $96,930 USD

Tabla 4. Costo total