Update README.md
Browse filesFIXED: updated MACE model card
README.md
CHANGED
|
@@ -1,3 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
## License summary
|
| 2 |
|
| 3 |
1. The Licensed Models are **only** available under this License for Non-Commercial Purposes.
|
|
|
|
| 1 |
+
MACE
|
| 2 |
+
## Reference
|
| 3 |
+
Ilyes Batatia, Dávid Péter Kovács, Gregor N. C. Simm, Christoph Ortner, and Gábor Csányi.
|
| 4 |
+
Mace: Higher order equivariant message passing neural networks for fast and accurate force fields,
|
| 5 |
+
2023. URL: https://arxiv.org/abs/2206.07697.
|
| 6 |
+
## How to Use
|
| 7 |
+
For complete usage instructions, please refer to our [documentation](https://instadeep.github.io/mlip)
|
| 8 |
+
## Model architecture
|
| 9 |
+
| Parameter | Value | Description |
|
| 10 |
+
|---------------------------------|----------------------|-----------------------------------------------------|
|
| 11 |
+
| `num_layers` | `2` | Number of MACE layers. |
|
| 12 |
+
| `num_channels` | `128` | Number of channels. |
|
| 13 |
+
| `l_max` | `3` | Maximal degree of spherical harmonics. |
|
| 14 |
+
| `node_symmetry` | `1` | Highest degree of node features. |
|
| 15 |
+
| `correlation` | `3` | Maximum correlation order. |
|
| 16 |
+
| `readout_irreps` | `["16x0e", "0e"]` | Irreps for the readout block. |
|
| 17 |
+
| `num_readout_heads` | `1` | Number of readout heads. |
|
| 18 |
+
| `include_pseudotensors` | `false` | Whether all parities are kept. |
|
| 19 |
+
| `num_bessel` | `8` | Number of Bessel basis functions. |
|
| 20 |
+
| `activation` | `silu` | Activation function in the non-linear readout block.|
|
| 21 |
+
| `radial_envelope` | `polynomial_envelope`| Radial envelope function. |
|
| 22 |
+
| `symmetric_tensor_product_basis`| `false` | Whether to use a symmetric tensor product basis. |
|
| 23 |
+
| `atomic_energies` | `average` | Treatement of atomic energies. |
|
| 24 |
+
| `avg_num_neighbors` | `null` | Mean number of neighbors. |
|
| 25 |
+
|
| 26 |
+
For more information about MACE hyperparameters,
|
| 27 |
+
please refer to our [documentation](https://instadeep.github.io/mlip/api_reference/models/mace.html#mlip.models.mace.config.MaceConfig)
|
| 28 |
+
## Training
|
| 29 |
+
Training is performed over 220 epochs, with an exponential moving average (EMA) decay rate of 0.99.
|
| 30 |
+
The model employs a Huber loss function with scheduled weights for the energy and force components.
|
| 31 |
+
Initially, the energy term is weighted at 40 and the force term at 1000.
|
| 32 |
+
At epoch 115, these weights are flipped.
|
| 33 |
+
We use our default MLIP optimizer in v1.0.0 with the following settings:
|
| 34 |
+
| Parameter | Value | Description |
|
| 35 |
+
|----------------------------------|---------|-----------------------------------------------------|
|
| 36 |
+
| `init_learning_rate` | `0.01` | Initial learning rate. |
|
| 37 |
+
| `peak_learning_rate` | `0.01` | Peak learning rate. |
|
| 38 |
+
| `final_learning_rate` | `0.01` | Final learning rate. |
|
| 39 |
+
| `weight_decay` | `0` | Weight decay. |
|
| 40 |
+
| `warmup_steps` | `4000` | Number of optimizer warm-up steps. |
|
| 41 |
+
| `transition_steps` | `360000`| Number of optimizer transition steps. |
|
| 42 |
+
| `grad_norm` | `500` | Gradient norm used for gradient clipping. |
|
| 43 |
+
| `num_gradient_accumulation_steps`| `1` | Steps to accumulate before taking an optimizer step.|
|
| 44 |
+
|
| 45 |
+
For more information about the optimizer,
|
| 46 |
+
please refer to our [documentation](https://instadeep.github.io/mlip/api_reference/training/optimizer.html#mlip.training.optimizer_config.OptimizerConfig)
|
| 47 |
+
## Dataset
|
| 48 |
+
| Parameter | Value | Description |
|
| 49 |
+
|-----------------------------|-------|--------------------------------------------|
|
| 50 |
+
| `graph_cutoff_angstrom` | `5` | Graph cutoff distance (in Å). |
|
| 51 |
+
| `max_n_node` | `32` | Maximum number of nodes allowed in a batch.|
|
| 52 |
+
| `max_n_edge` | `288` | Maximum number of edges allowed in a batch.|
|
| 53 |
+
| `batch_size` | `64` | Number of graphs in a batch. |
|
| 54 |
+
|
| 55 |
+
This model was trained on the [SPICE2_curated dataset](https://huggingface.co/datasets/InstaDeepAI/SPICE2-curated).
|
| 56 |
+
For more information about dataset configuration
|
| 57 |
+
please refer to our [documentation](https://instadeep.github.io/mlip/api_reference/data/dataset_configs.html#mlip.data.configs.GraphDatasetBuilderConfig)
|
| 58 |
+
|
| 59 |
## License summary
|
| 60 |
|
| 61 |
1. The Licensed Models are **only** available under this License for Non-Commercial Purposes.
|