/ Модель

Характеристики

Контекст
10 000 токенов
Параметры
116 млн
Лицензия
MIT
Архитектура
bert · dense
Библиотека
transformers
Опубликована
3 июн 2026

DNABERT2

Заполнение пропусковТекст → текст3 профессии

DNABERT-2 — модель семейства BERT для анализа геномных последовательностей, предсказания замаскированных участков ДНК и получения их представлений.

290скачиваний за 30 дней0лайковвеса обновлены26 авг 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Taykhoom поддерживает эту публикацию весов и токенизатора DNABERT-2, модели-основы для анализа геномных последовательностей, разработанной Zhou и соавторами. Репозиторий содержит веса исходной модели из zhihan1996/DNABERT-2-117M и токенизатор; реализация загружается из Taykhoom/MosaicBERT-updated. Модель основана на BERT и содержит 12 слоёв, 12 голов внимания и размерность эмбеддингов 768; общее число параметров — 116,4 млн.

DNABERT-2 обучена на больших массивах геномов разных видов с задачей masked language modeling. Она использует BPE вместо токенизации k-mer, смещения ALiBi и FFN с GLU. Подходит для предсказания замаскированных фрагментов ДНК и получения представлений последовательностей; метаданные также указывают классификацию текста как поддерживаемую задачу. В README описаны варианты ускорения внимания SDPA и Flash Attention 2.

Для загрузки этой публикации требуется доверять удалённому коду Taykhoom/MosaicBERT-updated. Репозиторий распространяется по лицензии MIT.

Сценарии применения

  • предсказание замаскированных нуклеотидов в последовательности ДНК
  • получение эмбеддингов геномных последовательностей
  • классификация геномных последовательностей
  • анализ последовательностей геномов разных видов

Ограничения

Для загрузки требуется выполнить удалённый код из репозитория Taykhoom/MosaicBERT-updated. Модель обучена на геномных последовательностях, поэтому её назначение не охватывает обычный текст.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

DNABERT-2

Weights and tokenizer for DNABERT-2 (Zhou et al., ICLR 2024), loaded with the shared MosaicBERT implementation from Taykhoom/MosaicBERT-updated.

DNABERT-2 is a foundation model trained on large-scale multi-species genome data. It replaces k-mer tokenization with Byte Pair Encoding (BPE), uses ALiBi positional biases instead of learned embeddings, and incorporates a GLU-based FFN for improved efficiency.

This repo contains only weights and tokenizer files. The model code is loaded automatically from Taykhoom/MosaicBERT-updated via trust_remote_code=True.

Architecture

ParameterValue
Layers12
Attention heads12
Embedding dimension768
FFN hidden dimension3,072 (GeGLU; bias-free 6,144-value gate projection)
Vocabulary size4096 (BPE)
Positional encodingALiBi (no hard length limit)
NormalizationLayerNorm (post-LN; eps=1e-12)
ArchitecturePost-LN MosaicBERT encoder with unpadding and GeGLU
Max sequence length~10000 nt (practical; ALiBi resizes dynamically)
Parameters~117M

Tokenization

Uses Byte Pair Encoding (BPE) tokenization via PreTrainedTokenizerFast. No k-mer pre-processing required.

Pretraining

  • Objective: Masked Language Modeling
  • Data: Large-scale multi-species genome (GRCh38 and others)
  • Source checkpoint: pytorch_model.bin from zhihan1996/DNABERT-2-117M

Parity Verification

Hidden-state representations verified identical (max abs diff = 0.00) to the original implementation at all 13 representation levels (embedding + 12 transformer layers). SDPA verified (max abs diff < 1e-4). Verified on GPU with PyTorch 2.7 / CUDA 12.9.

Related Models

See the full DNABERT collection.

ModelArchitectureNotes
DNABERT-3merBERT + k-merk=3
DNABERT-4merBERT + k-merk=4
DNABERT-5merBERT + k-merk=5
DNABERT-6merBERT + k-merk=6
DNABERT-2MosaicBERT + BPE + ALiBiThis model
DNABERT-SMosaicBERT + BPE + ALiBiSpecies-aware contrastive fine-tune

Usage

Embedding generation

import torch
from transformers import AutoTokenizer, AutoModel

tokenizer = AutoTokenizer.from_pretrained("Taykhoom/DNABERT2", trust_remote_code=True)
model = AutoModel.from_pretrained("Taykhoom/DNABERT2", trust_remote_code=True)
model.eval()

sequences = ["ACGTAGCATCGGATCTATCTATCGACACTTGG", "ATCGATCGATCGATCG"]
enc = tokenizer(sequences, return_tensors="pt", padding=True)

with torch.no_grad():
    out = model(**enc)

cls_emb  = out.last_hidden_state[:, 0, :]   # (batch, 768)
mean_emb = out.last_hidden_state.mean(dim=1) # (batch, 768) -- mean pooling

# Intermediate layers
out_all = model(**enc, output_hidden_states=True)
layer6_emb = out_all.hidden_states[6]

MLM logits

import torch
from transformers import AutoTokenizer, AutoModelForMaskedLM

tokenizer = AutoTokenizer.from_pretrained("Taykhoom/DNABERT2", trust_remote_code=True)
model = AutoModelForMaskedLM.from_pretrained("Taykhoom/DNABERT2", trust_remote_code=True)
model.eval()

enc = tokenizer(["ACGTAGCAT[MASK]GGATCTATC"], return_tensors="pt")
with torch.no_grad():
    logits = model(**enc).logits   # (1, seq_len, 4096)

Attention implementation

# SDPA (default on PyTorch >= 2.0)
model = AutoModel.from_pretrained("Taykhoom/DNABERT2", trust_remote_code=True,
                                   attn_implementation="sdpa")

# Flash Attention 2
model = AutoModel.from_pretrained("Taykhoom/DNABERT2", trust_remote_code=True,
                                   attn_implementation="flash_attention_2",
                                   torch_dtype=torch.bfloat16)

Implementation Notes

The original DNABERT-2 codebase uses a Triton-based flash attention implementation (flash_attn_triton.py). This HF port uses Taykhoom/MosaicBERT-updated which replaces it with the standard flash-attn package, and also adds attn_implementation="sdpa" support. These were not part of the original codebase.

Citation

@inproceedings{zhou2024_dnabert2,
  title     = {{DNABERT}-2: Efficient Foundation Model and Benchmark for Multi-Species Genomes},
  author    = {Zhou, Zhihan and Ji, Yanrong and Li, Weijian and Dutta, Pratik and Davuluri, Ramana and Liu, Han},
  booktitle = {International Conference on Learning Representations},
  volume    = {2024},
  pages     = {41642--41665},
  year      = {2024}
}

Credits

Original DNABERT-2 model and code by Zhou et al. Source: GitHub. Hugging Face port maintained by Taykhoom Dalal.

License

MIT, following the original repository.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers · fill-mask

Можно запустить

Подбираем GPU…

Класс архитектуры
BertForMaskedLM
Ревизия весов
966807a

0 моделей