Team Ai
Modelpublic

hogru/MolReactGen-USPTO50K-Reaction-Templates

sourceHugging Facemitupdated 3y agoView on Hugging Face
2likes22downloads
Model Card

Model Card for Model hogru/MolReactGen-USPTO50K-Reaction-Templates

<!-- Provide a quick summary of what the model is/does. -->

MolReactGen is a model that generates reaction templates in SMARTS format (this model) and molecules in SMILES format.

Model Details

Model Description

<!-- Provide a longer summary of what this model is. -->

MolReactGen is based on the the GPT-2 transformer decoder architecture and has been trained on a pre-processed version of the USPTO-50K dataset. More information can be found in these introductory slides.pdf).

  • —Developed by: Stephan Holzgruber
  • —Model type: Transformer decoder
  • —License: MIT

Model Sources

<!-- Provide the basic links for the model. -->

  • —Repository: https://github.com/hogru/MolReactGen
  • —Presentation: https://github.com/hogru/MolReactGen/blob/main/presentations/Slides%20(A4%20size).pdf
  • —Poster: https://github.com/hogru/MolReactGen/blob/main/presentations/Poster%20(A0%20size).pdf

Uses

<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->

The main use of this model is to pass the master's examination of the author ;-)

Direct Use

<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->

The model can be used in a Hugging Face text generation pipeline. For the intended use case a wrapper around the raw text generation pipeline is needed. This is the `generate.py` from the repository. The model has a default GenerationConfig() (generation_config.json) which can be overwritten. Depending on the number of molecules to be generated (num_return_sequences in the JSON file) this might take a while. The generation code above shows a progress bar during generation.

Bias, Risks, and Limitations

<!-- This section is meant to convey both technical and sociotechnical limitations. -->

The model generates reaction templates that are similar to the USPTO-50K training data. Any checks of the reaction templates, e.g. chemical feasiblitly, must be adressed by the user of the model.

Training Details

Training Data

<!-- This should link to a Data Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->

Pre-processed version of the USPTO-50K dataset, originally introduced by Schneider et al..

Training Procedure

The default Hugging Face Trainer() has been used, with an EarlyStoppingCallback().

Preprocessing

The training data was pre-processed with a PreTrainedTokenizerFast() trained on the training data with a bespoke RegEx pre-tokenizer which "understands" the SMARTS syntax.

Training Hyperparameters

  • —Batch size: 8
  • —Gradient accumulation steps: 4
  • —Mixed precision: fp16, native amp
  • —Learning rate: 0.0005
  • —Learning rate scheduler: Cosine
  • —Learning rate scheduler warmup: 0.1
  • —Optimizer: AdamW with betas=(0.9,0.95) and epsilon=1e-08
  • —Number of epochs: 43 (early stopping)

More configuration (options) can be found in the `conf` directory of the repository.

Evaluation

<!-- This section describes the evaluation protocols and provides the results. -->

Please see the slides / the poster mentioned above.

Metrics

<!-- These are the evaluation metrics being used, ideally with a description of why. -->

Please see the slides / the poster mentioned above.

Results

Please see the slides / the poster mentioned above.

Technical Specifications

Framework versions

  • —Transformers 4.27.1
  • —Pytorch 1.13.1
  • —Datasets 2.10.1
  • —Tokenizers 0.13.2

Hardware

  • —Local PC running Ubuntu 22.04
  • —NVIDIA GEFORCE RTX 3080Ti (12GB)