CoolFace
Modelpublic

harindhar10/olmo_chem_lora_cpt_LoRA_500k

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes89downloads
Model Card

OLMo-7B Full Fine-Tune — Chemistry SMILES CPT

Model Description

This model is a full-parameter fine-tuned version of Codemaster67/Olmo-7b-spe trained on chemistry SMILES strings from the Codemaster67/Causal_lm_chemistry_1M_rows dataset.

The base model's tokenizer was pre-extended with ~300 SPE (SMILES Pair Encoding) chemistry tokens plus <|start_of_smiles|> / <|end_of_smiles|> special tokens, and its embedding & LM-head layers were resized with mean-initialised vectors for the new tokens.

Training Details

ParameterValue
MethodFull Fine-Tune (all weights updated)
ParallelismFSDP (Fully Sharded Data Parallel)
Epochs1
Learning Rate5e-06
Batch Size (per device)16
Gradient Accumulation1
Max Sequence Length512
Warmup Ratio0.1
Weight Decay0.01
SchedulerCosine
Precisionbf16
AugmentationOFF
Training Samples250000
Eval Samples25000

Evaluation Results

MetricValue
Final Eval Loss0.9727568626403809
Final Eval Perplexity2.645226943673604
Training Loss1.1177

Usage

python
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("harindhar10/olmo_chem_lora_cpt_LoRA_500k", trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained("harindhar10/olmo_chem_lora_cpt_LoRA_500k", trust_remote_code=True)

smiles_input = "<|start_of_smiles|>CC(=O)Oc1ccccc1C(=O)O<|end_of_smiles|>"
inputs = tokenizer(smiles_input, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=128)
print(tokenizer.decode(outputs[0], skip_special_tokens=False))

Intended Use

Chemistry-domain language modelling, SMILES generation and completion, and downstream molecular property prediction via fine-tuning.

Limitations

  • —Trained primarily on SMILES strings; natural-language instruction-following ability may degrade compared to the base OLMo checkpoint.
  • —Augmentation was disabled for this run.