Downloads · 30 days
244
12% of all-time downloads
AI4PD/ProtGPT3-1.3B
ProtGPT3-1.3B is a text generation model from AI4PD. Use it when you need the model to write or continue text. It is set up for transformers.
ProtGPT3-1.3B is a single-sequence autoregressive protein language model for protein sequence generation. It is part of the ProtGPT3 family, an open-source suite of promptable and aligned protein language models rangi…
Downloads · 30 days
244
12% of all-time downloads
All-time downloads
2K
Public
Parameters
1.3B
2.7 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors2.7 GB · 100%
From the Hugging Face model README
ProtGPT3-1.3B is a single-sequence autoregressive protein language model for protein sequence generation. It is part of the ProtGPT3 family, an open-source suite of promptable and aligned protein language models ranging from 112M to 10B parameters. ProtGPT3 models use a causal Mixtral-style Mixture-of-Experts architecture and are trained for causal language modeling on protein sequences.
The single-sequence ProtGPT3 models can generate proteins in either N-to-C or C-to-N direction using special directional tokens. The model is intended for unconditional or prefix-conditioned protein sequence generation and can be used as a base model for downstream protein design workflows.
Also consider using the ProtGPT3-1.3B -dpo version for an equivalent model size, but with improved sequence generation.
We provide some examples below.
Install dependencies:
pip install transformers accelerate torch
Load the model and tokenizer:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "AI4PD/ProtGPT3-1.3B" # Replace with the final checkpoint name
# Load tokenizer for generation
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True,add_bos_token=True, add_eos_token=False, padding_side="left")
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)
model.eval()
import torch
prompt = "" # Optionally provide an amino-acid prefix or model-specific direction
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
output_ids = model.generate(
inputs["input_ids"],
max_new_tokens=512,
do_sample=True,
temperature=0.8,
top_p=0.9,
eos_token_id=tokenizer.eos_token_id,
pad_token_id=tokenizer.pad_token_id,
num_return_sequences=20, # set to desired number of protein sequences to be generated in parallel
)
sequence = tokenizer.decode(output_ids[0], skip_special_tokens=True)
print(sequence) # output includes directional token "1" or "2" to denote if sequence was generated N-to-C or C-to-N
import torch
# forward N-to-C generation with special token "1"
prefix = "1MKT" # use special token "2" instead of "1" for reverse C-to-N generation
inputs = tokenizer(prefix, return_tensors="pt").to(model.device)
with torch.no_grad():
output_ids = model.generate(
inputs["input_ids"],
max_new_tokens=256,
do_sample=True,
temperature=0.8,
top_p=0.9,
eos_token_id=tokenizer.eos_token_id,
pad_token_id=tokenizer.eos_token_id,
num_return_sequences=20, # set to desired number of protein sequences to be generated in parallel
)
sequence = tokenizer.decode(output_ids[0], skip_special_tokens=True)
print(sequence)
import torch
prompts = [
"",
"1MKT", # N-to-C generation
"2MAV", # C-to-N generation
]
inputs = tokenizer(
prompts,
return_tensors="pt",
padding=True,
).to(model.device)
with torch.no_grad():
output_ids = model.generate(
inputs["input_ids"],
max_new_tokens=256,
do_sample=True,
temperature=0.8,
top_p=0.9,
eos_token_id=tokenizer.eos_token_id,
pad_token_id=tokenizer.bos_token_id,
num_return_sequences=20, # set to desired number of batch sequences to be generated in parallel
)
sequences = tokenizer.batch_decode(output_ids, skip_special_tokens=True)
for sequence in sequences:
print(sequence)
The model may be fine-tuned or incorporated into protein design workflows, including family-specific generation, protein variant generation, and computational screening pipelines.
The model should not be used as the sole basis for experimental, clinical, environmental, or safety-critical decisions. Generated proteins require downstream computational and experimental validation. The model is not guaranteed to generate functional, soluble, safe, or synthesizable proteins.
ProtGPT3-1.3B learns from public protein sequence datasets and may reproduce biases present in those datasets. Generated sequences may be low-complexity, nonfunctional, unstable, insoluble, or biologically implausible. Protein generation models may also present dual-use risks if used irresponsibly.
Users should apply appropriate computational filters, expert review, and experimental validation before using generated sequences. Users should also consider responsible-use practices for generative protein design.
ProtGPT3-1.3B is a decoder-only causal language model using a Mixtral-style sparse Mixture-of-Experts architecture. It was trained with a causal language modeling objective on protein sequences.
BibTeX:
@article{garibbo2026protgpt3,
title={ProtGPT3: an Open-source family of Promptable and Aligned Protein Language Models},
author={Garibbo, Michele and Boxo Corominas, Gerard and Stocco, Filippo and Illanes Vicioso, Ramiro and Middendorf, Lasse and Ferruz, Noelia},
journal={bioRxiv},
pages={2026--06},
year={2026},
publisher={Cold Spring Harbor Laboratory}
}
All models and code are released through the Hugging Face ecosystem and accompanying code repository.