File size: 1,730 Bytes
6ff8ce3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
---
license: apache-2.0
tags:
- pretrained
- mistral
- DNA
- plant
- Arabidopsis thaliana
---

# Model Card for Mistral-DNA-v1-422M-Athaliana (Mistral for DNA)

The Mistral-DNA-v1-422M-Athaliana Large Language Model (LLM) is a pretrained generative DNA sequence model with 422M parameters. 
It is derived from Mixtral-8x7B-v0.1 model, which was simplified for DNA: the number of layers and the hidden size were reduced. 
The model was pretrained using 10kb DNA sequences from 7 A. thaliana genome assemblies (from https://1001genomes.org/data/MPIPZ/MPIPZJiao2020/releases/current/full_set/). 

## Model Architecture

Like Mixtral-8x7B-v0.1, it is a transformer model, with the following architecture choices:
- Grouped-Query Attention
- Sliding-Window Attention
- Byte-fallback BPE tokenizer
- Mixture of Experts

## Load the model from huggingface:

```
import torch
from transformers import AutoTokenizer, AutoModel

tokenizer = AutoTokenizer.from_pretrained("RaphaelMourad/Mistral-DNA-v1-422M-Athaliana", trust_remote_code=True) 
model = AutoModel.from_pretrained("RaphaelMourad/Mistral-DNA-v1-422M-Athaliana", trust_remote_code=True)
```

## Calculate the embedding of a protein sequence

```
insulin = "TGATGATTGGCGCGGCTAGGATCGGCT"
inputs = tokenizer(insulin, return_tensors = 'pt')["input_ids"]
hidden_states = model(inputs)[0] # [1, sequence_length, 256]

# embedding with max pooling
embedding_max = torch.max(hidden_states[0], dim=0)[0]
print(embedding_max.shape) # expect to be 256
```

## Troubleshooting

Ensure you are utilizing a stable version of Transformers, 4.34.0 or newer.

## Notice

Mistral-DNA-v1-422M-Athaliana is a pretrained base model for DNA.

## Contact
 
Raphaël Mourad. raphael.mourad@univ-tlse3.fr