Model reference · open weights
materials.mhg-ged is an open-weight embedding model from ibm-research. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.
Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.
What it is
| Released by | IBM |
|---|---|
| Published under | ibm-research |
| Type | Embedding models |
| Task | Embeddings |
| Runs with | diffusers |
| Released | 2024-10-25 |
| Popularity | 2k downloads / month |
| Licence | Open weights |
About
This repository provides PyTorch source code assosiated with our publication, "MHG-GNN: Combination of Molecular Hypergraph Grammar with Graph Neural Network"
Paper: Arxiv Link
We present MHG-GNN, an autoencoder architecture that has an encoder based on GNN and a decoder based on a sequential model with MHG. Since the encoder is a GNN variant, MHG-GNN can accept any molecule as input, and demonstrate high predictive performance on molecular graph data. In addition, the decoder inherits the theoretical guarantee of MHG on always generating a structurally valid molecule as output.
This code and environment have been tested on Intel E5-2667 CPUs at 3.30GHz and NVIDIA A100 Tensor Core GPUs.
We provide checkpoints of the MHG-GNN model pre-trained on a dataset of ~1.34M molecules curated from PubChem. (later) For model weights: HuggingFace Link
Add the MHG-GNN pre-trained weights.pt to the models/ directory according to your needs.
We recommend to create a virtual environment. For example:
python3 -m venv .venv
. .venv/bin/activate
Type the following command once the virtual environment is activated:
git clone git@github.ibm.com:CMD-TRL/mhg-gnn.git
cd ./mhg-gnn
pip install .
The example notebook mhg-gnn_encoder_decoder_example.ipynb contains code to load checkpoint files and use the pre-trained model for encoder and decoder tasks.
To load mhg-gnn, you can simply use:
import torch
import load
model = load.load()
To encode SMILES into embeddings, you can use:
with torch.no_grad():
repr = model.encode(["CCO", "O=C=O", "OC(=O)c1ccccc1C(=O)O"])
For decoder, you can use the function, so you can return from embeddings to SMILES strings:
orig = model.decode(repr)
For more information contact indra.ipd@ibm.com
From the published model card. Full card on the HuggingFace links in the sidebar.
How it works
Using it via the API
Once AxForge deploys materials-mhg-ged for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (materials-mhg-ged below is illustrative; you get the exact model name on deployment.)
$ curl -sS https://api.axforge.ai/v1/embeddings \
-H "Authorization: Bearer $AXFORGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"materials-mhg-ged","input":"text to embed"}'
Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.