From 6620abf560e3d7cb609d2d271e5ca4627888eb49 Mon Sep 17 00:00:00 2001 From: Duo <50307526+iProzd@users.noreply.github.com> Date: Thu, 13 Mar 2025 22:17:24 +0800 Subject: [PATCH 1/7] doc: update DPA3 doc and example --- doc/model/dpa2.md | 2 +- doc/model/dpa3.md | 80 ++++++++++++++++ doc/model/index.rst | 1 + doc/model/train-energy-spin.md | 1 + examples/water/dpa3/README.md | 4 + examples/water/dpa3/input_torch.json | 94 +++++++++++++++++++ .../lmp/{jax_dpa2.lammps => jax_dpa.lammps} | 2 +- source/tests/common/test_examples.py | 1 + 8 files changed, 183 insertions(+), 2 deletions(-) create mode 100644 doc/model/dpa3.md create mode 100644 examples/water/dpa3/README.md create mode 100644 examples/water/dpa3/input_torch.json rename examples/water/lmp/{jax_dpa2.lammps => jax_dpa.lammps} (91%) diff --git a/doc/model/dpa2.md b/doc/model/dpa2.md index a733ba9d65..c8e60c514a 100644 --- a/doc/model/dpa2.md +++ b/doc/model/dpa2.md @@ -26,7 +26,7 @@ When using the JAX backend, 2 or more MPI ranks are not supported. One must set atom_modify map yes ``` -See the example `examples/water/lmp/jax_dpa2.lammps`. +See the example `examples/water/lmp/jax_dpa.lammps`. ## Data format diff --git a/doc/model/dpa3.md b/doc/model/dpa3.md new file mode 100644 index 0000000000..cc10a8bbe7 --- /dev/null +++ b/doc/model/dpa3.md @@ -0,0 +1,80 @@ +# Descriptor DPA-3 {{ pytorch_icon }} {{ jax_icon }} {{ dpmodel_icon }} + +:::{note} +**Supported backends**: PyTorch {{ pytorch_icon }}, JAX {{ jax_icon }}, DP {{ dpmodel_icon }} +::: + +DPA3 is an advanced interatomic potential leveraging the message passing architecture. +Designed as a large atomic model (LAM), DPA3 is tailored to integrate and simultaneously train on datasets from various disciplines, +encompassing diverse chemical and materials systems across different research domains. +Its model design ensures exceptional fitting accuracy and robust generalization both within and beyond the training domain. +Furthermore, DPA3 maintains energy conservation and respects the physical symmetries of the potential energy surface, +making it a dependable tool for a wide range of scientific applications. + +Reference: will be released soon. + +Training example: `examples/water/dpa3/input_torch.json`. + +## Hyperparameter tests + +We systematically conducted DPA-3 training on six representative DFT datasets: +metallic systems (`Alloy`, `AlMgCu`, `W`), covalent material (`Boron`), molecular system (`Drug`), and liquid water (`Water`). +Under consistent training conditions (0.5M training steps, batch_size "auto:128"), +we rigorously evaluated the impacts of some critical hyperparameters on validation accuracy. + +The comparative analysis focused on average RMSEs (Root Mean Square Error) for both energy, force and virial predictions across all six systems, +with results tabulated below to guide scenario-specific hyperparameter selection: + +| Model | Comment | `nlayers` | `n_dim` | `e_dim` | `a_dim` | `e_sel` | `a_sel` | `start_lr` | `stop_lr` | loss prefactors | RMSE_E (meV/atom) | RMSE_F (meV/Å) | RMSE_V (meV/atom) | Training wall time (h) | +| --------------------- | ------------------ | --------- | ------- | ------- | ------- | ------- | ------- | ---------- | --------- | ----------------------------- | ----------------- | -------------- | ----------------- | ---------------------- | +| **DPA-3 L3** | Default | 3 | 256 | 128 | 32 | 120 | 30 | 1e-3 | 3e-5 | 0.2\|20, 100\|60, 0.02\|1 | 5.74 | 85.4 | 43.1 | 9.8 | +| | Small limit_pref_f | 3 | 256 | 128 | 32 | 120 | 30 | 1e-3 | 3e-5 | 0.2\|20, 100\|**20**, 0.02\|1 | 5.39 | 87.2 | 42.1 | 9.8 | +| | Small stop_lr | 3 | 256 | 128 | 32 | 120 | 30 | 1e-3 | **1e-5** | 0.2\|20, 100\|**20**, 0.02\|1 | 5.49 | 89.8 | 43.1 | 10.1 | +| | Large sel | 3 | 256 | 128 | 32 | **154** | **48** | 1e-3 | **1e-5** | 0.2\|20, 100\|**20**, 0.02\|1 | 5.53 | 93.0 | 43.3 | 14.4 | +| | Small dimension | 3 | **128** | **64** | 32 | **154** | **48** | 1e-3 | **1e-5** | 0.2\|20, 100\|**20**, 0.02\|1 | 6.69 | 102.8 | 48.4 | 9.4 | +| **DPA-3 L6** | Default | 6 | 256 | 128 | 32 | 120 | 30 | 1e-3 | 3e-5 | 0.2\|20, 100\|60, 0.02\|1 | - | - | - | - | +| | Small limit_pref_f | 6 | 256 | 128 | 32 | 120 | 30 | 1e-3 | 3e-5 | 0.2\|20, 100\|**20**, 0.02\|1 | - | - | - | - | +| | Small stop_lr | 6 | 256 | 128 | 32 | 120 | 30 | 1e-3 | **1e-5** | 0.2\|20, 100\|**20**, 0.02\|1 | 4.01 | 77.6 | 38.5 | 19.1 | +| | Large sel | 6 | 256 | 128 | 32 | **154** | **48** | 1e-3 | **1e-5** | 0.2\|20, 100\|**20**, 0.02\|1 | 4.22 | 79.8 | 38.8 | 31.5 | +| | Small dimension | 6 | **128** | **64** | 32 | **154** | **48** | 1e-3 | **1e-5** | 0.2\|20, 100\|**20**, 0.02\|1 | 5.08 | 82.5 | 41.2 | 20.0 | +| **DPA-2 L6 (medium)** | Default | 6 | - | - | - | - | - | 1e-3 | 3.51e-08 | 0.02\|1, 1000\|1, 0.02\|1 | 12.12 | 109.3 | 83.1 | 12.2 | + +The loss prefactors (0.2|20, 100|60, 0.02|1) correspond to (`start_pref_e`|`limit_pref_e`, `start_pref_f`|`limit_pref_f`, `start_pref_v`|`limit_pref_v`) respectively. +Virial RMSE were averaged exclusively for systems containing virial labels (`Alloy`, `AlMgCu`, `W`, and `Boron`). + +Note that we set `float32` in all DPA-3 models, while `float64` in other models by default. + +## Requirements of installation from source code {{ pytorch_icon }} + +To run the DPA-3 model on LAMMPS via source code installation +(users can skip this step if using [easy installation](../install/easy-install.md)), +the custom OP library for Python interface integration must be compiled and linked +during the [model freezing process](../freeze/freeze.md). + +The customized OP library for the Python interface can be installed by setting environment variable {envvar}`DP_ENABLE_PYTORCH` to `1` during installation. + +If one runs LAMMPS with MPI, the customized OP library for the C++ interface should be compiled against the same MPI library as the runtime MPI. +If one runs LAMMPS with MPI and CUDA devices, it is recommended to compile the customized OP library for the C++ interface with a [CUDA-Aware MPI](https://developer.nvidia.com/mpi-solutions-gpus) library and CUDA, +otherwise the communication between GPU cards falls back to the slower CPU implementation. + +## Limiations of the JAX backend with LAMMPS {{ jax_icon }} + +When using the JAX backend, 2 or more MPI ranks are not supported. One must set `map` to `yes` using the [`atom_modify`](https://docs.lammps.org/atom_modify.html) command. + +```lammps +atom_modify map yes +``` + +See the example `examples/water/lmp/jax_dpa.lammps`. + +## Data format + +DPA-3 supports both the [standard data format](../data/system.md) and the [mixed type data format](../data/system.md#mixed-type). + +## Type embedding + +Type embedding is within this descriptor with the same dimension as the node embedding: {ref}`n_dim ` argument. + +## Model compression + +Model compression is not supported in this descriptor. diff --git a/doc/model/index.rst b/doc/model/index.rst index 33dbf571cf..b97db858cc 100644 --- a/doc/model/index.rst +++ b/doc/model/index.rst @@ -10,6 +10,7 @@ Model train-se-e3 train-se-atten dpa2 + dpa3 train-hybrid sel train-energy diff --git a/doc/model/train-energy-spin.md b/doc/model/train-energy-spin.md index 1d56d59449..52a470f2a6 100644 --- a/doc/model/train-energy-spin.md +++ b/doc/model/train-energy-spin.md @@ -51,6 +51,7 @@ In PyTorch/DP, the spin implementation is more flexible and so far supports the - `se_e2_a` - `dpa1`(`se_atten`) - `dpa2` +- `dpa3` See `se_e2_a` examples in `$deepmd_source_dir/examples/spin/se_e2_a/input_torch.json`, the {ref}`spin ` section is defined as the following with a much more clear interface: diff --git a/examples/water/dpa3/README.md b/examples/water/dpa3/README.md new file mode 100644 index 0000000000..e108708059 --- /dev/null +++ b/examples/water/dpa3/README.md @@ -0,0 +1,4 @@ +## Input for DPA-3 model + +This directory stores configuration files for training the 6-layer DPA-3 model. +For comprehensive hyperparameter selection, consult the [DPA-3 documentation](../../../doc/model/dpa3.md/#hyperparameter-tests). diff --git a/examples/water/dpa3/input_torch.json b/examples/water/dpa3/input_torch.json new file mode 100644 index 0000000000..8580b032d2 --- /dev/null +++ b/examples/water/dpa3/input_torch.json @@ -0,0 +1,94 @@ +{ + "_comment": "that's all", + "model": { + "type_map": [ + "O", + "H" + ], + "descriptor": { + "type": "dpa3", + "repflow": { + "n_dim": 256, + "e_dim": 128, + "a_dim": 32, + "nlayers": 6, + "e_rcut": 6.0, + "e_rcut_smth": 5.0, + "e_sel": 120, + "a_rcut": 4.0, + "a_rcut_smth": 3.5, + "a_sel": 30, + "axis_neuron": 4, + "skip_stat": true, + "a_compress_rate": 1, + "a_compress_e_rate": 2, + "a_compress_use_split": true, + "update_angle": true, + "update_style": "res_residual", + "update_residual": 0.1, + "update_residual_init": "const" + }, + "activation_function": "silut:10.0", + "use_tebd_bias": false, + "precision": "float32", + "concat_output_tebd": false + }, + "fitting_net": { + "neuron": [ + 240, + 240, + 240 + ], + "resnet_dt": true, + "precision": "float32", + "activation_function": "silut:10.0", + "seed": 1, + "_comment": " that's all" + }, + "_comment": " that's all" + }, + "learning_rate": { + "type": "exp", + "decay_steps": 5000, + "start_lr": 0.001, + "stop_lr": 3e-5, + "_comment": "that's all" + }, + "loss": { + "type": "ener", + "start_pref_e": 0.2, + "limit_pref_e": 20, + "start_pref_f": 100, + "limit_pref_f": 60, + "start_pref_v": 0.02, + "limit_pref_v": 1, + "_comment": " that's all" + }, + "training": { + "stat_file": "./dpa3.hdf5", + "training_data": { + "systems": [ + "../data/data_0", + "../data/data_1", + "../data/data_2" + ], + "batch_size": 1, + "_comment": "that's all" + }, + "validation_data": { + "systems": [ + "../data/data_3" + ], + "batch_size": 1, + "_comment": "that's all" + }, + "numb_steps": 1000000, + "warmup_steps": 0, + "gradient_max_norm": 5.0, + "seed": 10, + "disp_file": "lcurve.out", + "disp_freq": 100, + "save_freq": 2000, + "_comment": "that's all" + } +} diff --git a/examples/water/lmp/jax_dpa2.lammps b/examples/water/lmp/jax_dpa.lammps similarity index 91% rename from examples/water/lmp/jax_dpa2.lammps rename to examples/water/lmp/jax_dpa.lammps index c9fdeac47d..f62aa079bf 100644 --- a/examples/water/lmp/jax_dpa2.lammps +++ b/examples/water/lmp/jax_dpa.lammps @@ -5,7 +5,7 @@ units metal boundary p p p atom_style atomic -# Below line is required when using DPA-2 with the JAX backend +# Below line is required when using DPA-2/3 with the JAX backend atom_modify map yes neighbor 2.0 bin diff --git a/source/tests/common/test_examples.py b/source/tests/common/test_examples.py index 92ecf3a09f..283b02bc2f 100644 --- a/source/tests/common/test_examples.py +++ b/source/tests/common/test_examples.py @@ -58,6 +58,7 @@ p_examples / "water" / "dpa2" / "input_torch_medium.json", p_examples / "water" / "dpa2" / "input_torch_large.json", p_examples / "water" / "dpa2" / "input_torch_compressible.json", + p_examples / "water" / "dpa3" / "input_torch.json", p_examples / "property" / "train" / "input_torch.json", p_examples / "water" / "se_e3_tebd" / "input_torch.json", p_examples / "hessian" / "single_task" / "input.json", From 5aed21f7dfa3a396db8291f5a81aeb885b7b0f50 Mon Sep 17 00:00:00 2001 From: Duo <50307526+iProzd@users.noreply.github.com> Date: Thu, 27 Mar 2025 16:59:07 +0800 Subject: [PATCH 2/7] Update dpa3.md --- doc/model/dpa3.md | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/doc/model/dpa3.md b/doc/model/dpa3.md index cc10a8bbe7..23c6cdadd9 100644 --- a/doc/model/dpa3.md +++ b/doc/model/dpa3.md @@ -17,7 +17,7 @@ Training example: `examples/water/dpa3/input_torch.json`. ## Hyperparameter tests -We systematically conducted DPA-3 training on six representative DFT datasets: +We systematically conducted DPA-3 training on six representative DFT datasets (available at [AIS-Square](https://www.aissquare.com/datasets/detail?pageType=datasets&name=DPA3_hyperparameter_search&id=316)): metallic systems (`Alloy`, `AlMgCu`, `W`), covalent material (`Boron`), molecular system (`Drug`), and liquid water (`Water`). Under consistent training conditions (0.5M training steps, batch_size "auto:128"), we rigorously evaluated the impacts of some critical hyperparameters on validation accuracy. @@ -25,19 +25,15 @@ we rigorously evaluated the impacts of some critical hyperparameters on validati The comparative analysis focused on average RMSEs (Root Mean Square Error) for both energy, force and virial predictions across all six systems, with results tabulated below to guide scenario-specific hyperparameter selection: -| Model | Comment | `nlayers` | `n_dim` | `e_dim` | `a_dim` | `e_sel` | `a_sel` | `start_lr` | `stop_lr` | loss prefactors | RMSE_E (meV/atom) | RMSE_F (meV/Å) | RMSE_V (meV/atom) | Training wall time (h) | -| --------------------- | ------------------ | --------- | ------- | ------- | ------- | ------- | ------- | ---------- | --------- | ----------------------------- | ----------------- | -------------- | ----------------- | ---------------------- | -| **DPA-3 L3** | Default | 3 | 256 | 128 | 32 | 120 | 30 | 1e-3 | 3e-5 | 0.2\|20, 100\|60, 0.02\|1 | 5.74 | 85.4 | 43.1 | 9.8 | -| | Small limit_pref_f | 3 | 256 | 128 | 32 | 120 | 30 | 1e-3 | 3e-5 | 0.2\|20, 100\|**20**, 0.02\|1 | 5.39 | 87.2 | 42.1 | 9.8 | -| | Small stop_lr | 3 | 256 | 128 | 32 | 120 | 30 | 1e-3 | **1e-5** | 0.2\|20, 100\|**20**, 0.02\|1 | 5.49 | 89.8 | 43.1 | 10.1 | -| | Large sel | 3 | 256 | 128 | 32 | **154** | **48** | 1e-3 | **1e-5** | 0.2\|20, 100\|**20**, 0.02\|1 | 5.53 | 93.0 | 43.3 | 14.4 | -| | Small dimension | 3 | **128** | **64** | 32 | **154** | **48** | 1e-3 | **1e-5** | 0.2\|20, 100\|**20**, 0.02\|1 | 6.69 | 102.8 | 48.4 | 9.4 | -| **DPA-3 L6** | Default | 6 | 256 | 128 | 32 | 120 | 30 | 1e-3 | 3e-5 | 0.2\|20, 100\|60, 0.02\|1 | - | - | - | - | -| | Small limit_pref_f | 6 | 256 | 128 | 32 | 120 | 30 | 1e-3 | 3e-5 | 0.2\|20, 100\|**20**, 0.02\|1 | - | - | - | - | -| | Small stop_lr | 6 | 256 | 128 | 32 | 120 | 30 | 1e-3 | **1e-5** | 0.2\|20, 100\|**20**, 0.02\|1 | 4.01 | 77.6 | 38.5 | 19.1 | -| | Large sel | 6 | 256 | 128 | 32 | **154** | **48** | 1e-3 | **1e-5** | 0.2\|20, 100\|**20**, 0.02\|1 | 4.22 | 79.8 | 38.8 | 31.5 | -| | Small dimension | 6 | **128** | **64** | 32 | **154** | **48** | 1e-3 | **1e-5** | 0.2\|20, 100\|**20**, 0.02\|1 | 5.08 | 82.5 | 41.2 | 20.0 | -| **DPA-2 L6 (medium)** | Default | 6 | - | - | - | - | - | 1e-3 | 3.51e-08 | 0.02\|1, 1000\|1, 0.02\|1 | 12.12 | 109.3 | 83.1 | 12.2 | +| Model | comment | nlayers | n_dim | e_dim | a_dim | e_sel | a_sel | start_lr | stop_lr | loss prefactors | rmse_e (meV/atom) | rmse_f (meV/Å) | rmse_v (meV/atom) | Training wall time (h) | +| ---------------- | --------------- | ------- | ------- | ------ | ----- | ------- | ------ | -------- | -------- | ------------------------- | ----------------- | -------------- | ----------------- | ---------------------- | +| DPA3-L3 | Default | 3 | 256 | 128 | 32 | 120 | 30 | 1e-3 | 3e-5 | 0.2\|20, 100\|60, 0.02\|1 | 5.74 | 85.4 | 43.1 | 9.8 | +| | Small dimension | 3 | **128** | **64** | 32 | 120 | 30 | 1e-3 | 3e-5 | 0.2\|20, 100\|60, 0.02\|1 | 6.99 | 93.6 | 46.7 | 8.0 | +| | Large sel | 3 | 256 | 128 | 32 | **154** | **48** | 1e-3 | 3e-5 | 0.2\|20, 100\|60, 0.02\|1 | 5.70 | 83.7 | 43.4 | 14.1 | +| DPA3-L6 | Default | 6 | 256 | 128 | 32 | 120 | 30 | 1e-3 | 3e-5 | 0.2\|20, 100\|60, 0.02\|1 | 4.85 | 79.9 | 39.7 | 19.2 | +| | Small dimension | 6 | **128** | **64** | 32 | 120 | 30 | 1e-3 | 3e-5 | 0.2\|20, 100\|60, 0.02\|1 | 5.11 | 77.7 | 41.2 | 14.1 | +| | Large sel | 6 | 256 | 128 | 32 | **154** | **48** | 1e-3 | 3e-5 | 0.2\|20, 100\|60, 0.02\|1 | 4.76 | 78.4 | 40.2 | 31.8 | +| DPA2-L6 (medium) | Default | 6 | - | - | - | - | - | 1e-3 | 3.51e-08 | 0.02\|1, 1000\|1, 0.02\|1 | 12.12 | 109.3 | 83.1 | 12.2 | The loss prefactors (0.2|20, 100|60, 0.02|1) correspond to (`start_pref_e`|`limit_pref_e`, `start_pref_f`|`limit_pref_f`, `start_pref_v`|`limit_pref_v`) respectively. Virial RMSE were averaged exclusively for systems containing virial labels (`Alloy`, `AlMgCu`, `W`, and `Boron`). From e23e39c1dc2476ca2ad1dbd36b3b60670dd05883 Mon Sep 17 00:00:00 2001 From: Duo <50307526+iProzd@users.noreply.github.com> Date: Thu, 27 Mar 2025 17:09:48 +0800 Subject: [PATCH 3/7] Update input_torch.json --- examples/water/dpa3/input_torch.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/water/dpa3/input_torch.json b/examples/water/dpa3/input_torch.json index 8580b032d2..ebdbb78724 100644 --- a/examples/water/dpa3/input_torch.json +++ b/examples/water/dpa3/input_torch.json @@ -13,10 +13,10 @@ "a_dim": 32, "nlayers": 6, "e_rcut": 6.0, - "e_rcut_smth": 5.0, + "e_rcut_smth": 3.0, "e_sel": 120, "a_rcut": 4.0, - "a_rcut_smth": 3.5, + "a_rcut_smth": 2.0, "a_sel": 30, "axis_neuron": 4, "skip_stat": true, From 9edd4b724feaeddf2f2ef58514c2cd288ca634de Mon Sep 17 00:00:00 2001 From: Duo <50307526+iProzd@users.noreply.github.com> Date: Thu, 27 Mar 2025 17:53:10 +0800 Subject: [PATCH 4/7] Update doc/model/dpa3.md Co-authored-by: Jinzhe Zeng Signed-off-by: Duo <50307526+iProzd@users.noreply.github.com> --- doc/model/dpa3.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/model/dpa3.md b/doc/model/dpa3.md index 23c6cdadd9..9820047879 100644 --- a/doc/model/dpa3.md +++ b/doc/model/dpa3.md @@ -53,7 +53,7 @@ If one runs LAMMPS with MPI, the customized OP library for the C++ interface sho If one runs LAMMPS with MPI and CUDA devices, it is recommended to compile the customized OP library for the C++ interface with a [CUDA-Aware MPI](https://developer.nvidia.com/mpi-solutions-gpus) library and CUDA, otherwise the communication between GPU cards falls back to the slower CPU implementation. -## Limiations of the JAX backend with LAMMPS {{ jax_icon }} +## Limitations of the JAX backend with LAMMPS {{ jax_icon }} When using the JAX backend, 2 or more MPI ranks are not supported. One must set `map` to `yes` using the [`atom_modify`](https://docs.lammps.org/atom_modify.html) command. From 0bbf103548891c63c12c5ca295354089a60fc491 Mon Sep 17 00:00:00 2001 From: Duo <50307526+iProzd@users.noreply.github.com> Date: Thu, 27 Mar 2025 17:53:20 +0800 Subject: [PATCH 5/7] Update doc/model/dpa3.md Co-authored-by: Jinzhe Zeng Signed-off-by: Duo <50307526+iProzd@users.noreply.github.com> --- doc/model/dpa3.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/model/dpa3.md b/doc/model/dpa3.md index 9820047879..e933bef928 100644 --- a/doc/model/dpa3.md +++ b/doc/model/dpa3.md @@ -36,7 +36,7 @@ with results tabulated below to guide scenario-specific hyperparameter selection | DPA2-L6 (medium) | Default | 6 | - | - | - | - | - | 1e-3 | 3.51e-08 | 0.02\|1, 1000\|1, 0.02\|1 | 12.12 | 109.3 | 83.1 | 12.2 | The loss prefactors (0.2|20, 100|60, 0.02|1) correspond to (`start_pref_e`|`limit_pref_e`, `start_pref_f`|`limit_pref_f`, `start_pref_v`|`limit_pref_v`) respectively. -Virial RMSE were averaged exclusively for systems containing virial labels (`Alloy`, `AlMgCu`, `W`, and `Boron`). +Virial RMSEs were averaged exclusively for systems containing virial labels (`Alloy`, `AlMgCu`, `W`, and `Boron`). Note that we set `float32` in all DPA-3 models, while `float64` in other models by default. From cf925bb772023a45ba45b9fa0599dd7b6286259c Mon Sep 17 00:00:00 2001 From: Duo <50307526+iProzd@users.noreply.github.com> Date: Thu, 27 Mar 2025 17:53:29 +0800 Subject: [PATCH 6/7] Update examples/water/dpa3/README.md Co-authored-by: Jinzhe Zeng Signed-off-by: Duo <50307526+iProzd@users.noreply.github.com> --- examples/water/dpa3/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/water/dpa3/README.md b/examples/water/dpa3/README.md index e108708059..2352248278 100644 --- a/examples/water/dpa3/README.md +++ b/examples/water/dpa3/README.md @@ -1,4 +1,4 @@ -## Input for DPA-3 model +# Input for the DPA-3 model This directory stores configuration files for training the 6-layer DPA-3 model. For comprehensive hyperparameter selection, consult the [DPA-3 documentation](../../../doc/model/dpa3.md/#hyperparameter-tests). From f0b90291f0081a619dd657b02753250d8088de45 Mon Sep 17 00:00:00 2001 From: Duo <50307526+iProzd@users.noreply.github.com> Date: Fri, 28 Mar 2025 12:20:07 +0800 Subject: [PATCH 7/7] Update dpa3.md --- doc/model/dpa3.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/model/dpa3.md b/doc/model/dpa3.md index e933bef928..5770a2889b 100644 --- a/doc/model/dpa3.md +++ b/doc/model/dpa3.md @@ -4,11 +4,11 @@ **Supported backends**: PyTorch {{ pytorch_icon }}, JAX {{ jax_icon }}, DP {{ dpmodel_icon }} ::: -DPA3 is an advanced interatomic potential leveraging the message passing architecture. -Designed as a large atomic model (LAM), DPA3 is tailored to integrate and simultaneously train on datasets from various disciplines, +DPA-3 is an advanced interatomic potential leveraging the message passing architecture. +Designed as a large atomic model (LAM), DPA-3 is tailored to integrate and simultaneously train on datasets from various disciplines, encompassing diverse chemical and materials systems across different research domains. Its model design ensures exceptional fitting accuracy and robust generalization both within and beyond the training domain. -Furthermore, DPA3 maintains energy conservation and respects the physical symmetries of the potential energy surface, +Furthermore, DPA-3 maintains energy conservation and respects the physical symmetries of the potential energy surface, making it a dependable tool for a wide range of scientific applications. Reference: will be released soon.