top of page
Quemix image.jpg

TECHNICAL NOTE

On-The-Fly 機械学習MD解説(2) On-The-Fly MDとその応用

第2部では、第1部の内容を踏まえた上で、そもそもOn-The Fly MD計算とは何か?から説明して、On-The-Fly MDを用いることによって解決されるこれまでの機械学習MDの課題を説明します。

INTRODUCTION

WHAT IS

On-The-Fly MDとは

上記、機械学習MDの課題の下、我々が課題を解決し得る優れた手法と考えるのがOn-The-Fly MDです。そもそもOn-The-Fly MDとは何か?をここから説明します。On-The-Fly MDは下記の図のように、MD計算を実行しながら、誤差評価を行い、(通常は)第一原理MDとの誤差を推定します。もし、その誤差が閾値を越えると、第一原理MDに切り替わりDFT計算が実行され、学習モデルがアップデートされます。もし誤差が閾値を越えなかった場合は、原子位置がアップデートされて次のMDステップへと進めていきます。これによって、機械学習ポテンシャルを用いながら、精度が第一原理MD計算と近くなることを保証した保証付き機械学習MD計算がOn-The-Fly MD計算です。このように、できる限りDFT計算という時間がかかる処理の呼び出しを最小限に留めながら、第一原理MD計算と同程度の精度を得ることができます。実際に、このOn-The-Fly MDを実行すると、第一原理MD計算よりも100-200倍加速します。

画像4+.png
画像5.png

横軸はMDステップ、縦軸青色の点が推定された誤差です。

大きな赤い丸は誤差が閾値を超えた、つまり誤差が大きいMDステップ部分を表しています。

上の図は実際には、On-The-Fly MDを実行した際の様子を表しており、MDステップを進めていくと途中で、誤差が大きなMDステップが現れていることがわかります。この大きな誤差が観測されると、第一原理MD計算へスウィッチされることになります。ここで、注目すべき点としては、初期の10ステップにおいては誤差が大きく、第一原理MDステップが繰り返されることです。それは、まだ初期ステップにおいては十分な学習データが得られておらず、そのために誤差が大きいことを示しています。しかし、10ステップを超えたあたりから急激に誤差が小さくなり、これは第一原理MDを模倣した良い機械学習ポテンシャルが生成されつつあることを示しています。そして、10ステップを超えた後では、ほとんどが機械学習MDのステップとなり、DFTがほとんど呼び出されていないことがわかります。実際に、この図においては、220ステップほどの様子がプロットされていますが、この中でDFTが呼び出された回数は20回程度となっています。つまり、第一原理MDに比べてDFT計算が10分の1程度に減少していることがわかります。ただし、この20回のDFTの呼び出しのうち、10回程度は初期に呼び出されている部分であるため、全体のMDステップがもっと大きくなると、全体に占めるDFT呼び出し回数の割合も減ってくることになります。実際に、長時間のOn-The-Fly MD計算を行うと、全体のステップ数に比べてDFTの呼び出しは100分の1にまで減少します。これにより、第一原理MDに比べて百倍近い計算コストの削減となり、計算時間は100分の1程度に抑え込まれることとなります。これがOn-The-Fly MD計算です。いかに第一原理MD計算と比べてOn-The-Fly MD計算がメリットある方法であるかを説明しました。

FURTHER

On-The-Fly MDのさらなる活用

ここでは、On-The-Fly MDがどうして機械学習ポテンシャルのデータベースを活用した課題2つを解決し得るのかを説明します。まず、1つ目の課題、機械学習ポテンシャルのための計算コストに関してです。On-The-Fly MDで機械学習ポテンシャルを生成することを考えてみましょう。通常、機械学習ポテンシャルを生成する場合、ニューラルネットワークを用いて行われ、まずは事前に数百ものDFT計算が実行され、教師データが生成されます。ただし、この数百もの学習データにはお互いに近いものも含まれ、一般には重複が大きいものとなっています。つまり、重複のある無駄なものまでDFT計算が実行され、これが計算のボトルネックとなっています。一方で、On-The-Fly MDではどうかというと、MDステップが実行され、推定誤差が大きいところのみをDFT計算を行い、学習モデルに取り込んでいくというアプローチのため、重複データのない最小限のDFT計算の回数に留まります。このため、大幅なDFT計算の回数の削減につながり、機械学習ポテンシャルの高速生成が可能になります。2つ目の課題、ハイパーパラメータが多すぎることによるMD計算の原則に関してです。これまでOn-The-Fly MD計算において、第一原理MD計算結果を信頼できる参照データとしていました。できる限り、第一原理MD計算の結果を再現するように、そこからの誤差推定を毎ステップ行っていました。この参照データをもしCHGNetのような機械学習ポテンシャルにしたらどうなるでしょうか?CHGNetなどの機械学習ポテンシャルを教師データとするとOn-The-Fly MDはできる限りCHGNetなどの機械学習ポテンシャルを真似するように働きます。その際、もしOn-The-Fly MDのハイパーパラメータを少なくとるとどうなるでしょうか?実際に、On-The-Fly MDでは汎用性(どんな物質でもある程度の正解を出すこと)を求められていません。計算したいと思っている対象物質に対して、精度が良ければ良いのです。したがって、CHGNetなどのような汎用ポテンシャルよりも少ないハイパーパラメータでも同程度の精度を出すことが可能になります。実際、このようにCHGNetなどの機械学習ポテンシャルを教師データとしてOn-The-Fly MDを実行すると、ハイパーパラメータの少ない機械学習ポテンシャルに作り変えることができるのです。一度ハイパーパラメータの少ない機械学習ポテンシャルが作成できると、そのMD計算のスピードは百倍近いスピードになります。もちろん、CHGNetなどの汎用性のある機械学習ポテンシャルをそのまま利用してMD計算をするよりも一手間がかかり面倒にはなりますが、その後の恩恵は凄まじいものになります。特に、長時間MD計算をしたいという方には、素直に汎用型の機械学習ポテンシャルで行うよりも圧倒的な計算スピードになりますので、是非こちらの方法をオススメします。

BY QULUOD

Quloudで提供されるOn-The-Fly MD

このように、On-The-Fly MDを使うと、これまでの機械学習MDが大きく発展できることを説明してきました。この度、我々の製品Quloud V5.0では、このOn-The-Fly MDが実装されます。また、上記のような、様々な使い方がUIで操作できるものとなっております。是非とも、機械学習MDを初めてみたい方、機械学習MDでお困りの方はご検討いただけますと幸いです。

大規模CHGNet-MD計算を長時間実行したい人にオススメ

  • 機械学習ポテンシャルを高速で作成したい人にオススメ

  • ​大規模MD計算を実行したい人にオススメ

とにかく高精度でDFT-MDを実行したい人にオススメ

​ご利益のあるユーザ

CHGNetの100分の1

(LAMMPSとの相乗効果による、100倍加速)

CHGNetの100分の1

(LAMMPSとの相乗効果による、100倍加速)

​(NNポテンシャルと比べても5倍以上高速)

DFT-MDに比べて百倍程度の加速

本格run時間

手間がかかる

75%軽減
​特に、OpenMXを使用すると高速化(強力でオススメ)

​ー

学習時間

​CHGNet-MDの加速

機械学習ポテンシャルの高速生成

DFT-MDの加速

​内容

3

2

1

Variation

bottom of page