diff --git a/configs/omat24/all/eqV2_153M.yml b/configs/omat24/all/eqV2_153M.yml new file mode 100644 index 000000000..dffd4ec34 --- /dev/null +++ b/configs/omat24/all/eqV2_153M.yml @@ -0,0 +1,141 @@ +includes: + - ../omat24_dataset.yml + +trainer: equiformerv2_forces + +evaluation_metrics: + primary_metric: energy_mae + metrics: + energy: + - mae + - per_atom_mae + forces: + - mae + - forcesx_mae + - forcesy_mae + - forcesz_mae + - cosine_similarity + stress: + - mae + stress_isotropic: + - mae + stress_anisotropic: + - mae + +outputs: + energy: + level: system + property: energy + forces: + level: atom + property: forces + train_on_free_atoms: True + eval_on_free_atoms: True + stress: + level: system + property: stress + decomposition: + stress_isotropic: + irrep_dim: 0 + stress_anisotropic: + irrep_dim: 2 + +loss_functions: + - energy: + fn: per_atom_mae + coefficient: 20 + - forces: + fn: l2mae + coefficient: 20 + - stress_isotropic: + fn: mae + coefficient: 5 + - stress_anisotropic: + fn: mae + reduction: mean_all + coefficient: 5 + +optim: + batch_size: 8 # 8 node - Global 512 + eval_batch_size: 12 + num_workers: 8 + lr_initial: 0.0004 + + optimizer: AdamW + optimizer_params: + weight_decay: 0.001 + + scheduler: LambdaLR + scheduler_params: + lambda_type: cosine + warmup_factor: 0.2 + warmup_epochs: 0.1 + lr_min_factor: 0.01 + + max_epochs: 2 + clip_grad_norm: 100 + ema_decay: 0.999 + eval_every: 5000 + load_balancing: atoms + +model: + name: hydra + pass_through_head_outputs: True + otf_graph: True + + backbone: + model: equiformer_v2_backbone + use_pbc: True + use_pbc_single: True + otf_graph: True + + enforce_max_neighbors_strictly: False + max_neighbors: 20 + max_radius: 12.0 + max_num_elements: 96 + + avg_num_nodes: 31.17 + avg_degree: 61.95 + + num_layers: 20 + sphere_channels: 128 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 64 + attn_value_channels: 16 + ffn_hidden_channels: 128 + norm_type: 'layer_norm_sh' + + lmax_list: [ 6 ] + mmax_list: [ 3 ] + grid_resolution: 18 + + num_sphere_samples: 128 + + edge_channels: 128 + use_atom_edge_embedding: True + distance_function: 'gaussian' + num_distance_basis: 512 + + attn_activation: 'silu' + use_s2_act_attn: False + ffn_activation: 'silu' + use_gate_act: False + use_grid_mlp: True + + alpha_drop: 0.1 + drop_path_rate: 0.1 + proj_drop: 0.0 + + weight_init: 'uniform' + + heads: + energy: + module: equiformer_v2_energy_head + forces: + module: equiformer_v2_force_head + stress: + module: rank2_symmetric_head + output_name: stress + use_source_target_embedding: True + decompose: True diff --git a/configs/omat24/all/eqV2_31M.yml b/configs/omat24/all/eqV2_31M.yml new file mode 100644 index 000000000..95ff1f89f --- /dev/null +++ b/configs/omat24/all/eqV2_31M.yml @@ -0,0 +1,147 @@ +includes: + - ../omat24_dataset.yml + +trainer: equiformerv2_forces + +evaluation_metrics: + primary_metric: energy_mae + metrics: + energy: + - mae + - per_atom_mae + forces: + - mae + - forcesx_mae + - forcesy_mae + - forcesz_mae + - cosine_similarity + stress: + - mae + stress_isotropic: + - mae + stress_anisotropic: + - mae + +outputs: + energy: + level: system + property: energy + forces: + level: atom + property: forces + train_on_free_atoms: True + eval_on_free_atoms: True + stress: + level: system + property: stress + decomposition: + stress_isotropic: + irrep_dim: 0 + stress_anisotropic: + irrep_dim: 2 + + +loss_functions: + - energy: + fn: per_atom_mae + coefficient: 20 + - forces: + fn: l2mae + coefficient: 20 + - stress_isotropic: + fn: mae + coefficient: 5 + - stress_anisotropic: + fn: mae + reduction: mean_all + coefficient: 5 + + +optim: + batch_size: 8 # 8 node - Global 512 + eval_batch_size: 12 + load_balancing: atoms + num_workers: 8 + lr_initial: 0.0006 + + optimizer: AdamW + optimizer_params: + weight_decay: 0.001 + scheduler: LambdaLR + scheduler_params: + lambda_type: cosine + warmup_factor: 0.2 + warmup_epochs: 0.01 + lr_min_factor: 0.01 + + max_epochs: 2 + clip_grad_norm: 100 + ema_decay: 0.999 + eval_every: 5000 + +model: + name: hydra + pass_through_head_outputs: True + otf_graph: True + + backbone: + model: equiformer_v2_backbone + use_pbc: True + use_pbc_single: True + otf_graph: True + + enforce_max_neighbors_strictly: False + + max_neighbors: 20 + max_radius: 12.0 + max_num_elements: 96 + + avg_num_nodes: 31.17 + avg_degree: 61.95 + + num_layers: 8 + sphere_channels: 128 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 64 + attn_value_channels: 16 + ffn_hidden_channels: 128 + norm_type: 'layer_norm_sh' + + lmax_list: [ 4 ] + mmax_list: [ 2 ] + grid_resolution: 18 + + num_sphere_samples: 128 + + edge_channels: 128 + use_atom_edge_embedding: True + share_atom_edge_embedding: False + use_m_share_rad: False + distance_function: 'gaussian' + num_distance_basis: 512 + + attn_activation: 'silu' + use_s2_act_attn: False + use_attn_renorm: True + ffn_activation: 'silu' + use_gate_act: False + use_grid_mlp: True + use_sep_s2_act: True + + alpha_drop: 0.1 + drop_path_rate: 0.1 + proj_drop: 0.0 + + weight_init: 'uniform' + + heads: + energy: + module: equiformer_v2_energy_head + forces: + module: equiformer_v2_force_head + stress: + module: rank2_symmetric_head + output_name: stress + use_source_target_embedding: True + decompose: True diff --git a/configs/omat24/all/eqV2_86M.yml b/configs/omat24/all/eqV2_86M.yml new file mode 100644 index 000000000..30167e81a --- /dev/null +++ b/configs/omat24/all/eqV2_86M.yml @@ -0,0 +1,145 @@ +includes: + - ../omat24_dataset.yml + +trainer: equiformerv2_forces + +evaluation_metrics: + primary_metric: energy_mae + metrics: + energy: + - mae + - per_atom_mae + forces: + - mae + - forcesx_mae + - forcesy_mae + - forcesz_mae + - cosine_similarity + stress: + - mae + stress_isotropic: + - mae + stress_anisotropic: + - mae + +outputs: + energy: + level: system + property: energy + forces: + level: atom + property: forces + train_on_free_atoms: True + eval_on_free_atoms: True + stress: + level: system + property: stress + decomposition: + stress_isotropic: + irrep_dim: 0 + stress_anisotropic: + irrep_dim: 2 + +loss_functions: + - energy: + fn: per_atom_mae + coefficient: 20 + - forces: + fn: l2mae + coefficient: 20 + - stress_isotropic: + fn: mae + coefficient: 5 + - stress_anisotropic: + fn: mae + reduction: mean_all + coefficient: 5 + +optim: + batch_size: 8 # 8 node - Global 512 + eval_batch_size: 12 + load_balancing: atoms + num_workers: 8 + lr_initial: 0.0006 + + optimizer: AdamW + optimizer_params: + weight_decay: 0.001 + scheduler: LambdaLR + scheduler_params: + lambda_type: cosine + warmup_factor: 0.2 + warmup_epochs: 0.01 + lr_min_factor: 0.01 + + max_epochs: 2 + clip_grad_norm: 100 + ema_decay: 0.999 + eval_every: 5000 + +model: + name: hydra + pass_through_head_outputs: True + otf_graph: True + + backbone: + model: equiformer_v2_backbone + use_pbc: True + use_pbc_single: True + otf_graph: True + + enforce_max_neighbors_strictly: False + + max_neighbors: 20 + max_radius: 12.0 + max_num_elements: 96 + + avg_num_nodes: 31.17 + avg_degree: 61.95 + + num_layers: 10 + sphere_channels: 128 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 64 + attn_value_channels: 16 + ffn_hidden_channels: 128 + norm_type: 'layer_norm_sh' + + lmax_list: [ 6 ] + mmax_list: [ 4 ] + grid_resolution: 18 + + num_sphere_samples: 128 + + edge_channels: 128 + use_atom_edge_embedding: True + share_atom_edge_embedding: False + use_m_share_rad: False + distance_function: 'gaussian' + num_distance_basis: 512 + + attn_activation: 'silu' + use_s2_act_attn: False + use_attn_renorm: True + ffn_activation: 'silu' + use_gate_act: False + use_grid_mlp: True + use_sep_s2_act: True + + alpha_drop: 0.1 + drop_path_rate: 0.1 + proj_drop: 0.0 + + weight_init: 'uniform' + + heads: + energy: + module: equiformer_v2_energy_head + forces: + module: equiformer_v2_force_head + stress: + module: rank2_symmetric_head + output_name: stress + use_source_target_embedding: True + decompose: True diff --git a/configs/omat24/finetune/eqV2_153M_ft_salexmptrj.yml b/configs/omat24/finetune/eqV2_153M_ft_salexmptrj.yml new file mode 100644 index 000000000..d02b83760 --- /dev/null +++ b/configs/omat24/finetune/eqV2_153M_ft_salexmptrj.yml @@ -0,0 +1,97 @@ +includes: + - ../mptrj_salex_dataset.yml + +trainer: equiformerv2_forces + +hide_eval_progressbar: False + +evaluation_metrics: + primary_metric: energy_mae + metrics: + energy: + - mae + - per_atom_mae + forces: + - mae + - forcesx_mae + - forcesy_mae + - forcesz_mae + - cosine_similarity + stress: + - mae + stress_isotropic: + - mae + stress_anisotropic: + - mae + +outputs: + energy: + level: system + property: energy + forces: + level: atom + property: forces + train_on_free_atoms: True + eval_on_free_atoms: True + stress: + level: system + property: stress + decomposition: + stress_isotropic: + irrep_dim: 0 + stress_anisotropic: + irrep_dim: 2 + +loss_functions: + - energy: + fn: per_atom_mae + coefficient: 20 + - forces: + fn: l2mae + coefficient: 10 + - stress_isotropic: + fn: mae + coefficient: 1 + - stress_anisotropic: + fn: mae + reduction: mean_all + coefficient: 1 + +model: + name: hydra + pass_through_head_outputs: True + otf_graph: True + finetune_config: + starting_checkpoint: eqV2_153M_omat.pt + heads: + energy: + module: equiformer_v2_energy_head + forces: + module: equiformer_v2_force_head + stress: + module: rank2_symmetric_head + output_name: stress + use_source_target_embedding: True + decompose: True + +optim: + batch_size: 8 # 4 node - Global 256 + eval_batch_size: 12 + load_balancing: atoms + num_workers: 8 + lr_initial: 0.0002 + + optimizer: AdamW + optimizer_params: + weight_decay: 0.001 + scheduler: LambdaLR + scheduler_params: + lambda_type: cosine + warmup_factor: 0.2 + warmup_epochs: 0.01 + lr_min_factor: 0.01 + + max_epochs: 16 + clip_grad_norm: 100 + ema_decay: 0.999 + eval_every: 3000 diff --git a/configs/omat24/finetune/eqV2_31M_ft_salexmptrj.yml b/configs/omat24/finetune/eqV2_31M_ft_salexmptrj.yml new file mode 100644 index 000000000..146a15312 --- /dev/null +++ b/configs/omat24/finetune/eqV2_31M_ft_salexmptrj.yml @@ -0,0 +1,97 @@ +includes: + - ../mptrj_salex_dataset.yml + +trainer: equiformerv2_forces + +hide_eval_progressbar: False + +evaluation_metrics: + primary_metric: energy_mae + metrics: + energy: + - mae + - per_atom_mae + forces: + - mae + - forcesx_mae + - forcesy_mae + - forcesz_mae + - cosine_similarity + stress: + - mae + stress_isotropic: + - mae + stress_anisotropic: + - mae + +outputs: + energy: + level: system + property: energy + forces: + level: atom + property: forces + train_on_free_atoms: True + eval_on_free_atoms: True + stress: + level: system + property: stress + decomposition: + stress_isotropic: + irrep_dim: 0 + stress_anisotropic: + irrep_dim: 2 + +loss_functions: + - energy: + fn: per_atom_mae + coefficient: 20 + - forces: + fn: l2mae + coefficient: 10 + - stress_isotropic: + fn: mae + coefficient: 1 + - stress_anisotropic: + fn: mae + reduction: mean_all + coefficient: 1 + +model: + name: hydra + pass_through_head_outputs: True + otf_graph: True + finetune_config: + starting_checkpoint: eqV2_31M_omat.pt + heads: + energy: + module: equiformer_v2_energy_head + forces: + module: equiformer_v2_force_head + stress: + module: rank2_symmetric_head + output_name: stress + use_source_target_embedding: True + decompose: True + +optim: + batch_size: 8 # 4 node - Global 256 + eval_batch_size: 12 + load_balancing: atoms + num_workers: 8 + lr_initial: 0.0002 + + optimizer: AdamW + optimizer_params: + weight_decay: 0.001 + scheduler: LambdaLR + scheduler_params: + lambda_type: cosine + warmup_factor: 0.2 + warmup_epochs: 0.01 + lr_min_factor: 0.01 + + max_epochs: 16 + clip_grad_norm: 100 + ema_decay: 0.999 + eval_every: 3000 diff --git a/configs/omat24/finetune/eqV2_86M_ft_salexmptrj.yml b/configs/omat24/finetune/eqV2_86M_ft_salexmptrj.yml new file mode 100644 index 000000000..8976ffa9a --- /dev/null +++ b/configs/omat24/finetune/eqV2_86M_ft_salexmptrj.yml @@ -0,0 +1,97 @@ +includes: + - ../mptrj_salex_dataset.yml + +trainer: equiformerv2_forces + +evaluation_metrics: + primary_metric: energy_mae + metrics: + energy: + - mae + - per_atom_mae + forces: + - mae + - forcesx_mae + - forcesy_mae + - forcesz_mae + - cosine_similarity + stress: + - mae + stress_isotropic: + - mae + stress_anisotropic: + - mae + +outputs: + energy: + level: system + property: energy + forces: + level: atom + property: forces + train_on_free_atoms: True + eval_on_free_atoms: True + stress: + level: system + property: stress + decomposition: + stress_isotropic: + irrep_dim: 0 + stress_anisotropic: + irrep_dim: 2 + +loss_functions: + - energy: + fn: per_atom_mae + coefficient: 20 + - forces: + fn: l2mae + coefficient: 10 + - stress_isotropic: + fn: mae + coefficient: 1 + - stress_anisotropic: + fn: mae + reduction: mean_all + coefficient: 1 + +hide_eval_progressbar: False + +model: + name: hydra + pass_through_head_outputs: True + otf_graph: True + finetune_config: + starting_checkpoint: eqV2_86M_omat.pt + heads: + energy: + module: equiformer_v2_energy_head + forces: + module: equiformer_v2_force_head + stress: + module: rank2_symmetric_head + output_name: stress + use_source_target_embedding: True + decompose: True + +optim: + batch_size: 8 # 4 node - Global 256 + eval_batch_size: 12 + load_balancing: atoms + num_workers: 8 + lr_initial: 0.0002 + + optimizer: AdamW + optimizer_params: + weight_decay: 0.001 + scheduler: LambdaLR + scheduler_params: + lambda_type: cosine + warmup_factor: 0.2 + warmup_epochs: 0.01 + lr_min_factor: 0.01 + + max_epochs: 16 + clip_grad_norm: 100 + ema_decay: 0.999 + eval_every: 3000 diff --git a/configs/omat24/mptrj/eqV2_153M_dens_mptrj.yml b/configs/omat24/mptrj/eqV2_153M_dens_mptrj.yml new file mode 100644 index 000000000..050d5921d --- /dev/null +++ b/configs/omat24/mptrj/eqV2_153M_dens_mptrj.yml @@ -0,0 +1,164 @@ +includes: + - ../mptrj_dataset.yml + +trainer: equiformerv2_forces + +hide_eval_progressbar: False + +evaluation_metrics: + primary_metric: energy_mae + metrics: + energy: + - mae + - per_atom_mae + forces: + - mae + - forcesx_mae + - forcesy_mae + - forcesz_mae + - cosine_similarity + stress: + - mae + stress_isotropic: + - mae + stress_anisotropic: + - mae + +outputs: + energy: + level: system + property: energy + forces: + level: atom + property: forces + train_on_free_atoms: True + eval_on_free_atoms: True + stress: + level: system + property: stress + decomposition: + stress_isotropic: + irrep_dim: 0 + stress_anisotropic: + irrep_dim: 2 + +loss_functions: + - energy: + fn: per_atom_mae + coefficient: 20 + - forces: + fn: l2mae + coefficient: 20 + - stress_isotropic: + fn: mae + coefficient: 5 + - stress_anisotropic: + fn: mae + reduction: mean_all + coefficient: 5 + +optim: + batch_size: 8 # 8 node - Global 512 + eval_batch_size: 8 + num_workers: 8 + lr_initial: 0.0002 + + optimizer: AdamW + optimizer_params: + weight_decay: 0.001 + + scheduler: LambdaLR + scheduler_params: + lambda_type: cosine + warmup_factor: 0.2 + warmup_epochs: 0.1 + lr_min_factor: 0.01 + + max_epochs: 150 + clip_grad_norm: 100 + ema_decay: 0.999 + eval_every: 5000 + load_balancing: atoms + + use_denoising_pos: True + denoising_pos_params: + prob: 0.5 + fixed_noise_std: True + std: 0.1 + num_steps: 50 + std_low: None + std_high: None + denoising_pos_coefficient: 10 + +model: + name: hydra + pass_through_head_outputs: True + otf_graph: True + + backbone: + model: fairchem.core.models.equiformer_v2.equiformer_v2_dens.EqV2DeNSBackbone + use_pbc: True + use_pbc_single: True + otf_graph: True + + enforce_max_neighbors_strictly: False + + max_neighbors: 20 + max_radius: 12.0 + max_num_elements: 96 + + avg_num_nodes: 31.16592360068011 + avg_degree: 61.94676351484548 + + num_layers: 20 + sphere_channels: 128 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 64 + attn_value_channels: 16 + ffn_hidden_channels: 128 + norm_type: 'layer_norm_sh' + + lmax_list: [ 6 ] + mmax_list: [ 3 ] + grid_resolution: 18 + + num_sphere_samples: 128 + + edge_channels: 128 + use_atom_edge_embedding: True + share_atom_edge_embedding: False + use_m_share_rad: False + distance_function: 'gaussian' + num_distance_basis: 512 + + attn_activation: 'silu' + use_s2_act_attn: False + use_attn_renorm: True + ffn_activation: 'silu' + use_gate_act: False + use_grid_mlp: True + use_sep_s2_act: True + + alpha_drop: 0.1 + drop_path_rate: 0.1 + proj_drop: 0.0 + + weight_init: 'uniform' + + use_force_encoding: True + use_noise_schedule_sigma_encoding: False + use_denoising_energy: True + use_denoising_stress: False + + + heads: + energy: + module: fairchem.core.models.equiformer_v2.equiformer_v2_dens.DeNSEnergyHead + forces: + module: fairchem.core.models.equiformer_v2.equiformer_v2_dens.DeNSForceHead + stress: + module: fairchem.core.models.equiformer_v2.equiformer_v2_dens.DeNSRank2Head + output_name: stress + use_source_target_embedding: True + decompose: True diff --git a/configs/omat24/mptrj/eqV2_31M_dens_mptrj.yml b/configs/omat24/mptrj/eqV2_31M_dens_mptrj.yml new file mode 100644 index 000000000..818eaeb09 --- /dev/null +++ b/configs/omat24/mptrj/eqV2_31M_dens_mptrj.yml @@ -0,0 +1,164 @@ +includes: + - ../mptrj_dataset.yml + +trainer: equiformerv2_forces + +hide_eval_progressbar: False + +evaluation_metrics: + primary_metric: energy_mae + metrics: + energy: + - mae + - per_atom_mae + forces: + - mae + - forcesx_mae + - forcesy_mae + - forcesz_mae + - cosine_similarity + stress: + - mae + stress_isotropic: + - mae + stress_anisotropic: + - mae + +outputs: + energy: + level: system + property: energy + forces: + level: atom + property: forces + train_on_free_atoms: True + eval_on_free_atoms: True + stress: + level: system + property: stress + decomposition: + stress_isotropic: + irrep_dim: 0 + stress_anisotropic: + irrep_dim: 2 + +loss_functions: + - energy: + fn: per_atom_mae + coefficient: 20 + - forces: + fn: l2mae + coefficient: 20 + - stress_isotropic: + fn: mae + coefficient: 5 + - stress_anisotropic: + fn: mae + reduction: mean_all + coefficient: 5 + +optim: + batch_size: 4 # 16 node - Global 512 + eval_batch_size: 4 + num_workers: 8 + lr_initial: 0.0002 + + optimizer: AdamW + optimizer_params: + weight_decay: 0.001 + + scheduler: LambdaLR + scheduler_params: + lambda_type: cosine + warmup_factor: 0.2 + warmup_epochs: 0.1 + lr_min_factor: 0.01 + + max_epochs: 150 + clip_grad_norm: 100 + ema_decay: 0.999 + eval_every: 5000 + load_balancing: atoms + + use_denoising_pos: True + denoising_pos_params: + prob: 0.5 + fixed_noise_std: True + std: 0.1 + num_steps: 50 + std_low: None + std_high: None + denoising_pos_coefficient: 10 + +model: + name: hydra + pass_through_head_outputs: True + otf_graph: True + + backbone: + model: fairchem.core.models.equiformer_v2.equiformer_v2_dens.EqV2DeNSBackbone + use_pbc: True + use_pbc_single: True + otf_graph: True + + enforce_max_neighbors_strictly: False + + max_neighbors: 20 + max_radius: 12.0 + max_num_elements: 96 + + avg_num_nodes: 31.16592360068011 + avg_degree: 61.94676351484548 + + num_layers: 8 + sphere_channels: 128 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 64 + attn_value_channels: 16 + ffn_hidden_channels: 128 + norm_type: 'layer_norm_sh' + + lmax_list: [ 4 ] + mmax_list: [ 2 ] + grid_resolution: 18 + + num_sphere_samples: 128 + + edge_channels: 128 + use_atom_edge_embedding: True + share_atom_edge_embedding: False + use_m_share_rad: False + distance_function: 'gaussian' + num_distance_basis: 512 + + attn_activation: 'silu' + use_s2_act_attn: False + use_attn_renorm: True + ffn_activation: 'silu' + use_gate_act: False + use_grid_mlp: True + use_sep_s2_act: True + + alpha_drop: 0.1 + drop_path_rate: 0.1 + proj_drop: 0.0 + + weight_init: 'uniform' + + use_force_encoding: True + use_noise_schedule_sigma_encoding: False + use_denoising_energy: True + use_denoising_stress: False + + + heads: + energy: + module: fairchem.core.models.equiformer_v2.equiformer_v2_dens.DeNSEnergyHead + forces: + module: fairchem.core.models.equiformer_v2.equiformer_v2_dens.DeNSForceHead + stress: + module: fairchem.core.models.equiformer_v2.equiformer_v2_dens.DeNSRank2Head + output_name: stress + use_source_target_embedding: True + decompose: True diff --git a/configs/omat24/mptrj/eqV2_31M_mptrj.yml b/configs/omat24/mptrj/eqV2_31M_mptrj.yml new file mode 100644 index 000000000..c9ae7c84d --- /dev/null +++ b/configs/omat24/mptrj/eqV2_31M_mptrj.yml @@ -0,0 +1,130 @@ +includes: + - ../mptrj_dataset.yml + +trainer: equiformerv2_forces + +hide_eval_progressbar: False + +evaluation_metrics: + primary_metric: energy_mae + metrics: + energy: + - mae + - per_atom_mae + forces: + - mae + - forcesx_mae + - forcesy_mae + - forcesz_mae + - cosine_similarity + stress: + - mae + stress_isotropic: + - mae + stress_anisotropic: + - mae + +outputs: + energy: + level: system + property: energy + forces: + level: atom + property: forces + train_on_free_atoms: True + eval_on_free_atoms: True + stress: + level: system + property: stress + decomposition: + stress_isotropic: + irrep_dim: 0 + stress_anisotropic: + irrep_dim: 2 + +loss_functions: + - energy: + fn: per_atom_mae + coefficient: 20 + - forces: + fn: l2mae + coefficient: 20 + - stress_isotropic: + fn: mae + coefficient: 5 + - stress_anisotropic: + fn: mae + reduction: mean_all + coefficient: 5 + +optim: + batch_size: 4 # 16 node - Global 512 + eval_batch_size: 4 + max_epochs: 150 + +model: + name: hydra + pass_through_head_outputs: True + otf_graph: True + + backbone: + model: equiformer_v2_backbone + use_pbc: True + use_pbc_single: True + otf_graph: True + + enforce_max_neighbors_strictly: False + + max_neighbors: 20 + max_radius: 12.0 + max_num_elements: 96 + + avg_num_nodes: 31.16592360068011 + avg_degree: 61.94676351484548 + + num_layers: 8 + sphere_channels: 128 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 64 + attn_value_channels: 16 + ffn_hidden_channels: 128 + norm_type: 'layer_norm_sh' + + lmax_list: [ 4 ] + mmax_list: [ 2 ] + grid_resolution: 18 + + num_sphere_samples: 128 + + edge_channels: 128 + use_atom_edge_embedding: True + share_atom_edge_embedding: False + use_m_share_rad: False + distance_function: 'gaussian' + num_distance_basis: 512 + + attn_activation: 'silu' + use_s2_act_attn: False + use_attn_renorm: True + ffn_activation: 'silu' + use_gate_act: False + use_grid_mlp: True + use_sep_s2_act: True + + alpha_drop: 0.1 + drop_path_rate: 0.1 + proj_drop: 0.0 + + weight_init: 'uniform' + + heads: + energy: + module: equiformer_v2_energy_head + forces: + module: equiformer_v2_force_head + stress: + module: rank2_symmetric_head + output_name: stress + use_source_target_embedding: True + decompose: True diff --git a/configs/omat24/mptrj/eqV2_86M_dens_mptrj.yml b/configs/omat24/mptrj/eqV2_86M_dens_mptrj.yml new file mode 100644 index 000000000..f931ee78a --- /dev/null +++ b/configs/omat24/mptrj/eqV2_86M_dens_mptrj.yml @@ -0,0 +1,164 @@ +includes: + - ../mptrj_dataset.yml + +trainer: equiformerv2_forces + +hide_eval_progressbar: False + +evaluation_metrics: + primary_metric: energy_mae + metrics: + energy: + - mae + - per_atom_mae + forces: + - mae + - forcesx_mae + - forcesy_mae + - forcesz_mae + - cosine_similarity + stress: + - mae + stress_isotropic: + - mae + stress_anisotropic: + - mae + +outputs: + energy: + level: system + property: energy + forces: + level: atom + property: forces + train_on_free_atoms: True + eval_on_free_atoms: True + stress: + level: system + property: stress + decomposition: + stress_isotropic: + irrep_dim: 0 + stress_anisotropic: + irrep_dim: 2 + +loss_functions: + - energy: + fn: per_atom_mae + coefficient: 20 + - forces: + fn: l2mae + coefficient: 20 + - stress_isotropic: + fn: mae + coefficient: 5 + - stress_anisotropic: + fn: mae + reduction: mean_all + coefficient: 5 + +optim: + batch_size: 8 # 8 node - Global 512 + eval_batch_size: 8 + num_workers: 8 + lr_initial: 0.0002 + + optimizer: AdamW + optimizer_params: + weight_decay: 0.001 + + scheduler: LambdaLR + scheduler_params: + lambda_type: cosine + warmup_factor: 0.2 + warmup_epochs: 0.1 + lr_min_factor: 0.01 + + max_epochs: 150 + clip_grad_norm: 100 + ema_decay: 0.999 + eval_every: 5000 + load_balancing: atoms + + use_denoising_pos: True + denoising_pos_params: + prob: 0.5 + fixed_noise_std: True + std: 0.1 + num_steps: 50 + std_low: None + std_high: None + denoising_pos_coefficient: 10 + +model: + name: hydra + pass_through_head_outputs: True + otf_graph: True + + backbone: + model: fairchem.core.models.equiformer_v2.equiformer_v2_dens.EqV2DeNSBackbone + use_pbc: True + use_pbc_single: True + otf_graph: True + + enforce_max_neighbors_strictly: False + + max_neighbors: 20 + max_radius: 12.0 + max_num_elements: 96 + + avg_num_nodes: 31.16592360068011 + avg_degree: 61.94676351484548 + + num_layers: 10 + sphere_channels: 128 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 64 + attn_value_channels: 16 + ffn_hidden_channels: 128 + norm_type: 'layer_norm_sh' + + lmax_list: [ 6 ] + mmax_list: [ 4 ] + grid_resolution: 18 + + num_sphere_samples: 128 + + edge_channels: 128 + use_atom_edge_embedding: True + share_atom_edge_embedding: False + use_m_share_rad: False + distance_function: 'gaussian' + num_distance_basis: 512 + + attn_activation: 'silu' + use_s2_act_attn: False + use_attn_renorm: True + ffn_activation: 'silu' + use_gate_act: False + use_grid_mlp: True + use_sep_s2_act: True + + alpha_drop: 0.1 + drop_path_rate: 0.1 + proj_drop: 0.0 + + weight_init: 'uniform' + + use_force_encoding: True + use_noise_schedule_sigma_encoding: False + use_denoising_energy: True + use_denoising_stress: False + + + heads: + energy: + module: fairchem.core.models.equiformer_v2.equiformer_v2_dens.DeNSEnergyHead + forces: + module: fairchem.core.models.equiformer_v2.equiformer_v2_dens.DeNSForceHead + stress: + module: fairchem.core.models.equiformer_v2.equiformer_v2_dens.DeNSRank2Head + output_name: stress + use_source_target_embedding: True + decompose: True diff --git a/configs/omat24/mptrj_dataset.yml b/configs/omat24/mptrj_dataset.yml new file mode 100644 index 000000000..b2e79395c --- /dev/null +++ b/configs/omat24/mptrj_dataset.yml @@ -0,0 +1,35 @@ +dataset: + train: + format: ase_db + src: + - /dataset/mptraj/train + a2g_args: { r_energy: True, r_forces: True, r_stress: True} + transforms: + decompose_tensor: + tensor: stress + rank: 2 + decomposition: + stress_isotropic: + irrep_dim: 0 + stress_anisotropic: + irrep_dim: 2 + normalizer: + fit: + targets: + forces: { mean: 0.0 } + stress_isotropic: { } + stress_anisotropic: { } + batch_size: 64 + num_batches: 10000 + element_references: + fit: + targets: + - energy + batch_size: 64 + num_batches: 10000 + + val: + format: ase_db + src: + - /dataset/mptraj/val + a2g_args: { r_energy: True, r_forces: True, r_stress: True} diff --git a/configs/omat24/mptrj_salex_dataset.yaml b/configs/omat24/mptrj_salex_dataset.yaml new file mode 100644 index 000000000..677d3329b --- /dev/null +++ b/configs/omat24/mptrj_salex_dataset.yaml @@ -0,0 +1,37 @@ +dataset: + train: + format: ase_db + src: + - /dataset/salex/train + - /dataset/mptraj/train + a2g_args: { r_energy: True, r_forces: True, r_stress: True} + transforms: + decompose_tensor: + tensor: stress + rank: 2 + decomposition: + stress_isotropic: + irrep_dim: 0 + stress_anisotropic: + irrep_dim: 2 + normalizer: + fit: + targets: + forces: { mean: 0.0 } + stress_isotropic: { } + stress_anisotropic: { } + batch_size: 64 + num_batches: 10000 + element_references: + fit: + targets: + - energy + batch_size: 64 + num_batches: 10000 + + val: + format: ase_db + src: + - /dataset/salex/val + - /dataset/mptraj/val + a2g_args: { r_energy: True, r_forces: True, r_stress: True} diff --git a/configs/omat24/omat24_dataset.yml b/configs/omat24/omat24_dataset.yml new file mode 100644 index 000000000..a35cd220a --- /dev/null +++ b/configs/omat24/omat24_dataset.yml @@ -0,0 +1,56 @@ +dataset: + train: + format: ase_db + src: + - /dataset/omat24/train/aimd-from-PBE-1000-npt + - /dataset/omat24/train/aimd-from-PBE-1000-nvt + - /dataset/omat24/train/aimd-from-PBE-3000-npt + - /dataset/omat24/train/aimd-from-PBE-3000-nvt + - /dataset/omat24/train/rattled-300-subsampled + - /dataset/omat24/train/rattled-500-subsampled + - /dataset/omat24/train/rattled-1000-subsampled + - /dataset/omat24/train/rattled-300 + - /dataset/omat24/train/rattled-500 + - /dataset/omat24/train/rattled-1000 + - /dataset/omat24/train/rattled-relax + a2g_args: { r_energy: True, r_forces: True, r_stress: True} + transforms: + decompose_tensor: + tensor: stress + rank: 2 + decomposition: + stress_isotropic: + irrep_dim: 0 + stress_anisotropic: + irrep_dim: 2 + normalizer: + fit: + targets: + forces: { mean: 0.0 } + stress_isotropic: {} + stress_anisotropic: {} + batch_size: 64 + num_batches: 10000 + element_references: + fit: + targets: + - energy + batch_size: 64 + num_batches: 10000 + + val: + format: ase_db + src: # small val, ~1M samples from full val + - /dataset/omat24/val/aimd-from-PBE-1000-npt + - /dataset/omat24/val/aimd-from-PBE-1000-nvt + - /dataset/omat24/val/aimd-from-PBE-3000-npt + - /dataset/omat24/val/aimd-from-PBE-3000-nvt + - /dataset/omat24/val/rattled-300-subsampled + - /dataset/omat24/val/rattled-500-subsampled + - /dataset/omat24/val/rattled-1000-subsampled + - /dataset/omat24/val/rattled-300 + - /dataset/omat24/val/rattled-500 + - /dataset/omat24/val/rattled-1000 + - /dataset/omat24/val/rattled-relax + + a2g_args: { r_energy: True, r_forces: True, r_stress: True} diff --git a/docs/_toc.yml b/docs/_toc.yml index 7fb384a97..1e844dbc8 100644 --- a/docs/_toc.yml +++ b/docs/_toc.yml @@ -27,6 +27,7 @@ parts: - file: core/datasets/odac - file: core/datasets/oc20dense - file: core/datasets/oc20neb + - file: core/datasets/omat24 - file: core/model_checkpoints - caption: Making your own datasets chapters: diff --git a/docs/core/datasets/omat24.md b/docs/core/datasets/omat24.md new file mode 100644 index 000000000..53217adc7 --- /dev/null +++ b/docs/core/datasets/omat24.md @@ -0,0 +1,121 @@ +# Open Materials 2024 (OMat24) + +## Overview +The OMat24 dataset contains a mix of single point calculations of non-equilibrium structures and +structural relaxations. The dataset contains structures labeled with total energy (eV), forces (eV/A) +and stress (eV/A^3). The dataset is provided in ASE DB compatible lmdb files. + +The OMat24 train and val splits are fully compatible with the Matbench-Discovery benchmark test set. + 1. The splits do not contain any structure that has a protostructure label present in the initial or relaxed + structures of the WBM dataset. + 2. The splits do not include any structure that was generated starting from an Alexandria relaxed structure with + protostructure lable in the intitial or relaxed structures of the WBM datset. + +## Subdatasets +OMat24 is made up of X subdatasets based on how the structures were generated. The subdatasets included are: +1. rattled-1000-subsampled & rattled-1000 +2. rattled-500-subsampled & rattled-300 +3. rattled-300-subsampled & rattled-500 +4. aimd-from-PBE-1000-npt +5. aimd-from-PBE-1000-nvt +6. aimd-from-PBE-3000-npt +7. aimd-from-PBE-3000-nvt +8. rattled-relax + +**Note** There are two subdatasets for the rattled-< T > datasets. Both subdatasets in each pair were generated with the +same procedure as described in our manuscript. + +## File contents and downloads + +### OMat24 train split +| Sub-dataset | No. structures | File size | Download | +|:------------------------:|:--------------:|:---------:|:--------------------------------------------------------------------------------------------------------------------------------------------:| +| rattled-1000 | 122,937 | 21 GB | [rattled-1000.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/rattled-1000.tar.gz) | +| rattled-1000-subsampled | 41,786 | 7.1 GB |[rattled-1000-subsampled.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/rattled-1000-subsampled.tar.gz) | +| rattled-500 | 75,167 | 13 GB | [rattled-500.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/rattled-500.tar.gz) | +| rattled-500-subsampled | 43,068 | 7.3 GB | [rattled-500-subsampled.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/rattled-500-subsampled.tar.gz) | +| rattled-300 | 68,593 | 12 GB | [rattled-300.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/rattled-300.tar.gz) | +| rattled-300-subsampled | 37,393 | 6.4 GB | [rattled-300-subsampled.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/rattled-300-subsampled.tar.gz) | +| aimd-from-PBE-1000-npt | 223,574 | 26 GB | [aimd-from-PBE-1000-npt.tar.gz](hhtps://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/aimd-from-PBE-1000-npt.tar.gz) | +| aimd-from-PBE-1000-nvt | 215,589 | 24 GB | [aimd-from-PBE-1000-nvt.tar.gz](hhtps://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/aimd-from-PBE-1000-nvt.tar.gz) | +| aimd-from-PBE-3000-npt | 65,244 | 25 GB | [aimd-from-PBE-3000-npt.tar.gz](hhtps://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/aimd-from-PBE-3000-npt.tar.gz) | +| aimd-from-PBE-3000-nvt | 84,063 | 32 GB | [aimd-from-PBE-3000-npt.tar.gz](hhtps://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/aimd-from-PBE-3000-npt.tar.gz) | +| rattled-relax | 99,968 | 12 GB | [rattled-relax.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/rattled-relax.tar.gz) | +| Total | 1,077,382 | 185.8 GB | + +### OMat24 val split (this is a 1M subset used to train eqV2 models from the 5M val split) + +| Sub-dataset | Size | File Size | Download | +|:-----------------------:|:---------:|:---------:|----------------------------------------------------------------------------------------------------------------------------------------------:| +| rattled-1000 | 122,937 | 229 MB | [rattled-1000.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/rattled-1000.tar.gz) | +| rattled-1000-subsampled | 41,786 | 80 MB | [rattled-1000-subsampled.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/rattled-1000-subsampled.tar.gz) | +| rattled-500 | 75,167 | 142 MB | [rattled-500.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/rattled-500.tar.gz) | +| rattled-500-subsampled | 43,068 | 82 MB | [rattled-500-subsampled.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/rattled-500-subsampled.tar.gz) | +| rattled-300 | 68,593 | 128 MB | [rattled-300.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/rattled-300.tar.gz) | +| rattled-300-subsampled | 37,393 | 72 MB | [rattled-300-subsampled.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/rattled-300-subsampled.tar.gz) | +| aimd-from-PBE-1000-npt | 223,574 | 274 MB | [aimd-from-PBE-1000-npt.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/aimd-from-PBE-1000-npt.tar.gz) | +| aimd-from-PBE-1000-nvt | 215,589 | 254 MB | [aimd-from-PBE-1000-nvt.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/aimd-from-PBE-1000-nvt.tar.gz) | +| aimd-from-PBE-3000-npt | 65,244 | 296 MB | [aimd-from-PBE-3000-npt.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/aimd-from-PBE-3000-npt.tar.gz) | +| aimd-from-PBE-3000-nvt | 84,063 | 382 MB | [aimd-from-PBE-3000-nvt.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/aimd-from-PBE-3000-nvt.tar.gz) | +| rattled-relax | 99,968 | 124 MB | [rattled-relax.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/omat/val/rattled-relax.tar.gz) | +| Total | 1,077,382 | 2.1 GB | + + +### sAlex Dataset +We also provide the sAlex dataset used for fine-tuning of our OMat models. sAlex is a subsampled, Matbench-Discovery compliant, version of the original [Alexandria](https://alexandria.icams.rub.de/). +sAlex was created by removing structures matched in WBM and only sampling structure along a trajectory with an energy difference greater than 10 meV/atom. For full details, +please see the manuscript. + +| Dataset | Split | No. Structures | File Size | Download | +|:-------:|:-----:|:--------------:|:---------:|-------------------------------------------------------------------------------------------------------:| +| sAlex | train | 10,447,765 | 7.6 GB | [train.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/sAlex/train.tar.gz) | +| sAlex | val | 553,218 | 408 MB | [val.tar.gz](https://dl.fbaipublicfiles.com/opencatalystproject/data/omat/241018/sAlex/val.tar.gz) | + + +## Getting ASE atoms objects +Dataset files are written as `AseLMDBDatabase` objects which are an implementation of an [ASE Database](https://wiki.fysik.dtu.dk/ase/ase/db/db.html), +in LMDB format. A single **.aselmdb* file can be read and queried like any other ASE DB. + +You can also read many DB files at once and access atoms objects using the `AseDBDataset` class. + +For example to read the **rattled-relax** subdataset, +```python +from fairchem.core.datasets import AseDBDataset + +dataset_path = "/path/to/omat24/train/rattled-relax" +config_kwargs = {} # see tutorial on additiona configuration + +dataset = AseDBDataset(config=dict(src=dataset_path, **config_kwargs)) + +# atoms objects can be retrieved by index +atoms = dataset.get_atoms(0) +``` + +To read more than one subdataset you can simply pass a list of subdataset paths, +```python +from fairchem.core.datasets import AseDBDataset + +config_kwargs = {} # see tutorial on additiona configuration +dataset_paths = [ + "/path/to/omat24/train/rattled-relax", + "/path/to/omat24/train/rattled-1000-subsampled", + "/path/to/omat24/train/rattled-1000", +] +dataset = AseDBDataset(config=dict(src=dataset_paths, **config_kwargs)) +``` +To read all of the OMat24 training or validations splits simply pass the paths to all subdatasets. + +### Citing OMat24 + +The OMat24 dataset is licensed under a [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/legalcode). + +Please consider citing the following paper in any publications that uses this dataset: + + +```bibtex + +``` + +```bibtex + +``` diff --git a/docs/core/model_checkpoints.md b/docs/core/model_checkpoints.md index e7c16658d..dc18172ed 100644 --- a/docs/core/model_checkpoints.md +++ b/docs/core/model_checkpoints.md @@ -177,3 +177,58 @@ Please consider citing the following paper in any research manuscript using the journal={arXiv preprint arXiv:2311.00341}, } ``` + + +## Open Materials 2024 (OMat24) + +* All config files for the OMat24 models are available in the [`configs/odac`](https://github.com/FAIR-Chem/fairchem/tree/main/configs/omat24) directory. +* All models are equiformerV2 S2EFS models + +**Note** in order to download any of the model checkpoints from the links below, you will need to first request access +through the [OMMAT24 Hugging Face page](https://huggingface.co/fairchem/OMAT24). + +### OMat pretrained models + +These checkpoints are trained on OMat24 only. Note that predictions are *not* Materials Project compatible. + +| Model Name | Checkpoint | Config | +|-----------------------|--------------|---------------------------------------------------------------------------------------------| +| EquiformerV2-31M-OMat | [checkpoint](https://huggingface.co/fairchem/OMAT24/blob/main/eqV2_31M_omat.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/omat24/all/eqV2_31M.yml) | +| EquiformerV2-86M-OMat | [checkpoint](https://huggingface.co/fairchem/OMAT24/blob/main/eqV2_86M_omat.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/omat24/all/eqV2_86M.yml) | +| EquiformerV2-153M-OMat | [checkpoint](https://huggingface.co/fairchem/OMAT24/blob/main/eqV2_153M_omat.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/omat24/all/eqV2_153M.yml) | + + +### MPTrj only models +These models are trained only on the [MPTrj]() dataset. + +| Model Name | Checkpoint | Config | +|---------------------------|--------------|---------------------------------------------------------------------------------| +| EquiformerV2-31M-MP | [checkpoint](https://huggingface.co/fairchem/OMAT24/blob/main/eqV2_31M_mp.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/omat24/mptrj/eqV2_31M_mptrj.yml) | +| EquiformerV2-31M-DeNS-MP | [checkpoint](https://huggingface.co/fairchem/OMAT24/blob/main/eqV2_dens_31M_mp.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/omat24/mptrj/eqV2_31M_dens_mptrj.yml) | +| EquiformerV2-86M-DeNS-MP | [checkpoint](https://huggingface.co/fairchem/OMAT24/blob/main/eqV2_dens_86M_mp.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/omat24/mptrj/eqV2_86M_dens_mptrj.yml) | +| EquiformerV2-153M-DeNS-MP | [checkpoint](https://huggingface.co/fairchem/OMAT24/blob/main/eqV2_dens_153M_mp.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/omat24/mptrj/eqV2_153M_dens_mptrj.yml) | + + +### Finetuned OMat models +These models are finetuned from the OMat pretrained checkpoints using MPTrj or MPTrj and sub-sampled trajectories +from the 3D PBE Alexandria dataset, which we call Alex. + +| Model Name | Checkpoint | Config | +|--------------------------------|--------------|------------------------------------------------------------------------------------| +| EquiformerV2-31M-OMat-Alex-MP | [checkpoint](https://huggingface.co/fairchem/OMAT24/blob/main/eqV2_31M_omat_mp_salex.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/omat24/finetune/eqV2_31M_ft_salexmptrj.yml) | +| EquiformerV2-86M-OMat-Alex-MP | [checkpoint](https://huggingface.co/fairchem/OMAT24/blob/main/eqV2_86M_omat_mp_salex.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/omat24/finetune/eqV2_86M_ft_salexmptrj.yml) | +| EquiformerV2-153M-OMat-Alex-MP | [checkpoint](https://huggingface.co/fairchem/OMAT24) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/omat24/finetune/eqV2_153M_ft_salexmptrj.yml) | + + +Please consider citing the following work if you use OMat24 models in your work, +```bibtex +@article{barroso-luqueOpenMaterials20242024, + title = {Open Materials 2024 (OMat24) Inorganic Materials Dataset and Models}, + author = {Barroso-Luque, Luis and Shuaibi, Muhammed and Fu, Xiang and Wood, Brandon M. and Dzamba, Misko and Gao, Meng and Rizvi, Ammar and Zitnick, C. Lawrence and Ulissi, Zachary W.}, + date = {2024-10-16}, + eprint = {2410.12771}, + eprinttype = {arXiv}, + doi = {10.48550/arXiv.2410.12771}, + url = {http://arxiv.org/abs/2410.12771}, +} +``` diff --git a/docs/index.md b/docs/index.md index 6d23c919c..3f89a21be 100644 --- a/docs/index.md +++ b/docs/index.md @@ -38,6 +38,7 @@ tasks, data, and metrics, please read the documentations and respective papers: - [ODAC23](core/datasets/odac) - [OC20Dense](core/datasets/oc20dense) - [OC20NEB](core/datasets/oc20neb) + - [OMat24](core/datasets/omat24) #### Projects and models built on `fairchem`: