概要
TorchANI は、ANI ニューラルネットワークポテンシャル群を PyTorch で実装しています。ドキュメントに記載された役割は、単独の予測モデルを提供することではなく、ANI 系ニューラルネットワーク原子間ポテンシャルの学習、開発、研究を支援することです。README では、Roitberg group が当初の開発者であり、現在のメンテナーであるとされ、ライブラリに関するドキュメントや論文へのリンクが掲載されています。
分子モデリングのワークフローにおいて、TorchANI は記述子の計算やネットワーク推論など、これらのポテンシャルを扱うための基盤を提供します。オプションの C++ および CUDA 拡張により、これらの処理を高速化できます。出典の抜粋には、正確な分子入力形式、出力構造、対応元素、個々の事前学習済みモデルの適用範囲は記載されていません。科学的用途を選ぶ前に、リンク先のドキュメントでこれらの詳細を確認する必要があります。Amber を用いた分子動力学について、README は独立した TorchANI-Amber インターフェースを案内しており、完全な機械学習および ML/MM ワークフローをサポートしています。この統合はコアパッケージ単独で確立されているものではありません。
インストールガイドでは、conda パッケージはメンテナンスされていないとされているため、隔離環境内での pip の使用が推奨されています。パッケージメタデータでは Python >=3.10 が必須で、PyTorch の依存関係も指定されています。README によると CUDA 対応 GPU がサポートされ、GPU の使用が推奨されています。また、GPU がない場合は性能が低下すると注意されています。AMD GPU のサポートと Apple MPS は未テストであり、macOS では CUDA を利用できないとも記載されています。既存ユーザーには、API の変更について移行ガイドを参照するよう案内されています。抜粋には精度や速度の定量的なベンチマークがないため、特定の化学タスクへの適性は評価が必要です。
主な機能
- ANI ニューラルネットワークポテンシャル群を PyTorch で実装し、学習、開発、研究に利用できます。
- 記述子の計算とネットワーク推論に、オプションの C++ および CUDA 拡張を利用できます。
- CUDA 対応 GPU で実行でき、プロジェクトでは GPU の使用が推奨されています。
- 拡張機能のビルドなど、プロジェクトのユーティリティを利用するための `ani` コマンドラインエントリーポイントを備えています。
- 移行時に以前の ANI モデルの状態辞書へアクセスするための `.legacy_state_dict()` メソッドを備えています。
用途
- 評価案:ANI 系原子間ポテンシャルを開発または学習する。対応するデータ表現と学習手順はドキュメントで確認します。
- 評価案:各モデルが対応する化学系と、ドキュメントに記載された出力を確認したうえで、代表的な分子系に対するニューラルポテンシャル推論を評価します。
- 評価案:独立した TorchANI-Amber インターフェースを通じて、Amber による完全な ML または ML/MM 分子動力学を検討します。
- 評価案:移行ガイドを利用し、必要に応じて旧版の状態辞書へのアクセスも活用して、既存の TorchANI ワークフローを移行します。
使い方
- 公式ドキュメントから始め、学習または推論の例を選びます。分子入力、想定される出力、モデルの適用範囲を確認してください。これらの詳細は抜粋に記載されていません。
- リポジトリのインストールガイドを確認します。隔離環境を選び、提供されたパッケージメタデータで Python と PyTorch の要件を確認してください。conda パッケージはメンテナンスされていないため、README では pip が推奨されています。
- CUDA 実行が適切か判断します。コンパイル済み拡張を使う場合は、リンク先の CUDA Toolkit ガイドに従い、リポジトリのビルド手順に進む前に、Toolkit が選択した PyTorch 環境と一致していることを確認してください。
- 既存のワークフローについては、移行ガイドを参照します。API の変更点と、以前のモデル状態辞書が必要かどうかを確認してください。
- 評価手順として、代表的な入力を用いてドキュメントに記載された例を実行し、インストールの成否とは分けて科学的な適性を評価します。Amber シミュレーションについては、統合を計画する前に、別個の TorchANI-Amber リポジトリを確認してください。