Les conteneurs Docker basés sur le cloud forgent des compétences d'ingénierie utiles pour une carrière

Les étudiants se concentrent sur la modélisation mathématique plutôt que sur la configuration du logiciel


Anthony Patera enseigne le génie mécanique au MIT depuis 1982, après avoir obtenu sa licence, sa maîtrise et son doctorat dans cette université. Bien que les ingénieurs aient utilisé le calcul scientifique pendant toute cette période, celui-ci est resté largement absent de nombreux cours de base. Les raisons vont de la difficulté à exécuter le logiciel sur tous les ordinateurs au manque de machines dotées d’une puissance de calcul suffisante. Il a essayé d'utiliser davantage de logiciels dans ses cours à plusieurs reprises au cours de sa carrière. « J'ai abandonné », dit-il.

Il a récemment mis en œuvre une solution élégante dans l'un de ses cours. Le chercheur postdoctoral de Patera, Kento Kaneko, a regroupé le code qui effectue un calcul clé dans un composant facilement accessible auquel les étudiants peuvent accéder depuis le cloud. « Cela change la profondeur des problèmes », dit Patera, « et la mesure dans laquelle nous pouvons rendre les choses plus pertinentes et plus intéressantes ».

De la recherche à la salle de classe

La solution a commencé avec une subvention du Bureau de recherche navale. À l'aide d'équations aux dérivées partielles (EDP), le laboratoire de Patera a développé un moyen de fournir des estimations d'erreur pour une approximation largement utilisée du transfert de chaleur afin de résoudre le problème de conduction dépendant du temps. Cependant, l’estimateur nécessite de résoudre une seule EDP elliptique. Partager leur travail avec des professionnels du monde entier s'est avéré un défi : la distribution de fichiers de code source nécessite que les destinataires recréent l'environnement et les dépendances.

« Depuis des années, j'ai du mal à préparer les étudiants au monde du travail. Le lieu de travail est dominé par la simulation. Le point clé de la simulation n’est pas d’obtenir les chiffres. C'est de savoir qu'ils sont corrects. Jusqu’à présent, je n’avais pas le moyen d’amener les étudiants à exercer ces compétences ».

Anthony Patera, professeur de génie mécanique, MIT

Ils envisageaient de partager leur code source sous forme de fichier exécutable, mais le déploiement des mises à jour serait difficile. De plus, chaque destinataire aurait besoin de droits d'administrateur pour exécuter les exécutables, qui sont parfois bloqués par les services informatiques pour des raisons de sécurité. Après discussions avec MathWorks, ils ont trouvé une approche optimale pour partager leur travail : un microservice de conteneur Docker®.

Un conteneur est une unité logicielle autonome qui regroupe le code et toutes ses dépendances, de sorte que l'application s'exécute de manière identique dans n'importe quel environnement informatique. Docker est une implémentation populaire de conteneurs et le standard de facto pour la distribution de logiciels. Le conteneur Docker encapsule le système d'exploitation, prend en charge les bibliothèques, les temps d'exécution, le code MATLAB® qui résout le PDE ainsi qu’un point de terminaison d'API HTTP pour appeler le code MATLAB, également appelé microservice. Le code MATLAB existant peut être facilement transformé en un microservice de conteneur Docker à l'aide de MATLAB Compiler SDK™. Un utilisateur client du microservice de conteneur Docker peut fournir la géométrie de l'objet en entrée et recevoir une solution ainsi que des estimations de l'erreur via un intermédiaire d'application Web ou directement via l'API du microservice.

Le logiciel MATLAB PDE a été développé par Patera et Kaneko en collaboration avec le professeur Masayuki Yano de l'Université de Toronto. « Nous nous sommes rendu compte que le processus était également formidable pour les étudiants », explique Patera. Kaneko et lui ont mis en œuvre la même approche de microservice Docker dans la classe Intermediate Heat and Mass Transfer de Patera. Trois ensembles de problèmes utilisent le microservice de transfert de chaleur (HTM).

L’un des problèmes concerne les ponts thermiques. Les élèves reçoivent un schéma d'une coupe transversale d'un mur, avec l'intérieur du bâtiment à gauche et l'extérieur à droite. Le mur est en grande partie isolé, à l'exception de certaines régions comportant des poteaux en acier. Les poteaux transportent effectivement la chaleur de l’intérieur du bâtiment vers l’extérieur. Le HTM crée pour les étudiants un tracé de température qui ressemble à une feuille bidimensionnelle déformée. Les étudiants doivent convaincre Patera que le tableau est correct dans les limites d'erreur spécifiées.

« Pendant des années, j'ai eu du mal à préparer les étudiants au monde du travail », explique Patera. « Le lieu de travail est dominé par la simulation. Le point clé de la simulation n’est pas d’obtenir les chiffres. C'est de savoir qu'ils sont corrects. Jusqu’à présent, je n’avais pas le moyen d’amener les étudiants à exercer ces compétences. » Le HTM permet aux étudiants de consacrer plus de temps à développer ces compétences d'évaluation critiques au lieu d'effectuer des calculs appris par cœur ou de la configuration de logiciels informatiques.

Patera souligne l'importance de la simulation dans l'enseignement de premier cycle. Les étudiants peuvent travailler sur des problèmes réalistes liés à des sujets qui pourraient les intéresser, comme l'efficacité énergétique des bâtiments. Ils développent également leurs compétences en modélisation, dont ils auront besoin pour résoudre de nombreux types de problèmes complexes. « Cela les aide à développer leurs compétences en matière de détection des « erreurs », explique Patera. « Ils doivent déterminer si la simulation est correcte »

