FAIRChem v2 e UMA: simulação atomística unificada com um único modelo de machine learning
Simular moléculas, catalisadores e materiais cristalinos geralmente exige modelos diferentes para cada domínio — um para química orgânica, outro para superfícies, outro para sólidos. O time do FAIRChem v2 (Meta) está mudando esse paradigma com o UMA (Universal Machine-Learning Interatomic Potential), um potencial interatômico pré-treinado que cobre os três domínios com um único modelo, e este tutorial mostra como usar na prática.
O que o UMA unifica
O UMA é um modelo de aprendizado de máquina para prever energias e forças atômicas em três domínios quimicamente distintos:
- omol (Open Molecular): química molecular — energias, otimização de geometria, gaps de spin, energias de reação, modos vibracionais
- oc20 (Open Catalyst 2020): catálise heterogênea — adsorção de moléculas em superfícies metálicas
- omat (Open Materials): materiais inorgânicos — relaxação de célula cristalina, equação de estado, bulk modulus
Em vez de treinar três modelos separados, você carrega um único checkpoint e seleciona o domínio com task_name. O tutorial integra o FAIRChem com o ASE (Atomic Simulation Environment) para gerenciar estruturas atômicas, otimizadores, restrições, cálculos termodinâmicos e análise de trajetórias.
Configuração e autenticação
Os pesos do UMA são gated no Hugging Face — você precisa de um token de acesso. O tutorial cobre a instalação via pip install fairchem-core ase matplotlib huggingface_hub e fornece código para autenticação automática usando variáveis de ambiente ou Google Colab secrets:
from fairchem.core import pretrained_mlip, FAIRChemCalculator
MODEL = "uma-s-1p2"
predictor = pretrained_mlip.get_predict_unit(MODEL, device="cuda")
calc_mol = FAIRChemCalculator(predictor, task_name="omol")
calc_cat = FAIRChemCalculator(predictor, task_name="oc20")
calc_mat = FAIRChemCalculator(predictor, task_name="omat")Fluxos de trabalho cobertos
O tutorial percorre 10 seções, cada uma demonstrando um tipo de cálculo diferente com o mesmo modelo:
- Energia de ponto único da água: cálculo de energia potencial, forças atômicas e energia de atomização comparada com referência experimental (~9,5 eV)
- Otimização de geometria: relaxação de uma molécula de H₂O distorcida com LBFGS, recuperando comprimento de ligação O-H (~0,958 Å) e ângulo H-O-H (~104,5°)
- Gap singleto-tripleto do CH₂: o UMA é spin-aware — compara estados eletrônicos definindo
spin=1ouspin=3no dicionárioinfo - Energia de reação de combustão: CH₄ + 2O₂ → CO₂ + 2H₂O, com relaxação de cada espécie antes de calcular ΔE eletrônico
- Frequências vibracionais: análise de diferenças finitas com
Vibrationsdo ASE, obtendo modos normais e energia de ponto zero - Adsorção CO/Cu(100): construção de slab periódico com
fcc100, adsorção de CO em ponte, relaxação com restrições FixAtoms e cálculo de energia de adsorção - Relaxação de célula do ferro BCC: otimização simultânea de posições atômicas e parâmetros de rede com FrechetCellFilter + FIRE
- Equação de estado: fitting Birch-Murnaghan em 9 volumes, extraindo bulk modulus (~170 GPa para Fe, próximo do experimental)
- Dinâmica molecular Langevin: simulação de 0,5 ps a 300K para H₂O, rastreando temperatura, energia potencial e distância de ligação ao longo do tempo
- Scan de superfície de energia potencial: perfil de dissociação da ligação O-H variando distância de 0,7 a 2,5 Å
Comparação de modos de operação
| Modo | Domínio | Exemplo | Complexidade |
|---|---|---|---|
| Energia estática | omol | Single-point H₂O | Baixa |
| Otimização de geometria | omol | Relaxação com LBFGS | Média |
| Superfície + adsorbato | oc20 | CO/Cu(100) ponte | Alta |
| Célula cristalina | omat | BCC Fe + equação de estado | Alta |
| Dinâmica molecular | omol | Langevin 300K | Muito alta |
Requisitos de hardware
| Componente | Mínimo | Recomendado |
|---|---|---|
| GPU | Nenhuma (CPU) | NVIDIA com 8+ GB VRAM |
| RAM | 8 GB | 16+ GB |
| Armazenamento | 2 GB (modelo) | 5+ GB |
| Python | 3.10+ | 3.11+ |
| Pacotes | fairchem-core, ase | + matplotlib, huggingface_hub |
Casos de uso reais
- Descoberta de fármacos: triagem de candidatos por energia de ligação e otimização de geometria molecular em lote
- Design de catalisadores: predição de energia de adsorção em diferentes superfícies metálicas e sítios (topo, ponte, hollow)
- Ciência de materiais: screening de novas ligas e cerâmicas por bulk modulus e estabilidade de fase
- Educação em química computacional: ambiente completo para ensino de química quântica sem licenças caras de software
- Baterias e armazenamento de energia: simulação de difusão iônica em eletrólitos sólidos com dinâmica molecular
Prós e contras
✅ O que você ganha:
- Um único modelo para três domínios químicos, eliminando a necessidade de trocar de ferramenta
- Integração nativa com ASE — todos os builders, otimizadores, filtros e analisadores funcionam
- Código aberto (MIT), pesos disponíveis no Hugging Face (gated)
- Aceleração GPU transparente via PyTorch
- Precisão competitiva com DFT em várias ordens de magnitude mais rápido
⚠️ Limitações:
- Pesos são gated — requer token Hugging Face e aceitação de termos de uso
- Não substitui DFT para propriedades que dependem explicitamente da densidade eletrônica (ex: espectroscopia UV-vis, NMR)
- Sistemas muito grandes (>10.000 átomos) podem exigir a variante multi-GPU (
fairchem-core[extras]) - A documentação ainda está evoluindo, com alguns edge cases não cobertos
Próximos passos
O tutorial fecha com extensões naturais: trocar para o modelo maior uma-m-1p1 (mais preciso, mais pesado), explorar domínios adicionais como odac (MOFs) e omc (cristais moleculares), e escalar para múltiplas GPUs com workers=N. O código completo está disponível no GitHub dos autores.
Para quem trabalha na interseção de IA e química, o FAIRChem v2 com UMA representa um avanço significativo: um potencial universal que cobre domínios historicamente separados, com uma API limpa e integração ao ecossistema ASE. É a direção que a química computacional está tomando — menos barreiras entre especialidades, mais reutilização de modelos.
Descubra mais sobre noticiAI
Assine para receber nossas notícias mais recentes por e-mail.



