自己学習ハイブリッドモンテカルロ法による力場自動生成(NeuralMD連携)

1つの初期構造から自動的にNeuralMDの力場を作る機能です。グランドプロジェクトを使った場合にはユーザーが教師データの生成を行いますが、本機能では1つの初期構造を用意するだけで、教師データの準備を行う必要はありません。

注釈

本機能を使う場合は、別途NeuralMDのライセンスが必要です。設定が済んでいない場合はこちらの説明を参照して設定を行ってください。

使用手順

1. 初期構造の用意

初期構造として使うプロジェクトを開きます。必要に応じ、計算エンジンがQ.E.に設定されている状態で、SCFの設定を行ってください。ここでの設定内容が自己学習ハイブリッドモンテカルロ法の第一原理計算で使われます。

2. SLHMCの設定

画面左下のメニュー projectmenuicon から Change calculator をクリックし、 SLHMC を選んでください。自己学習ハイブリッドモンテカルロ法の設定画面が表示されます。設定項目の詳細については、NeuralMDのドキュメントにある設定ファイルの説明 slhmc.prop の対応する項目を参照してください。

初期ニューラルネットワーク力場を第一原理分子動力学計算から作らず、既に作成している力場を使いたいという場合は、 Initial FPMD を0に設定してから、 Initial NNPImport File of NNP をクリックし、ffield.sannpファイルを選択してください。

../_images/slhmc_setting.png

3. NNPの設定

Details of NNPStart Setting NNP をクリックすると、ニューラルネットワーク力場の設定画面が表示されます。設定項目の詳細については、NeuralMDのドキュメントにある設定ファイルの説明 sannp.prop の対応する項目を参照してください。

  • Training w/o Force をyesにすると、力の損失関数の係数 coefForce が0になり、エネルギーだけを使って学習します。

設定が終わったら、画面左下の projectmenuicon から Return to SLHMC をクリックし、元のプロジェクト画面に戻ります。

../_images/slhmc_nnp.png

4. 実行

画面左下のメニュー projectmenuicon から Run をクリックし、実行します。リモートで実行する場合は、ジョブスクリプトnanolabo.shに加えて、Quantum ESPRESSO、LAMMPS、NeuralMDを呼び出す際に実行されるスクリプトの編集画面も表示されますので、内容を確認し、必要に応じて変更してから OK をクリックしてください。

注釈

Windows版NeuralMDは現在MPI並列に対応していないため、Windowsでローカル実行する場合は #Processes を1に設定してください。OpenMP並列は使用可能です。

ヒント

GPUを使ってより高速に実行することができます。対応しているのは、Advance/NeuralMDを使ったニューラルネットワーク力場の学習(Advance/NeuralMD Pro版のライセンスが必要)、およびLAMMPSを使ったニューラルネットワーク力場による分子動力学計算です。

  • (Linuxのみ)ローカルで実行する場合、 メインメニュー ‣ Properties ‣ Advance/NeuralMDNumber of GPU に使用するGPUの数を設定します。複数のGPUを使用する設定の場合、MPI並列のプロセスを各GPUに均等に割り当てて実行されます。0を設定するとGPUを使用しません。

  • リモートで実行する場合、SSHサーバーの設定で使用するキューのGPU設定を有効にしてください。

注釈

  • GPUドライバを事前にインストールしておく必要があります。CUDA 11.4.4を使用しており、これに対応するドライババージョン470.82.01以上が必要です。

  • 元素数が5以上の場合は、重み付き対称関数を使う(Element Weightをyesに設定する)必要があります。

実行後、タブに戻るとResult画面が表示され、初期ニューラルネットワーク力場作成用の第一原理分子動力学計算(FPMD)、ハイブリッドモンテカルロ計算(HMC)の状況を確認できます。計算中は進捗( #Steps of Training に対する割合)が表示されます。ニューラルネットワーク力場は随時更新され、Accepted Rate(モンテカルロ法の採択率)が1に近く、エネルギーの平均絶対誤差(MAE)が小さいほど、性能の良い力場であると判断できます。

force-field をクリックすると、学習したニューラルネットワークをLAMMPSの力場ファイルとして保存できます。train-data をクリックすると、生成された教師データを保存できます。

ヒント

作成した力場ファイルを使って分子動力学計算を行うには、LAMMPSのプロジェクトの Force-Field 設定画面で Type of Force Field をNeuralMDまたはNeuralMD with Chargeに設定して、 Potential File で作成した力場ファイルを選択します。

../_images/slhmc_result.png