« Les microservices sont le facteur clé », ajoute le Patera. « Les éléments pédagogiques essentiels ne sont pas gênés par des barrières pratiques liées à l’administration, à la mise en œuvre et à l’accès ».

Un tracé créé par le microservice de transfert de chaleur qui trace la répartition de la température d'un problème de pont thermique.

Le microservice de transfert de chaleur génère et transfère la solution PDE pour un tracé affichant la répartition de la température sur le logiciel client. (Crédit image : Kento Kaneko)

Dans le nuage

Capture d'écran montrant une liste de noms de fichiers image mis à jour et la configuration du conteneur avec des champs pour l'URL de l'image, le port du conteneur, les arguments, l'allocation de mémoire et le nombre de processeurs alloués à chaque instance du conteneur.

La configuration de Google Cloud Run. (Crédit : Kento Kaneko)

« Je pense qu'il s'agit d'un excellent exemple de microservices démocratisant le processus éducatif ».

Anthony Patera, professeur de génie mécanique, MIT

Le microservice HTM Docker fonctionne sur Google Cloud Platform™, permettant aux étudiants d'y accéder de n'importe où. Selon Kaneko, le HTM est facile à mettre à jour. C’est efficace, fiable et évolutif. Le service Google® Cloud Run garantit que si plusieurs personnes souhaitent utiliser HTM simultanément, il adapte les ressources selon les besoins pour gérer la charge. Cela se fait automatiquement et Kaneko n'a pas à se soucier de l'approvisionnement du matériel.

Même si les étudiants exécutaient les composants sur leur ordinateur personnel, ils n’obtiendraient pas nécessairement les mêmes performances que celles du service cloud. Patera souhaite à terme partager le HTM avec des étudiants d’autres universités disposant de moins de ressources. « Je pense qu'il s'agit d'un excellent exemple de microservices démocratisant le processus éducatif », dit-il.

Utiliser ChatGPT

Les étudiants ont très bien travaillé en classe et n'ont formulé aucune plainte concernant le logiciel. Il note que les étudiants ont tendance à être polis, sauf lorsque le logiciel ne fonctionne pas. « Mais au cours du semestre, il n'y a pas eu une seule grogne », dit-il. « Cela ne veut pas dire qu'ils apprécient l'expérience pédagogique. Mais cela me dit que le logiciel fonctionne ».

Patera et Kaneko ont également rendu leur système compatible avec ChatGPT afin que les utilisateurs puissent simplement décrire le problème en langage naturel, qui appelle le HTM pour obtenir les résultats. Ils n'ont pas encore proposé cette option aux étudiants car ils ne disposent pas de licences ChatGPT pour tout le monde.

MATLAB ne sert pas uniquement à exécuter des expériences sur des ordinateurs de bureau. Dans les environnements professionnels et d'apprentissage, les équipes peuvent distribuer leur code avec le MATLAB Compiler SDK dans un format standard de l'industrie, y compris toutes les dépendances qui l'accompagnent. Cela garantit que les applications MATLAB s'exécutent de manière cohérente sur différents systèmes d'exploitation et plates-formes cloud.

En exécutant des microservices Docker dans le cloud, les utilisateurs peuvent interagir avec les applications MATLAB via une multitude d'interfaces, allant d'une simple ligne de commande à des interfaces de chat sophistiquées en langage naturel, leur permettant de se concentrer sur l'essence de leur travail (pensée critique et résolution de problèmes) plutôt que sur la configuration du logiciel et l’administration informatique.

Patera et Kaneko pensent à l'avenir, quand leurs étudiants apprendront les principes de modélisation du transfert de chaleur sans coder une seule ligne. À terme, ils pensent que vous pourrez montrer à ChatGPT une image d'une pomme ou d'un autre objet, et il entrera tous les paramètres dans la fonction HTM. « Cela signifie que vous accédez à un PDE sans même le savoir. Bien entendu, l’étudiant doit toujours prendre la décision finale : accepter ou rejeter le résultat ».

Patera et Kaneko ont également rendu leur système compatible avec ChatGPT afin que les utilisateurs puissent simplement décrire le problème en langage naturel, qui appelle le HTM pour obtenir les résultats.

Capture d'écran de l'interface utilisateur ChatGPT montrant l'énoncé du problème pour calculer le transfert de chaleur d'une pomme retirée d'un réfrigérateur, les données au format JSON et le nom de fichier suggéré « apple-dunking-room-environment.json ».

Une déclaration de problème saisie dans ChatGPT, à partir de laquelle il génère des données au format JSON et fournit un nom de fichier suggéré. (Crédit : Kento Kaneko)

Un diagramme de phi (une quantité basée sur la géométrie utilisée pour l'analyse des erreurs), une capture d'écran des coefficients de transfert de chaleur et un graphique montrant l'évolution de la température d'une pomme au fil du temps.

Le fichier JSON généré par ChatGPT est transmis à une interface graphique, qui à son tour interagit avec le microservice de transfert de chaleur. (Crédit image : Kento Kaneko)


Lire d'autres articles

Navigation dans l'interface

IA / MONDE ACADÉMIQUE

Brasser du biocarburant avec l'IA et l'IoT

L'interface en ligne permet aux étudiants d'entrer virtuellement dans le laboratoire

Navigation dans l'interface
Navigation dans l'interface