AI

AIによる材料シミュレーション生成、45件の評価でAPI参照エラーなし

この記事のポイント

  1. 実現したこと

    AIコーディングエージェントが、自然言語で指定された材料と計算条件からシミュレーション用コードを生成・実行した。

  2. 実現の仕組み

    Toolkit向けのエージェントスキルがAPIの使用例を渡し、実行可能なPython環境で生成コードを動かした。

  3. 得られた結果

    NVIDIAが評価した45件の生成パイプラインでは、壊れたインポートと存在しないAPIへの参照が確認されなかった。

  4. 従来との違い

    リチウムの自己拡散計算では、NVEの指定により、生成された全スクリプトが測定に適したアンサンブルへ切り替わった。

結晶格子内を拡散するリチウム粒子とシミュレーション資料の編集イラスト
AI生成画像

AIが生成する材料シミュレーション用コードのAPI参照を、実行環境と専用ガイドの組み合わせで正確にできるか。NVIDIAの45件の評価では参照エラーが生じなかったが、リチウムの拡散計算では条件の指定が結果を大きく変えた。

自然言語の計算条件からGPU向けの実行コードを作る

AIコーディングエージェントは、研究者が自然言語で示す材料、条件、計算手順を受け取り、シミュレーション用コードを生成して実行する。計算基盤となるNVIDIAの材料シミュレーション用ソフトウェア「NVIDIA ALCHEMI Toolkit」は、機械学習による原子間ポテンシャルを使ったGPU上の計算を、PyTorchを基盤とする部品から組み立てる。

エージェントにはToolkitのAPIを正しく呼び出す知識も必要になる。Toolkit向けのエージェントスキルと参照ファイルは、必要になった時点でAPIの使用例を渡すため、研究者の指示を材料や計算条件に集中させられる。

生成コードを実行できる環境で45件を評価

NVIDIAの最終評価では、Toolkitを導入したPython環境を用意し、エージェントが生成コードを実際に動かせるようにした。対象はシリコンの状態方程式、銅(111)面への酸素吸着、リチウムの自己拡散という3種類の計算だった。

この条件で生成した45件のパイプラインには、壊れたインポートも存在しないAPIへの参照もなかった。この結果が示すのはコード上の参照の正確さであり、計算対象や物理条件の妥当性は別に確かめる必要がある。

指示の細かさがコードの再利用性と長さを変える

プロンプトには、材料と計算方法だけを示す段階から、コマンドラインの入出力仕様まで定める段階まで幅がある。後者では生成コードの再利用性が完全になった一方、Sketch段階の指示に比べてトークン消費は約4倍、コード量は2.3倍になった。

指定すべき内容はコードの形式だけではない。初期の試験では、「リチウム材料の輸送特性」という曖昧な依頼から、リチウムではなくアルゴンのデモを扱うコードが生成された。材料や相を明示する指示は、APIの正確さとは異なる、計算対象の取り違えを防ぐ役割を持つ。

リチウム拡散の値を左右した熱浴の指定

リチウムの自己拡散計算では、熱浴について指示しないコードが、本計算にLangevin動力学を使った。その条件で得られた拡散係数は3~5倍小さくなり、実行できるコードでも計算手順によって結果が変わることが分かった。

プロンプトでNVEアンサンブルを指定すると、生成された全スクリプトが測定に適した条件へ切り替わった。エージェントへ渡す指示には、対象物質に加えて、測りたい物理量を左右する計算条件も含める必要がある。