Views
No views yet
This is a custom PyTorch model, not a Hugging Face TransformersAutoModel-compatible checkpoint.
Loading it requires themoss_dna_gptpackage from github.com/Unjuno/moss-dna-gpt.
This repository does not provide a Hugging Face Transformers pipeline.
Use the custom PyTorch loading code below.
1# Clone and install the package
2git clone https://github.com/Unjuno/moss-dna-gpt.git
3cd moss-dna-gpt
4pip install -e ".[hf]"1import torch
2from safetensors.torch import load_file
3
4from moss_dna_gpt.model import GPT, GPTConfig
5from moss_dna_gpt.tokenizer import DnaTokenizer
6from moss_dna_gpt.sampling import sample
7
8device = "cuda" if torch.cuda.is_available() else "cpu"
9
10# Load config
11config = GPTConfig(
12 vocab_size=9, block_size=1024, n_layer=12,
13 n_head=8, n_embd=384, dropout=0.1, bias=True,
14)
15
16# Load weights
17model = GPT(config).to(device)
18state_dict = load_file("model.safetensors")
19model.load_state_dict(state_dict)
20model.eval()
21
22# Generate
23tokenizer = DnaTokenizer()
24prefix = "ACGTACGTACGT"
25ids = tokenizer.encode(prefix, unknown="n")
26idx = torch.tensor([ids], dtype=torch.long, device=device)
27allowed = [tokenizer.stoi[b] for b in tokenizer.dna_tokens]
28out = sample(model, idx, max_new_tokens=128, temperature=0.8, top_k=4, allowed_token_ids=allowed)
29print(tokenizer.decode(out[0].tolist(), skip_special=True))| Model | Bits/base | Nats/base |
|---|---|---|
| Markov order 0 | 1.92504 | 1.33434 |
| Markov order 1 | 1.90902 | 1.32323 |
| Markov order 2 | 1.90315 | 1.31917 |
| Markov order 3 | 1.89569 | 1.31399 |
| Dinucleotide shuffled (order 5) | 1.90728 | 1.32203 |
| K3 shuffled (order 5) | 1.90049 | 1.31732 |
| IMM (interpolated 0..5) | 1.88614 | 1.30738 |
| Markov order 5 | 1.88614 | 1.30738 |
| DNA-GPT 20M (step 8M) | 1.41665 | 0.98195 |
Note on evaluation settings. The final step-8M evaluation used the full test set (~177M tokens). The intermediate curve points used a smaller subset (eval_batches=200). Learning-curve points and the release metric are not directly interchangeable due to different evaluation batch sizes. The canonical release claim is 1.41665 bits/base fromresults/eval_markov_20m_step8000000.json.

| File | Description |
|---|---|
README.md | Model card (this file) |
model.safetensors | Model weights in safetensors format |
config.json | Model configuration |
metadata.json | Training metadata |
loss.csv | Training/validation loss log |
eval_curve.json | Evaluation curve (bits/base vs step) |
learning_curve.png | Publication-quality learning curve figure |
1@software{moss_dna_gpt_2026,
2 author = {Unjuno},
3 title = {moss-dna-gpt: Minimal DNA Language Model for Moss Genome},
4 year = {2026},
5 url = {https://github.com/Unjuno/moss-dna-gpt}
6}