[レポート]PytorchでのPhysics-informed neural networksフレームワーク #CMP-211-R #reinvent

2022.11.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

データアナリティクス事業本部の鈴木です。

CMP-211-Rの『A framework for physics-informed neural networks on PyTorch』を聴講したのでレポートです。

セッションについて

登壇者

  • Srinivas Tadepalli, Head of HPC GTM, AWS
  • Ana Simoes, Principal Specialist, ML Frameworks, Amazon

Session level

200 - Intermediate

Session type

Chalk Talk

セッション概要

さまざまなタスクに対して高速かつ高精度に動作するための、Pytorchでの新しいphysics-informed neural network (PINNs)に関するchalk talkです。このような分野では計算コストに関連する制約に直面することが多いです。この点を解決しつつ、工学分野で利用される偏微分方程式を解くための、PINNsやそのたエンジニアリング手法について学ぶことができるセッションです。なお、AWSとUniversity of Central Floridaの共同で行われています。

PINNsは物理法則を表現する微分方程式の情報を取り入れつつ、ニューラルネットを学習し、近似関数を作る手法で、例えば以下を参照ください。

Physics-informed neural networks

記事にご紹介した以外にもスライドや内容がありますが、大筋部分を記事としました。

レポート

Pytorchで実装したphysics-informed neural network (PINNs)の例を通して、その仕組みや大規模でセルフマネージドな計算環境をどのように構築したかを紹介していました。

ニューラルネットの例としては題名にあるようにPINNsをJupyter Notebookで実装したサンプルで紹介しつつも、NLPなどほかの分野についても触れていました。また、それをどのような計算機環境で解くかについても、具体的な構成を踏まえて紹介されていました。

Chalk talkなので、前半は用意されたスライドの発表があり、後半は会場から募った質疑応答が行われました。

まずはPINNsについての紹介です。これまでは化学や流体力学のような手法で解かれていた、微分方程式で記述されるような物理モデルに関する問題を、機械学習の発展によりニューラルネットで解いていくようなケースがでてきています。

PINNsについて

現在はこの手法を用いて、例えば以下のような問題が取り組まれています。

現在取り組まれている問題

今回紹介された構成では、1例として、車の特徴を決める問題が挙げられていました。

構築したクラスターで取り組んだ問題

このような問題を解くためには、大規模なコンピューティング環境やネットワーク・ストレージが必要になります。そこでEC2によるUltraClustersが紹介されました。

紹介された構成

EC2・EFAなどのサービスをキーとして、AWS上にセルフマネージドな機械学習環境を構成しています。特に複数マシンでの並列計算を意識して、ストレージやネットワークのサービス選定がされているのがとても面白く、こういう構成にすればいいのかと勉強になりました。

キーとなるサービス

AWS上に構築することで、ほかの適切なサービスを利用することで、データの加工やラベリングなど行うことができるメリットもありますね。計算機クラスター部分は自前で管理しつつ、そこまでカスタマイズ性が高くなくてもよいところはマネージドサービスなど管理コストが低いサービスも使えるのでとても便利です。

そのほかの有効なサービス

PINNsのほかに、GPT-3の実験をするための構成も紹介されていました。こちらも同様の構成になっていますね。

GPT-3の例

最後にJupyter Notebookで作成したPINNsのモデルの例も紹介してもらいました!周期的かつ減衰していくような関数に対して、最初のいくつかのデータから関数をフィッティングできていて、とても面白かったです。

PINNsの例

感想

物理・機械学習・HPCということで、とても楽しみにしていたセッションでした!PINNsの例だけではなく、AWS上にどのような構成で計算機環境を構築すればこのような高い計算コストがかかる問題が解けるのかというところまで含めて学べたのでとても面白かったです。

特に、EFAとEFS(ESx)でマシン間の連携を取ることで計算機クラスターを構成する例が、とても勉強になりました。オーケストレーションのキーはAWS Batchということで、ここについてはどのようにクラスターをスケールさせていくのか、さらに勉強していこうと思います。