This week I added two new services for crystal (CIF) generation. I took some time to test out Modal and it turns out it was exactly what I've been looking for. Many of these models are GPU intensive and so hosting them on Ouro infrastructure without autoscaling and a serverless architecture would have been very costly.
Now, I can deploy models with all the power they need and only worry about paying for the time they are actually used. Very happy for that. As an added bonus, Modal works well with FastAPI (which exposes an OpenAPI interface) making importing the services into Ouro easy. I'll write up a guide on that soon. Now, to introduce the two models.
MatterGen is a generative model for inorganic materials design across the periodic table that can be fine-tuned to steer the generation towards a wide range of property constraints.
is a generative model for inorganic materials design that can be fine-tuned to steer the generation towards a wide range of property constraints.
I'll hold off on any personal opinions of the model here but be on the lookout for that soon.
CrystaLLM is a Transformer-based Large Language Model of the CIF (Crystallographic Information File) format. The model can be used to generate crystal structures for a given composition and, optionally, space group.
is a model that generates crystal structures from chemical compositions. https://crystallm.com/
Taking a different approach, CrystaLLM generates a single crystal in about 30 seconds. The response is a CIF file so you can see your result right away and start using it with other services on the platform.
With CrystaLLM, you are able to choose your space group along with the chemical family you want to generate for. MatterGen has similar capability to choose space group but I haven't added that version of the model yet.
Also note that CrystaLLM respects the stoichiometric ratio you set, whereas MatterGen accounts for chemical system. The input format is slightly different too:
For MatterGen:
Composition: Fe-Bi-S
Just the elements you want, separated by spaces
For CrystaLLM:
Composition: Fe12Bi2S
Elements and stoichiometric ratio, no spaces
After generation, you may want to relax the materials to ensure they are in the ground state, create supercells to see symmetry, or use some of the property prediction routes. You can do that from the Actions sidebar section on the asset, or, navigate to one of the routes and choose your CIF as input there.
Hope you find these models useful! Looking forward to seeing what everyone comes up with and if there are any promising candidates for the kind of materials you are looking for.
Share a post with your CIFs embedded and what you've learned about them. Happy building!