基于云的 Docker 容器培养学生工程就业技能

学生专注于数学建模而不是软件设置


Anthony Patera 在麻省理工学院获得学士、硕士和博士学位后,自 1982 年起在麻省理工学院教授机械工程学。尽管工程师一直在使用科学计算,但在大多数情况下,许多核心课程仍未将其纳入在内。原因包括难以在所有计算机上运行该软件以及缺乏具有足够计算能力的机器。在他的职业生涯中,他曾多次尝试在课堂上使用更多的软件。“我放弃了,”他说。

他最近在所教授的一门课程中推行了一个引人瞩目的解决方案。Patera 的博士后研究员 Kento Kaneko 将执行关键计算的代码打包成了一个易于访问的组件,供学生从云端访问。Patera 说:“这改变了问题的深度,并在一定程度上让事情变得更相关,也更有趣了。”

从研究走向课堂

该解决方案始于海军研究办公室的一项资助。Patera 的实验室利用偏微分方程 (PDE) 开发了一种方法,为广泛使用的热传递近似提供误差估计,以解决与时间相关的传导问题。然而,估计器需要求解单个椭圆 PDE。与世界各地的专业人士分享他们的工作成果非常具有挑战性:分发源代码文件需要接收者重新创建环境和依赖项。

“多年来,我一直在为如何让学生为工作做好准备而发愁。在工作场所,仿真发挥着主导作用。关键在于,仿真的核心不在于简单地获取数字结果,而在于确保这些结果的准确性。在这之前,我都没有办法让学生锻炼这些技能。”

Anthony Patera,麻省理工学院机械工程教授

他们考虑将其作为可执行文件共享,但部署更新将会很有挑战性。此外,每个接收者都需要管理权限才能运行可执行文件,而 IT 部门有时会出于安全目的阻止这些文件。在与 MathWorks 讨论后,他们找到了一种共享工作成果的最佳方法,那就是使用 Docker® 容器微服务。

容器是一个独立的软件单元,它用于打包代码及其所有依赖项,因此,该应用可以在任何计算环境中以相同的方式运行。Docker 是一种流行的容器实现,也是分发软件的事实标准。Docker 容器封装了操作系统、支持库、执行运行时、MATLAB® 代码(用于求解 PDE),以及用于调用 MATLAB 代码的 HTTP API 端点,也称为微服务。使用 MATLAB Compiler SDK™ 可以轻松地将现有的 MATLAB 代码转变为 Docker 容器微服务。Docker 容器微服务的客户端用户可以提供对象的几何形状作为输入,并通过 Web 应用中介或直接通过微服务 API 收到解以及错误估计值。

MATLAB PDE 软件由 Patera 和 Kaneko 与多伦多大学的 Masayuki Yano 教授合作开发。“我们发现这个过程对学生来说也很有好处,”Patera 说。他和 Kaneko 也推行了 Patera 在其“中间传热与传质”课程中使用的 Docker 微服务方法。三个问题都使用了热传递微服务 (HTM)。

其中一个问题涉及热桥。学生收到一张墙壁横截面图,左边是建筑物内部,右边是外部。除一些带有钢钉的区域外,墙壁大部分都是绝缘的。螺柱可以有效地将热量从建筑物内部传导到外部。HTM 为学生创建了一个温度图,它看起来像扭曲的二维薄片。学生必须让 Patera 相信该图表在指定的误差范围内是正确的。

Patera 说道:“多年来,我一直努力帮助学生做好进入职场的准备。”“工作场所以仿真为主。仿真的关键在于不是获取数字。我知道他们是对的。到目前为止,我还没有办法让学生锻炼这些技能。”HTM 使学生能够花更多时间培养关键的评估技能,而不是进行死记硬背的计算或 IT 软件配置。

Patera 强调了仿真在本科教育中的重要性。学生可以研究与他们感兴趣的主题相关的实际问题,例如建筑能源效率。他们还拓展了自身的建模技能,这对于解决许多复杂问题非常有用。“这有助于他们培养‘失误’检测技能,”Patera 说。“他们必须确定仿真是否正确。”

