DPLM2-650M / README.md
lhallee's picture
Upload README.md with huggingface_hub
238b112 verified
---
library_name: transformers
tags: []
---
# NOTE
The GitHub with the implementation and requirements can be found [here](https://github.com/Synthyra/FastPLMs.git).
# DPLM2
Synthyra DPLM2 checkpoints are HuggingFace AutoModel compatible and include FastPLMs embedding helpers.
## Supported models
```python
model_dict = {
"Synthyra/DPLM2-150M": "airkingbd/dplm2_150m",
"Synthyra/DPLM2-650M": "airkingbd/dplm2_650m",
"Synthyra/DPLM2-3B": "airkingbd/dplm2_3b",
}
```
## Use with transformers
```python
import torch
from transformers import AutoModel, AutoModelForMaskedLM
model_path = "Synthyra/DPLM2-150M"
model = AutoModel.from_pretrained(model_path, trust_remote_code=True, dtype=torch.float16).eval()
tokenizer = model.tokenizer
batch = tokenizer(["MPRTEIN", "MSEQWENCE"], padding=True, return_tensors="pt")
with torch.no_grad():
hidden = model(**batch).last_hidden_state
mlm = AutoModelForMaskedLM.from_pretrained(model_path, trust_remote_code=True, dtype=torch.float16).eval()
with torch.no_grad():
logits = mlm(**batch).logits
```
## DPLM2 modality types
DPLM2 infers `type_ids` automatically from `input_ids` and `attention_mask` when they are not provided.
## Attention backend
`sdpa` is the default backend. Flex Attention is available by setting `config.attn_backend = "flex"` before loading.
## Embed datasets
All DPLM2 models inherit `EmbeddingMixin`, so you can call `model.embed_dataset(...)` directly.