クラウドベースの Docker コンテナがキャリアに役立つエンジニアリング スキルを育成

学生の焦点をソフトウェアのセットアップから数学モデリングに


Anthony Patera氏は、MITで学士号、修士号、博士号を取得した後、1982年から同大学で機械工学を教えています。エンジニアはずっと科学計算を使用してきましたが、多くの主要なコースでは科学計算がほとんど取り上げられていませんでした。理由は、すべてのコンピュータでソフトウェアを実行するのが難しいことから、十分な計算能力を持つマシンが不足していることまで多岐にわたります。彼はこれまでのキャリアの中で、授業でより多くのソフトウェアを使用するよう何度か試みてきました。「諦めました」と彼は言います。

彼は最近、自分のコースの 1 つにエレガントなソリューションを実装しました。Patera博士の研究員である Kaneko Kento 氏は、重要な計算を実行するコードを、学生がクラウドからアクセスできる、簡単にアクセス可能なコンポーネントにパッケージ化しました。「これによって問題集の深さが変わり、物事をより関連性のある興味深いものにできる範囲も変わります」とPatera氏は言います。

研究から教室へ

解決策は海軍研究局からの助成金から始まりました。Patera氏の研究室は、偏微分方程式 (PDE) を使用して、時間依存伝導問題の解に広く使用されている熱伝達近似の誤差推定値を提供する方法を開発しました。ただし、推定には単一の楕円型 PDE を解く必要があります。世界中の専門家と彼らの仕事を共有することは困難であることが判明しました。ソース コード ファイルを配布するには、受信者が環境と依存関係を再作成する必要があります。

「私は何年もの間、学生たちを職場に備えさせるのに苦労してきました。職場はシミュレーションが中心です。シミュレーションで重要なのは数字を得ることではありません。彼らが正しいと知ることです。これまで、生徒たちにそうしたスキルを身につけさせる手段がなかったのです。」

実行可能ファイルとして共有することを検討しましたが、更新プログラムを展開するのは困難でした。さらに、各受信者は実行可能ファイルを実行するための管理者権限が必要になりますが、セキュリティ上の理由から IT 部門によってブロックされることがあります。MathWorksとの協議の結果、彼らは作業を共有するための最適なアプローチ、つまりDocker ®コンテナマイクロサービスを見つけました。

コンテナは、コードとそのすべての依存関係をパッケージ化した自己完結型のソフトウェア ユニットであり、アプリケーションはどのコンピューティング環境でも同じように実行されます。Docker はコンテナの一般的な実装であり、ソフトウェア配布の事実上の標準です。Dockerコンテナはオペレーティングシステム、サポートライブラリ、実行ランタイム、PDE を解く MATLAB ® コード、および MATLAB コードを呼び出す HTTP API エンドポイント (マイクロサービスとも呼ばれます) をカプセル化します。既存のMATLABコードは、MATLAB Compiler SDK™ を使用して簡単に Docker コンテナー マイクロサービスに変換できます。 Docker コンテナ マイクロサービスのクライアント ユーザーは、オブジェクトのジオメトリを入力として提供し、Web アプリの仲介またはマイクロサービス API を介して直接、ソリューションとエラーの推定値を受け取ることができます。

MATLAB PDE ソフトウェアは、トロント大学のYano Masayuki教授と共同で Patera 氏と Kaneko 氏によって開発されました。「このプロセスは学生にとっても素晴らしいことだと私たちは思いました」とPatera氏は言います。彼と Kaenko 氏は、Patera氏 の中間熱および質量伝達クラスで同じ Docker マイクロサービス アプローチを実装しました。3 つの問題集では、Heat Transfer Microservice (HTM) が使用されます。

問題集の 1 つでは、熱ブリッジについて取り上げます。生徒は、建物の内側が左側、外側が右側にある壁の断面図を受け取ります。壁は、スチール製のスタッドが使用されている一部の領域を除いて、ほとんどが断熱されています。スタッドは建物の内部から外部へ熱を効率的に伝えます。HTM は、歪んだ 2 次元シートのように見える温度プロットを学生向けに作成します。学生は、チャートが指定された誤差範囲内で正しいことをPatera氏に納得させる必要があります。

「私は何年もの間、学生たちを職場に備えさせるのに苦労してきました」とPatera氏は言います。「職場はシミュレーションが中心です。シミュレーションで重要なのは数字を得ることではありません。彼らが正しいと知ることです。これまで、生徒たちにそうしたスキルを身につけさせる手段がなかったのです。」HTM を使用すると、学生は暗記計算や IT ソフトウェア構成を実行する代わりに、重要な評価スキルの開発に多くの時間を費やすことができます。

Patera氏は、学部教育におけるシミュレーションの重要性を強調しています。学生は、建物のエネルギー効率など、興味のあるトピックに関連した現実的な問題に取り組むことができます。また、さまざまな複雑な問題を解決するために必要となるモデリング スキルも伸ばします。「これは、彼らの『失敗』検出能力を養うのに役立ちます」とPatera氏は言います。「シミュレーションが正しいかどうか判断しなければなりません。」