Patera 补充道:“微服务是关键推动因素。”“基本教学要素不会受制于管理、实施和获取时遇到的实际障碍。”

由热传递微服务创建的图表,描绘了热桥问题的温度分布。

热传递微服务生成并传输 PDE 解,以便在客户端软件上显示温度分布的图表。(图片所有权:Kento Kaneko)

在云端

屏幕截图显示了更新后的图像文件名和容器配置的列表,其中包含图像 URL、容器端口、参数、内存分配以及分配给容器每个实例的 CPU 数的字段。

Google Cloud Run 配置。(图片所有权:Kento Kaneko)

“我认为这是微服务使教育过程普及化的典型例子。”

Anthony Patera,麻省理工学院机械工程教授

HTM Docker 微服务在 Google Cloud Platform™ 上运行,允许学生从任何地方访问它。据 Kaneko 介绍,HTM 很容易更新。它高效、可靠,且可扩展。Google® Cloud Run 服务确保,如果多个人想要同时使用 HTM,它会根据需要扩展资源来管理负载。这个过程是自动完成的,Kaneko 不需要担心硬件配置。

即使学生们在个人电脑上运行这些组件,他们也不一定要获得与云服务相同的性能。Patera 的最终目标是与其他资源较少的大学的学生分享 HTM。“我认为这是微服务使教育过程普及化的一个典型例子,”他说。

进入 ChatGPT

学生们在课堂上表现非常好,并没有对该软件提出任何抱怨。他指出,学生们往往很有礼貌,除非软件无法正常工作。“但整个学期以来,我没有听到过一句怨言,”他说。“这并不代表他们享受教学经历。但它确实告诉我该软件正在运行。”

Patera 和 Kaneko 还使他们的系统与 ChatGPT 兼容,以便用户只需用自然语言描述问题,然后调用 HTM 来获得结果。他们尚未向学生提供此选项,因为他们没有为所有人提供 ChatGPT 许可证。

MATLAB 不仅仅用于在桌面上运行实验。在专业环境和学习环境中,团队都可以使用 MATLAB Compiler SDK 以行业标准格式分发他们的代码,包括所有附带的依赖项。这确保了 MATLAB 应用能够在各种操作系统和云平台上一致运行。

通过在云中运行 Docker 微服务,用户可以利用多种界面(从简单的命令行到复杂的自然语言聊天界面)与 MATLAB 应用交互,使他们能够专注于工作的本质(即批判性思维和解决问题),而不是软件设置和 IT 管理。

Patera 和 Kaneko 期望在不久的将来,他们的学生无需编写一行代码,就能学习热传递的建模原理。他们说,最终,您只要向 ChatGPT 展示一张苹果或其他物体的图片,它就会将所有参数输入到 HTM 函数中。“这意味着,您在不知不觉中就访问了 PDE。当然,学生仍然需要做出最终的决定,那就是接受还是拒绝结果。”

Patera 和 Kaneko 还使他们的系统与 ChatGPT 兼容,以便用户只需用自然语言描述问题,然后调用 HTM 来获得结果。

ChatGPT 用户界面的屏幕截图,显示了计算从冰箱中取出的苹果的热传递的问题陈述、JSON 格式的数据以及建议的文件名“apple-dunking-room-environment.json”。

输入 ChatGPT 的问题陈述,它会从中生成 JSON 格式的数据并提供建议的文件名。(图片所有权:Kento Kaneko)

phi(用于误差分析的几何量)图表、热传递系数屏幕截图以及显示苹果温度随时间变化的图表。

ChatGPT 生成的 JSON 文件传递到 GUI,再由 GUI 与热传递微服务进行交互。(图片所有权:Kento Kaneko)


阅读其他案例

面板导航

人工智能/ACADEMIA

利用人工智能和物联网制取生物燃料

在线界面支持学生以虚拟方式进入实验室

面板导航
面板导航