ADiT Structure Generation Skill
SkillAI & modelsGenerate novel crystal structures and molecules using ADiT (All-atom Diffusion Transformer), a unified latent diffusion model.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the ADiT Structure Generation Skill skill
What this skill tells your AI
The instructions your AI receives, as published by learningmatter-mit/atomisticskills in .agents/skills/ml-generative-adit/SKILL.md and read by ahel’s review.
Goal
Generate novel crystal structures and molecules using ADiT (All-atom Diffusion Transformers, ICML 2025), a unified latent diffusion framework from Meta FAIR Chemistry that jointly generates both periodic materials and non-periodic molecular systems from a shared latent space.
1. Prerequisites
[!IMPORTANT] GPU Required: ADiT requires a CUDA-compatible GPU. CPU inference is extremely slow.
- The
adit-agentconda environment must be installed and configured. - The AADT repository must be cloned to
.agents/tmp/adit/. - Pre-trained weights are automatically downloaded from HuggingFace on first use.
2. Available Models
ADiT provides a joint pre-trained model trained on:
- MP20: Materials Project 2020 dataset (inorganic crystals, ~45K structures)
- QM9: Small organic molecules (~134K molecules)
The single checkpoint handles both crystal and molecule generation, selected via the generation_type parameter.
3. MCP Tool Usage
Crystal Generation
Generate novel periodic crystal structures (saved as CIF files):
mcp_adit_generate_structures(
generation_type="crystals", # Generate periodic crystals
num_structures=10, # Number of structures to generate
batch_size=100, # Batch size for GPU efficiency
cfg_scale=2.0, # Classifier-free guidance scale
output_dir="research/my_project/crystals"
)
Molecule Generation
Generate novel non-periodic molecules (saved as XYZ files):
mcp_adit_generate_structures(
generation_type="molecules", # Generate molecules
num_structures=10,
batch_size=100,
cfg_scale=2.0,
output_dir="research/my_project/molecules"
)
4. Parameters
| Parameter | Default | Description |
|---|---|---|
generation_type | "crystals" | "crystals" for periodic structures (CIF), "molecules" for non-periodic (XYZ) |
num_structures | 10 | Total number of structures to generate |
batch_size | 100 | Batch size (larger = faster on GPU) |
cfg_scale | 2.0 | Classifier-free guidance scale. Higher = more typical but less diverse |
device | "auto" | Device: "auto", "cpu", or "cuda" |
output_dir | auto | Output directory. Auto-creates under research dir |
5. Output Files
Crystal Generation
crystal_XXXX.cif: Generated crystal structure files (pymatgen CIF format)generation_metadata.json: Generation parameters and statistics
Molecule Generation
molecule_XXXX.xyz: Generated molecule files (ASE XYZ format)generation_metadata.json: Generation parameters and statistics
6. Limitations
[!WARNING] No Conditional Generation: The public checkpoint is unconditional only — you cannot condition on specific compositions, space groups, or properties. To get specific compositions: generate many structures and filter.
[!WARNING] No Fine-Tuning via MCP: Fine-tuning requires the full AADT training pipeline with multi-GPU setup and wandb logging. Use the raw codebase for training.
[!NOTE] Atom Count Distribution: The number of atoms per generated structure is sampled from the training dataset distribution. For crystals (MP20), this peaks around 8-20 atoms. For molecules (QM9), this peaks around 18 atoms including hydrogens.
7. Best Practices
[!TIP]
- Start with crystals: Crystal generation on MP20 tends to produce more valid structures
- Guidance scale: Use 2.0 (default) for balanced diversity/quality. Increase to 3.0-4.0 for more "typical" structures
- Validate outputs: Always validate generated structures via relaxation and stability analysis
- Batch size: Use batch_size=100 for best GPU throughput
8. Workflow Integration
ADiT works well in combination with:
- Structure relaxation: Use MLIP tools (MACE, FairChem, MatGL) to optimize generated structures
- Stability analysis: Calculate E_hull to identify thermodynamically stable phases
- Property prediction: Use MLIPs or DFT to calculate properties of generated structures
- Comparison with MatterGen: Generate structures with both ADiT and MatterGen for diversity
9. Architecture
ADiT uses a two-stage latent diffusion approach:
- VAE Autoencoder: Maps all-atom representations (atoms, coords, lattice) to a shared latent space
- DiT Denoiser: Trained via flow matching to generate new latent embeddings
- Decoder: Converts latent embeddings back to atomic structures
This unified framework handles both periodic (crystals) and non-periodic (molecules) systems.
Author: Bowen Deng Contact: GitHub @learningmatter-mit
Signals
- GitHub stars
- 164
- Forks
- 24
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
ml-generative-adit- Source
- github.com/learningmatter-mit/atomisticskills