Forwarded from Machinelearning
MatterSim - усовершенствованная модель глубокого обучения в области материаловедения, предназначенная для моделирования свойств материалов в широком диапазоне элементов, температур и давлений. Она способна точно предсказывать свойства материалов по всей периодической таблице в диапазоне температур от 0 до 5000K и давления до 1000GPa.
MatterSim использует архитектуру M3GNet, которая включает в себя двух- и трехчастичные взаимодействия. Модель обучается с использованием функции потерь, учитывающей энергию на атом, вектор силы на каждом атоме и напряжение.
Особенность MatterSim - способность к активному и непрерывному обучению. Модель способна оценивать неопределенность своих прогнозов и выбирать структуры для активного обучения, что полезно для повышения точности моделирования сложных систем. MatterSim может быть настроена для моделирования на произвольном уровне теории.
Модель демонстрирует высокую точность в предсказании свободной энергии Гиббса и 10-кратное улучшение точности по сравнению с универсальными силовыми полями, обученными на траекториях релаксации на наборах данных MPF-TP и Random-TP.
Модель может быть точно настроена для атомистических симуляций на желаемом уровне теории или для прямых предсказаний "структура-свойство"с сокращением требований к данным до 97%.
⚠️ Рекомендуется устанавливать MatterSim с помощью
mamba
или micromamba
, поскольку conda может работать значительно медленнее при разрешении зависимостей в environment.yaml
.# Install package with the latest version
pip install git+https://github.com/microsoft/mattersim.git
# Create env via mamba
mamba env create -f environment.yaml
mamba activate mattersim
uv pip install -e .
python setup.py build_ext --inplace
# Minimal example using ASE calculator
import torch
from ase.build import bulk
from ase.units import GPa
from mattersim.forcefield import MatterSimCalculator
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"Running MatterSim on {device}")
si = bulk("Si", "diamond", a=5.43)
si.calc = MatterSimCalculator(device=device)
print(f"Energy (eV) = {si.get_potential_energy()}")
print(f"Energy per atom (eV/atom) = {si.get_potential_energy()/len(si)}")
print(f"Forces of first atom (eV/A) = {si.get_forces()[0]}")
print(f"Stress[0][0] (eV/A^3) = {si.get_stress(voigt=False)[0][0]}")
print(f"Stress[0][0] (GPa) = {si.get_stress(voigt=False)[0][0] / GPa}")
@ai_machinelearning_big_data
#AI #ML #DL #Mattersim #Microsoft
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM