AWS Startup ブログ
【セッション紹介】AWS をプラットフォームとして活用した汎用原子レベルシミュレータ Matlantis のご紹介 / AWS Summit Online 2022
延べ 35,000 人が視聴する、AWS を学ぶ日本最大のイベント「AWS Summit Online 2022」が、2022 年 5 月 25 日・26 日に開催されました。本記事では基調講演やセッションのなかから、スタートアップに関連するものをご紹介します。
今回ピックアップするのは「AWS をプラットフォームとして活用した汎用原子レベルシミュレータ Matlantis のご紹介」です。
2021 年 7 月、株式会社Preferred Computational Chemistry* は、原子レベルで材料の挙動を再現することで大規模な材料探索を可能とする、汎用原子レベルシミュレータ Matlantis(マトランティス)をリリースされました。
同社はプラットフォームとして AWS を採用し、Amazon EKS と Amazon EC2 GPU インスタンスを活用して、構想から約半年で提供を開始されています。本セッションでは、Matlantis のサービス概要や AWS を採用した経緯、各種マネージドサービスを活用した開発と運用の効率化の取り組みを紹介いただきました。
登壇者はこちらの 2 名です。
株式会社Preferred Networks プロダクトマネージャー 川口 順央 氏
株式会社Preferred Networks エンジニア 坂田 雅雄 氏
*…株式会社Preferred Computational Chemistry は、株式会社Preferred Networks と ENEOS株式会社の共同出資により 2021 年 6 月に設立された企業です。同社は汎用原子レベルシミュレータ Matlantis の提供を行っております。
Matlantis が材料の研究開発のサイクルを大きく変える
セッション前半ではプロダクトマネージャー 川口 氏が登壇。Matlantis のサービス概要を解説されました。「Matlantis は持続可能な世界を実現するためのコアな技術だと考えています」と川口 氏は言及。そのうえで、従来の材料探索が抱える問題と、それに対する Matlantis のアプローチを説明されました。
材料探索とは、従来の物質の特性と同等もしくは上回る特性を、別の物質によって実現すること。材料探索は持続可能な社会を実現するうえで重要な要素です。地球環境改善のためには、再生可能エネルギーを水素などで貯蔵する際の効率的な触媒の開発や既存バッテリーの改良、新規バッテリーの開発、環境負荷の高い材料の置き換え、レアアースといった資源の置き換えなどを実施しなければなりませんが、そのためには新しい材料の発見が必要です。
従来の材料探索には、材料開発に多大なる時間とコストがかかるという問題がありました。新しい材料の候補の組み合わせは、無限大といえるほどに多種多様。すべての組み合わせを実験で評価することは不可能です。
こういった問題の解決を目指して、最近では Materials Informatics という取り組みが見られるようになりました。その多くは、実験結果や文献からデータセットを作り、それを学習することで、実験を行うことなく実験結果を予測するものです。しかし、十分な量のデータを揃えるのが難しい、データにない材料の結果予測の精度が良くないなどの問題があります。
シミュレーションを使う方法もあるのですが、従来のシミュレーションは精度と速度のトレードオフが必要でした。精度の高い手法を使うと、計算に非常に長い時間がかかってしまいます。逆に、高速に計算する手法を選んだ場合には、表現できる現象が限られてしまうなどの問題があります。加えて、シミュレーションを実行するには大規模な計算機が要りますし、計算環境の構築と維持、運用には高いコストとスキルが必要です。
株式会社Preferred Networks プロダクトマネージャー 川口 順央 氏
「こうした従来の材料探索の問題を、私たちは Matlantis を SaaS として提供することで解決します」と川口 氏は述べられました。Matlantis は第一原理計算に基づいたシミュレーションで大量の学習データを作り、それによって学習した深層学習モデルで高精度のシミュレーションを高速に実現します。
Matlantis の深層学習モデルの推論は、従来の第一原理計算のシミュレーションと同程度の精度を実現し、10 万倍から 1,000 万倍の非常に速い速度で計算できます。現在は 55 元素の組み合わせに対応しており、さまざまな現象の再現が可能。触媒や電池、潤滑油など、多種多様な領域の開発に利用可能です。
Matlantis はクラウドサービスとして提供されるため、ユーザーは計算環境や学習データを用意する必要がなく、ブラウザからすぐに使うことができます。「シミュレーションによるバーチャルな実験と、実際の装置などを使って行うリアルな実験を組み合わせることで、Matlantis が材料の研究開発のサイクルを大きく変える」と川口 氏は説明されました。
Matlantis の高速性を活かして、膨大な候補のなかから有望な候補を絞り込むことができます。そして、絞り込んだ候補を実際に実験して結果を確認し、その考察から判明したことをシミュレーションにフィードバックします。このようにシミュレーションと実験を組み合わせることで、材料の開発期間を大幅に短縮できるのです。
セッション内では、Matlantis を利用するデモも披露されました。
AWS によりインフラ関連の煩雑な作業から解放された
続いて、Matlantis のインフラに AWS を採用した経緯や、開発・運用の効率化の方法についてエンジニアの坂田 氏が説明されました。Matlantis を SaaS として立ち上げることが決まった際、プラットフォームに求める要件として 3 つのポイントがあったといいます。
1. 計算資源の柔軟な拡張
・ユーザー数や計算負荷の増加など規模の変化に柔軟に対応できる
・ユーザーから要求される計算負荷に耐えられる十分な計算資源を用意できる
2. セキュアなマルチテナント環境
・ユーザーごとの計算環境やデータを分離する
・通信の暗号化や保存したユーザーデータの暗号化を行う
3. インフラの運用負荷の軽減
・インフラ自体の運用に手間がかからない
・障害で停止することなく稼働し続ける
・障害を検知して可能な限り自動復旧する
AWS がこれらの要件を満たすことから、採用に至ったといいます。以下の図が、AWS を用いて構築された Matlantis のアーキテクチャです。
Matlantis は Amazon EC2 の CPU インスタンスで稼働する Jupyter Notebook で計算環境を提供します。ユーザーは Amazon Elastic Load Balancing と AWS WAF を介して、インターネットから Jupyter Notebook にアクセスします。
そして、シミュレーションの処理は GPU インスタンスで稼働する深層学習モデル搭載のサーバーが担当。このサーバーに推論のリクエストを送って、シミュレーションを行います。各種インスタンスやサーバーなどのコンポーネントは、Amazon EKS のクラスター内で Node や Pod として稼働しています。
ここからは、先ほど述べた「1. 計算資源の柔軟な拡張」「2. セキュアなマルチテナント環境」「3. インフラの運用負荷の軽減」の要件を、各種 AWS サービスによってどのように実現しているのかを、坂田 氏は解説されました。
1. 計算資源の柔軟な拡張
Amazon EC2 GPU インスタンス
・シミュレーションする原子数に応じて複数の種類の GPU インスタンスを使い分け
Amazon EC2 Auto Scaling グループ
・Amazon EKS に Kubernetes Cluster Autoscaler と Horizontal Pod Autoscaler を配置
・各コンポーネントにかかる負荷をメトリクスとした Amazon EC2 インスタンスのオートスケーリングを実施
2. セキュアなマルチテナント環境
ユーザーの計算環境の分離
・1 つの Notebook につき 1 つの Amazon EC2 インスタンスを割り当て、ユーザーの計算資源をインスタンス単位で分離
ユーザーデータの分離
・Amazon EBS を使ったワークスペースの分離と永続化。そして Amazon EBS スナップショットを使ったデータの保全
ネットワークの分離
・AWS Security Policy と Kubernetes Network Policy によって通信を制御
セキュアな通信とデータの暗号化
・通信の暗号化:AWS Certificate Manager による SSL/TLS 証明書のプロビジョニングと管理
・ストレージの暗号化:AWS Key Management Service による鍵の管理
3. インフラの運用負荷の軽減
・サービスの早期立ち上げを可能にする、さまざまなマネージドサービスを利用
株式会社Preferred Networks エンジニア 坂田 雅雄 氏
「AWS を有効活用することで、サービスの構想から約半年という短い期間で、素早く Matlantis を立ち上げることができました」と坂田 氏は述べられました。そしてセッション終盤では、Matlantis のプロジェクトで実施している開発と運用の効率化の方法について、以下のような観点で解説されました。
GitOps をベースにした開発・運用
・CI/CD によるスピーディーな開発サイクル
・IaC によるインフラのバージョン管理と運用
サービスの状態の可視化
・メトリクスを使ったユーザーの利用動向(計算負荷)の把握
・システムの異常や障害の検知(要改善箇所の把握)
安定的な運用
・Amazon EKS や各種コンポーネントの定期的なアップグレード
・適切な計算リソースの見積もりと割り当て
AWS を活用し、Matlantis を素早くリリースできたストーリーをお伝えいたしました。今後プロダクト開発を検討されるお客さまも、ぜひこの事例を参考のうえ AWSの活用をご検討ください。
本セッションは、 AWS Summit Online 2022 オンデマンドサイトで公開しております。こちらよりご視聴ください。