Los contenedores Docker basados ​​en la nube crean habilidades de ingeniería para el futuro

Los estudiantes se centran en el modelado matemático en lugar de la configuración del software


Antonio Patera ha enseñado ingeniería mecánica en el MIT desde 1982, después de obtener su licenciatura, maestría y doctorado en esa institución. Aunque los ingenieros han utilizado la computación científica todo este tiempo, ha permanecido en gran medida ausente de muchos cursos básicos. Las razones van desde la dificultad para ejecutar el software en todas las computadoras hasta la falta de máquinas con suficiente capacidad de cálculo. Ha intentado utilizar más software en sus clases a lo largo de su carrera. “Me di por vencido”, dice.

Recientemente implementó una solución elegante en uno de sus cursos. El investigador postdoctoral de Patera, Kento Kaneko, empaquetó el código que realiza un cálculo clave en un componente de fácil acceso para estudiantes desde la nube. "Esto cambia la profundidad de los conjuntos de problemas", dice Patera, "y la medida en que podemos hacer que las cosas sean más relevantes e interesantes".

De la investigación al aula

La solución comenzó con una subvención de la Oficina de Investigación Naval. Utilizando ecuaciones diferenciales parciales (EDP), el laboratorio de Patera desarrolló una forma de proporcionar estimaciones de error para una aproximación de transferencia de calor ampliamente utilizada para soluciones del problema de conducción dependiente del tiempo. Sin embargo, el estimador requiere resolver una EDP elíptica única. Compartir su trabajo con profesionales de todo el mundo resultó un desafío: La distribución de archivos de código fuente requiere que los destinatarios recreen el entorno y las dependencias.

“Durante años, me he esforzado por preparar a los estudiantes para el mundo laboral. El lugar de trabajo está dominado por la simulación. El punto clave en la simulación no es obtener números. Es saber que son correctos. Hasta ahora, no tenía los medios para lograr que los estudiantes ejercitaran esas habilidades”.

Anthony Patera, profesor de ingeniería mecánica, MIT

Consideraron compartirlo como un archivo ejecutable, pero implementar actualizaciones sería un desafío. Además, cada destinatario necesitaría derechos administrativos para ejecutar ejecutables, que ocasionalmente son bloqueados por los departamentos de TI por motivos de seguridad. Después de conversar con MathWorks, encontraron un enfoque óptimo para compartir su trabajo: un microservicio de contenedor Docker®.

Un contenedor es una unidad de software autónoma que empaqueta código y todas sus dependencias, de modo que la aplicación se ejecute de manera idéntica en cualquier entorno informático. Docker es una implementación popular de contenedores y el estándar de facto para distribuir software. El contenedor Docker encapsula el sistema operativo, las bibliotecas de soporte, los tiempos de ejecución, el código de MATLAB® que resuelve la EDP y un punto final de API HTTP para invocar el código de MATLAB, también conocido como microservicio. El código de MATLAB existente se puede convertir fácilmente en un microservicio de contenedor Docker utilizando MATLAB Compiler SDK™. Un usuario cliente del microservicio contenedor Docker puede proporcionar la geometría del objeto como entrada y recibir una solución más estimaciones del error a través de una app web intermediaria o directamente a través de la API del microservicio.

El software EDP de MATLAB fue desarrollado por Patera y Kaneko en colaboración con el profesor Masayuki Yano de la Universidad de Toronto. "Se nos ocurrió que el proceso también es fantástico para los estudiantes", dice Patera. Patera y Kaneko implementaron el mismo enfoque de microservicio Docker en la clase Intermediate Heat and Mass Transfer de Patera. Tres conjuntos de problemas utilizan el microservicio Heat Transfer Microservice (HTM).

Uno de los conjuntos de problemas cubre los puentes térmicos. Los estudiantes reciben un diagrama de la sección transversal de una pared, con el interior del edificio a la izquierda y el exterior a la derecha. La pared está mayormente aislada, excepto en algunas zonas con travesaños de acero. Los travesaños transportan el calor de forma eficaz desde el interior del edificio hacia el exterior. El HTM crea una gráfica de temperatura para los estudiantes que parece una hoja bidimensional deformada. Los estudiantes deben convencer a Patera de que el gráfico es correcto dentro de los límites de error especificados.

"Durante años, me he esforzado por preparar a los estudiantes para el mundo laboral", dice Patera. “El lugar de trabajo está dominado por la simulación. El punto clave en la simulación no es obtener números. Es saber que son correctos. Hasta ahora, no tenía los medios para lograr que los estudiantes ejercitaran esas habilidades”. El HTM permite a los estudiantes dedicar más tiempo a desarrollar esas habilidades de evaluación críticas en lugar de realizar cálculos de memoria o configurar el software de TI.

Patera enfatiza la importancia de la simulación en la educación universitaria. Los estudiantes pueden trabajar en problemas realistas relacionados con temas que podrían interesarles, como la eficiencia energética de los edificios. También amplían sus habilidades de modelado, que necesitarán para resolver muchos tipos de problemas complejos. "Esto les ayuda a desarrollar sus habilidades de detección de errores", dice Patera. "Deben determinar si la simulación es correcta".

