Qwen3.5-2B-DNA is an open-weight model from Snowy Autumn, released under Apache License 2.0. It has 1.9B parameters and a 262,144-token context. At 16-bit it needs about 4.5 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index.
A Qwen3.5-2B backbone extended with DNA reading. Paste a gene sequence between and tags and ask about it in plain English. It can report gene type, organism domain, length and GC content, and describe what a sequence shows.
Runs On
What it takes to serve Qwen3.5-2B-DNA (1.9B parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.
| Precision | Weights | Memory needed | Cheapest setup | Per hour | Also fits |
|---|---|---|---|---|---|
| 16-bit | 3.8 GB | 4.5 GB | 1x MI300X (192 GB) Vultr |
$1.85 | 1x H100 $1.99 · 1x MI325X $2.00 |
| 8-bit | 1.9 GB | 2.3 GB | 1x MI300X (192 GB) Vultr |
$1.85 | 1x H100 $1.99 · 1x MI325X $2.00 |
| 4-bit | 0.9 GB | 1.1 GB | 1x MI300X (192 GB) Vultr |
$1.85 | 1x H100 $1.99 · 1x MI325X $2.00 |
Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 18, 2026.
Qwen3.5-2B-DNA on every accelerator the SAVRN Index prices, at every precision
Model Card
By Snowy Autumn, published under apache-2.0, revision 8c9169bf4bc9.
A Qwen3.5-2B backbone extended with DNA reading. Paste a gene sequence between and tags and ask about it in plain English. It can report gene type, organism domain, length and GC content, and describe what a sequence shows. It also continues DNA spans when asked. Two extra tokens (, ) bracket the sequence. Anything outside the tags is normal chat, and the model answers that normally. This modified version of Qwen3.5-2B includes an additional small custom DNA model that's been trained separately, and then inserted into the model's architecture, with projection layers in between the two to get a representation of the latter's tokens into the former's token space, and the vision tower has been…
Read Snowy Autumn's full model card
Qwen3.5-2B-DNA (preliminary)
A Qwen3.5-2B backbone extended with DNA reading. Paste a gene sequence
between <dna_start> and <dna_end> tags and ask about it in plain
English. It can report gene type, organism domain, length and GC
content, and describe what a sequence shows. It also continues DNA
spans when asked.
Two extra tokens (<dna_start>, <dna_end>) bracket the sequence.
Anything outside the tags is normal chat, and the model answers that
normally.
Model Architecture
This modified version of Qwen3.5-2B includes an additional small custom DNA model that's been trained separately, and then inserted into the model's architecture, with projection layers in between the two to get a representation of the latter's tokens into the former's token space, and the vision tower has been removed, so the model retains no vision capabilities. The final model has then been finetuned to use these more naturally. The DNA tokeniser works in a slide-1 overlapping 3-mer, and the model's been trained on at most 2048 tokens, so roughly ~2046 base pairs.
Capabilities
This is only meant to be a prototype as of now, so don't expect it to work flawlessly. The inserted layers are tiny in comparison to even the vision tower they replace.
What it can mostly do as of now is classifying short genes, and continuing a span base by base.
Some things I didn't target for this first version include designing sequences to spec (GC, length and motif control are unreliable) and precise edits. Those are open problems for a future version.
This is a research preview, not a tool for medical or clinical use.
Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained('snowyautumn/Qwen3.5-2B-DNA')
model = AutoModelForCausalLM.from_pretrained(
'snowyautumn/Qwen3.5-2B-DNA', trust_remote_code=True,
dtype='bfloat16', device_map='cuda')
model.eval()
batch, info = model.build_inputs(tok, 'Look at <dna_start>REPLACE WITH SOME FASTA SEQUENCE<dna_end> and state its gene type.')
out = model.generate(**batch, max_new_tokens=256, pad_token_id=tok.eos_token_id)
print(tok.decode(out[0], skip_special_tokens=True)) # The final response from the model.
print(info['domain_pred']) # This comes directly from the prediction head, which is usually more accurate than what the model might report in text.
Configuration
- Architecture
- QwenDnaForCausalLM
- Context length (tokens)
- 262,144
- Layers
- 24
- Hidden size
- 2,048
- Feed-forward size
- 6,144
- Attention heads
- 8
- Key/value heads
- 2
- Head dimension
- 256
- Vocabulary size
- 248,079
- Model type
- qwen_dna
Identity and Version
- Repository
- snowyautumn/Qwen3.5-2B-DNA
- Publisher
- Snowy Autumn
- Task
- Not stated by the source
- Modality
- Other
- Library
- Not stated by the source
- Parameters
- 1.9B parameters
- Languages
- en
- Revision
- 8c9169bf4bc904803e8a6769af412394382da0b3
- First published
- 2026-10-11
- Last updated
- 2026-10-11
Files and Weights
9 files, 3.8 GB in total. The weights are 1 file totalling 3.8 GB in safetensors.
Every file
| File | Type | Size | SHA-256 |
|---|---|---|---|
| model.safetensors | Weights | 3.8 GB | 432ee2ee3fbb |
| config.json | Configuration | 2.4 KB | — |
| generation_config.json | Configuration | 179 B | — |
| modeling_qwen_dna.py | Configuration | 9.2 KB | — |
| README.md | Documentation | 2.5 KB | — |
| chat_template.jinja | Other | 8.0 KB | — |
| .gitattributes | Repository | 1.6 KB | — |
| tokenizer.json | Tokenizer | 20.0 MB | d013c4867cb7 |
| tokenizer_config.json | Tokenizer | 1.3 KB | — |
License and Download
- License
- apache-2.0
- Access
- Open weights, no gate
- Download size
- 3.8 GB
Released by Snowy Autumn through its official repository on Hugging Face. Read the license.
Built From
- Derived from unsloth/Qwen3.5-2B
Memory Requirements
| Precision | Weights in memory |
|---|---|
| As published | 3.8 GB |
| 16-bit | 3.8 GB |
| 8-bit | 1.9 GB |
| 4-bit | 0.9 GB |
Weights only, from the published parameter count; the key-value cache and runtime add to this.
Questions About Qwen3.5-2B-DNA
How much GPU memory does Qwen3.5-2B-DNA need?
About 4.5 GB at 16-bit and 1.1 GB at 4-bit: the weights (1.9B parameters) plus a working margin. A long context needs more.
What is the cheapest GPU to run Qwen3.5-2B-DNA on?
At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.
Can I use Qwen3.5-2B-DNA commercially?
Yes. Qwen3.5-2B-DNA is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.
What is Qwen3.5-2B-DNA's context length?
262,144 tokens, from the maximum position embeddings in its published configuration.