「マイクロサービスが鍵となるのです」とPatera氏は付け加えます。「教育の本質的な要素は、管理、実施、アクセスに関連する実際的な障害によって妨げられることはありません。」

熱伝達マイクロサービスによって作成された、熱ブリッジ問題の温度分布をグラフ化するプロット。

熱転送マイクロサービスは、クライアント ソフトウェアに温度分布を表示するプロットの PDE ソリューションを生成し、転送します。  (画像著作権:Kento Kaneko)

クラウドにおいて

コンテナの更新されたイメージ ファイル名と構成のリストと、イメージ URL、コンテナ ポート、引数、メモリ割り当て、コンテナの各インスタンスに割り当てられた CPU の数のフィールドを示すスクリーンショット。

Google Cloud Run の構成。(画像著作権: Kento Kaneko)

「これはマイクロサービスが教育プロセスを民主化した好例だと思います。」

HTM Docker マイクロサービスは Google Cloud Platform™ 上で実行されるため、学生はどこからでもアクセスできます。Kaenko氏によれば、HTM はアップデートが簡単だといいます。効率的で信頼性が高く、拡張性に優れています。Google® Cloud Run サービスでは、複数のユーザーが同時に HTM を使用する場合、負荷を管理するために必要に応じてリソースをスケーリングします。これは自動的に行われるため、Kaenko氏はハードウェアのプロビジョニングについて心配する必要がありません。

たとえ学生が自分のパソコンでコンポーネントを実行したとしても、 必ずしもクラウド サービスから得られるのと同じパフォーマンスが得られるとは限りません。Patera氏は最終的には、リソースの少ない他の大学の学生と HTM を共有したいと考えています。「これはマイクロサービスが教育プロセスを民主化した好例だと思います」と彼は言います。

ChatGPTへ

学生たちは授業で非常に良い成績を収め、ソフトウェアに関して何の苦情も申し立てませんでした。彼は、ソフトウェアが動作しない場合を除いて、学生は礼儀正しい傾向があると指摘しています。「しかし、学期を通して、不満の声は一つもありませんでした」と彼は言う。「だからといって、彼らが教育体験を楽しんでいるということではありません。しかし、ソフトウェアが動作していることはわかります。」

Patera 氏と Kaneko 氏は、ChatGPT と互換性のあるシステムも作成したため、ユーザーは問題を自然言語で記述するだけで、HTM を呼び出して結果を取得できます。全員に ChatGPT ライセンスが付与されていないため、このオプションはまだ学生に提供されていません。

MATLAB はデスクトップ上で実験を実行するためだけのものではありません。プロフェッショナル環境と学習環境の両方において、チームはMATLAB Compiler SDKを使用して、付随するすべての依存関係を含む業界標準の形式でコードを配布できます。これにより、 MATLABアプリケーションがさまざまなオペレーティング システムやクラウド プラットフォームで一貫して実行されるようになります。

クラウドでDockerマイクロサービスを実行することにより、ユーザーは、シンプルなコマンド ラインから洗練された自然言語チャット インターフェイスに至るまで、さまざまなインターフェイスを通じてMATLABアプリケーションを操作できるため、ソフトウェアのセットアップや IT 管理ではなく、仕事の本質である批判的思考と問題解決に集中できます。

Patera 氏と Kaneko 氏は、生徒たちが 1 行もコーディングせずに熱伝達のモデリング原理を学ぶ未来を見据えています。最終的には、ChatGPT にリンゴなどの物体の写真を見せると、すべてのパラメータが HTM 関数に入力されるようになるとのことです。「つまり、知らないうちに PDE にアクセスしていることになります。もちろん、結果を受け入れるか拒否するかという最終決定は学生が下さなければなりません。」

Patera 氏と Kaneko 氏は、ChatGPT と互換性のあるシステムも作成したため、ユーザーは問題を自然言語で記述するだけで、HTM を呼び出して結果を取得できます。

冷蔵庫から取り出されたリンゴの熱伝達を計算する問題ステートメント、JSON 形式のデータ、および推奨ファイル名「apple-dunking-room-environment.json」を示す ChatGPT ユーザー インターフェイスのスクリーンショット。

ChatGPT に入力された問題ステートメント。そこから JSON 形式のデータが生成され、ファイル名の提案が提供されます。(画像著作権: Kento Kaneko)

ファイ(誤差分析に使用される幾何学ベースの量)の図、熱伝達係数のスクリーンショット、および時間の経過に伴うリンゴの温度変化を示すグラフ。

ChatGPT によって生成された JSON ファイルは GUI に渡され、GUI は Heat Transfer マイクロサービスと対話します。  (画像著作権:Kento Kaneko)


その他の事例を読む

パネルナビゲーション

AI / アカデミア

AI と IoT を活用したバイオ燃料の醸造

オンライン インターフェイスで学生が実験授業にバーチャル参加

パネルナビゲーション
パネルナビゲーション