"Los microservicios son la ayuda clave", añade Patera. "Los elementos pedagógicos esenciales están libres de barreras prácticas asociadas con la administración, la implementación y el acceso".

Una gráfica creada por Heat Transfer Microservice que representa la distribución de temperatura de un puente térmico.

El microservicio Heat Transfer Microservice genera y transfiere la solución EDP para una gráfica que muestra la distribución de temperatura en el software del cliente. (Crédito de imagen: Kento Kaneko)

En la nube

Captura de pantalla que muestra una lista de nombres de archivos de imágenes actualizados y configuración para el contenedor con campos para la URL de la imagen, el puerto del contenedor, argumentos, asignación de memoria y cantidad de CPU asignadas a cada instancia del contenedor.

La configuración de Google Cloud Run. (Crédito de imagen: Kento Kaneko)

"Creo que este es un excelente ejemplo de cómo los microservicios democratizan el proceso educativo".

Anthony Patera, profesor de ingeniería mecánica, MIT

El microservicio HTM Docker se ejecuta en Google Cloud Platform™, lo que permite a los estudiantes acceder a él desde cualquier lugar. Según Kaneko, el HTM es fácil de actualizar. Es eficiente, confiable y escalable. Si varias personas quieren utilizar HTM simultáneamente, el servicio Google® Cloud Run escala los recursos según sea necesario para gestionar la carga. Esto se hace automáticamente y Kaneko no tiene que preocuparse por aprovisionar hardware.

Incluso si los estudiantes ejecutaran los componentes en sus computadoras personales, no necesariamente obtienen el mismo rendimiento que obtienen del servicio en la nube. Patera eventualmente quiere compartir el HTM con estudiantes de otras universidades con menos recursos. "Creo que este es un excelente ejemplo de cómo los microservicios democratizan el proceso educativo", agregó.

Uso de ChatGPT

Los estudiantes se desempeñaron muy bien en clase y no presentaron ninguna queja sobre el software. Señala que los estudiantes tienden a ser educados, excepto cuando el software no funciona. “Pero a lo largo del semestre no ha habido ni una sola queja”, afirma. “Eso no me dice que estén disfrutando de la experiencia pedagógica. Pero sí me dice que el software está funcionando”.

Patera y Kaneko también han hecho que su sistema sea compatible con ChatGPT para que los usuarios puedan simplemente describir el problema en lenguaje natural, que llama al HTM para obtener los resultados. Aún no han ofrecido esta opción a los estudiantes porque no tienen licencias de ChatGPT para todos.

MATLAB no sirve sólo para ejecutar experimentos en computadoras de escritorio. Tanto en entornos profesionales como de aprendizaje, los equipos pueden distribuir su código con MATLAB Compiler SDK en un formato estándar de la industria, incluidas todas las dependencias que lo acompañan. Esto garantiza que las aplicaciones de MATLAB se ejecuten de forma coherente en varios sistemas operativos y plataformas en la nube.

Si ejecutan microservicios Docker en la nube, los usuarios pueden interactuar con aplicaciones de MATLAB a través de una multitud de interfaces, que van desde una simple línea de comandos hasta sofisticadas interfaces de chat en lenguaje natural, lo que les permite concentrarse en su trabajo (pensamiento crítico y resolución de problemas) en lugar de la configuración del software y la TI. administración.

Patera y Kaneko miran hacia el futuro, donde sus estudiantes aprenderán los principios de modelado de la transferencia de calor sin codificar una sola línea. Con el tiempo, dicen, podrá mostrarle a ChatGPT una imagen de una manzana u otro objeto, y éste ingresará todos los parámetros en la función de HTM. “Lo que significa que se está accediendo a una EDP sin siquiera saberlo. Por supuesto, el estudiante aún debe tomar la decisión final: aceptar o rechazar el resultado”.

Patera y Kaneko también han hecho que su sistema sea compatible con ChatGPT para que los usuarios puedan simplemente describir el problema en lenguaje natural, que llama al HTM para obtener los resultados.

Captura de pantalla de la interfaz de usuario de ChatGPT que muestra la declaración de problema para calcular la transferencia de calor de una manzana extraída de un refrigerador, datos en formato JSON y el nombre de archivo sugerido "apple-dunking-room-environment.json".

Una declaración de problema ingresada en ChatGPT, a partir de la cual genera datos con formato JSON y proporciona un nombre de archivo sugerido. (Crédito de imagen: Kento Kaneko)

Un diagrama de phi (una cantidad basada en la geometría utilizada para el análisis de errores), una captura de pantalla de los coeficientes de transferencia de calor y un gráfico que muestra la evolución de la temperatura de una manzana a lo largo del tiempo.

El archivo JSON generado por ChatGPT se pasa a una GUI, que a su vez interactúa con el microservicio Heat Transfer Microservice. (Crédito de imagen: Kento Kaneko)


Más casos prácticos

Navegación de panel

IA / ACADEMIA

Elaboración de biocombustibles con IA e IoT

La interfaz en línea lleva a los estudiantes al laboratorio, virtualmente

Navegación de panel
Navegación de panel