Twin point-model, Resnik-contrastive, 1024-dim β aspect-specific checkpoints
Fine-tuned two-tower contrastive encoders trained on
Resnik GO-semantic similarity, one per GO
aspect. Trained on 2025-12-21 with std_ft_bs32ga4 configuration (standard
fine-tuning, batch 32, grad-accum 4, dropout 0.25).
- Architecture: custom AA Transformer + ESM2-backbone (
facebook/esm2_t33_650M_UR50D), both fine-tuned - Projection heads: 2-layer MLPs (custom: 256β128β512, ESM: 1280β640β512)
- Output:
concat(custom_proj, esm_proj)β 1024-dim - Distance: L2 on L2-normalized embeddings (point model)
Files
| File | GO Aspect | Training run |
|---|---|---|
bp_cp_best.pt |
Biological Process | train_point_BP_20251221_std_ft_bs32ga4 |
cc_cp_best.pt |
Cellular Component | train_point_CC_20251221_std_ft_bs32ga4 |
mf_cp_best.pt |
Molecular Function | train_point_MF_20251221_std_ft_bs32ga4 |
Each file is ~2.7 GB and contains the fine-tuned ESM2 backbone plus the custom transformer and projection heads.
Usage
import torch
from huggingface_hub import hf_hub_download
from twin_model import load_twin_model # twin_application/scripts/twin_baseline/
ckpt = hf_hub_download("genomenet/twin-point-1024", "bp_cp_best.pt")
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model, seq_len, emb_dim = load_twin_model(ckpt, device, "facebook/esm2_t33_650M_UR50D")
# emb_dim == 1024
Used by the genomenet/functional-distance Space with a runtime aspect switcher. Inference code: twin_application/scripts/twin_baseline/twin_model.py.
Inference Providers NEW
This model isn't deployed by any Inference Provider. π Ask for provider support