/ Модель

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

Контекст
512 токенов
Параметры
113 млн
Лицензия
CC BY 4.0
Архитектура
bert_updated · dense
Библиотека
transformers
Опубликована
28 мая 2026

UTRBERT-4mer

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

BERT-модель, обученная на человеческих 3′-UTR-последовательностях, предсказывает замаскированные 4-меры РНК и формирует представления последовательностей.

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

Бенчмарки

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

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

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

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

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

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

UTRBERT-4mer — порт модели 4-mer варианта 3UTRBERT, разработанной Yang et al. и опубликованной на Hugging Face Taykhoom Dalal. Это модель BERT-base для биологических последовательностей, предварительно обученная методом masked language modeling на агрегированных последовательностях человеческих 3′-нетранслируемых областей мРНК. Она предсказывает замаскированные 4-меры и может использоваться для получения представлений РНК-последовательностей, в том числе как основы для дообучения на задачах классификации последовательностей.

Модель содержит 12 слоёв, 12 голов внимания и размерность эмбеддингов 768; число параметров — 113,4 млн, контекст — до 512 токенов. Токенизатор преобразует T в U и разбивает последовательности на перекрывающиеся 4-меры; исходные последовательности при предобработке ограничивались 510 нуклеотидами. Порт использует библиотеку Transformers, веса в формате safetensors, а для загрузки требуется разрешить удалённый код. Лицензия — CC BY 4.0.

Модель предназначена прежде всего для работы с последовательностями человеческих 3′-UTR; README сообщает о проверке совпадения представлений и логитов порта с исходными весами. Она обучена на данных одного биологического типа и не является готовой моделью для произвольных задач классификации: для задач уровня последовательности потребуется prediction head и дообучение.

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

  • Заполнение замаскированных 4-меров в последовательностях РНК
  • Получение эмбеддингов человеческих 3′-UTR-последовательностей
  • Подготовка представлений РНК для дообучения классификатора последовательностей

Ограничения

Предобучение выполнено на человеческих 3′-UTR-последовательностях, поэтому перенос на другие биологические последовательности не гарантирован. Для задач классификации последовательностей требуется отдельная prediction head и дообучение; при загрузке нужно разрешить удалённый код.

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

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

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

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

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

Открыть на Hugging Face

UTRBERT-4mer

Minimal HuggingFace port of the 4-mer variant of 3UTRBERT -- a BERT-base language model pre-trained on aggregated human mRNA 3' UTR sequences.

Architecture

ParameterValue
Layers12
Attention heads12
Embedding dimension768
FFN hidden dimension3072 (GELU)
Vocabulary size261 (5 special tokens + RNA 4-mers)
Positional encodingLearned absolute (BERT-style)
NormalizationLayerNorm (post-LN, eps=1e-12)
ArchitecturePost-LN BERT-base encoder
Max sequence length512 tokens (up to 513 raw nucleotides)

Tokenization: raw RNA (or DNA) sequences are converted T->U, then split into overlapping 4-mers (stride 1). A sequence of length L produces L-3 tokens. A [CLS] and [SEP] token are prepended and appended by the tokenizer. The official preprocessing script capped raw sequences at 510 nucleotides.

Pretraining

Checkpoint selection

The only publicly released pre-trained checkpoint for the 4-mer variant is 4-new-12w-0.

Parity Verification

All 13 representation levels (embedding + 12 transformer layers) and MLM logits were verified against the original 4-new-12w-0 weights. Maximum float32 absolute differences were 3.15e-5 / 4.72e-5 for eager hidden states / logits and 1.85e-5 / 3.65e-5 for SDPA. Verified on GPU with PyTorch 2.7.1 / CUDA 12.9 and transformers 4.57.6.

Related Models

See the full UTRBERT collection.

Modelk-merVocab sizeNotes
UTRBERT-3mer369
UTRBERT-4mer4261
UTRBERT-5mer51029
UTRBERT-6mer64101

Usage

Embedding generation

import torch
from transformers import AutoTokenizer, AutoModel

tokenizer = AutoTokenizer.from_pretrained("Taykhoom/UTRBERT-4mer", trust_remote_code=True)
model = AutoModel.from_pretrained("Taykhoom/UTRBERT-4mer", trust_remote_code=True)
model.eval()

sequences = ["AUGCAUGCAUGCAUGCAUGC", "GCGCGCGCGCGCGCGCGCGC"]
enc = tokenizer(
    sequences,
    return_tensors="pt",
    padding=True,
    truncation=True,
    max_length=512,
    return_special_tokens_mask=True,
)
model_inputs = {k: v for k, v in enc.items() if k != "special_tokens_mask"}

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

cls_emb   = out.last_hidden_state[:, 0, :]   # (batch, 768) -- CLS token
token_emb = out.last_hidden_state             # (batch, seq_len, 768)

# Mean-pool only biological k-mer tokens (exclude padding, CLS, and SEP).
pool_mask = enc["attention_mask"].bool() & ~enc["special_tokens_mask"].bool()
mean_emb = (
    (token_emb * pool_mask.unsqueeze(-1)).sum(dim=1)
    / pool_mask.sum(dim=1, keepdim=True)
)

# Intermediate layers
out_all = model(**model_inputs, output_hidden_states=True)
layer6_emb = out_all.hidden_states[6]         # (batch, seq_len, 768)

MLM logits

import torch
from transformers import AutoTokenizer, AutoModelForMaskedLM

tokenizer = AutoTokenizer.from_pretrained("Taykhoom/UTRBERT-4mer", trust_remote_code=True)
model = AutoModelForMaskedLM.from_pretrained("Taykhoom/UTRBERT-4mer", trust_remote_code=True)
model.eval()

# Tokenize first, then replace one overlapping k-mer token with MASK.
enc = tokenizer(["AUGCAUGCAUG"], return_tensors="pt")
mask_position = 3  # position 0 is CLS
enc["input_ids"][0, mask_position] = tokenizer.mask_token_id
with torch.no_grad():
    logits = model(**enc).logits   # (1, seq_len, 261)

Faster attention backends

# SDPA (PyTorch 2.0+)
model = AutoModel.from_pretrained(
    "Taykhoom/UTRBERT-4mer",
    trust_remote_code=True,
    attn_implementation="sdpa",
)

# Flash Attention 2 (requires flash-attn)
model = AutoModel.from_pretrained(
    "Taykhoom/UTRBERT-4mer",
    trust_remote_code=True,
    attn_implementation="flash_attention_2",
    dtype=torch.float16,
)

Fine-tuning

For sequence-level tasks, use the CLS embedding or the masked mean-pooled k-mer embedding above as input to a prediction head.

import torch.nn as nn
from transformers import AutoModel

model = AutoModel.from_pretrained("Taykhoom/UTRBERT-4mer", trust_remote_code=True)

class UTRClassifier(nn.Module):
    def __init__(self, base, num_labels):
        super().__init__()
        self.base = base
        self.head = nn.Linear(768, num_labels)

    def forward(self, input_ids, attention_mask):
        cls = self.base(input_ids, attention_mask=attention_mask).last_hidden_state[:, 0]
        return self.head(cls)

Implementation Notes

This checkpoint uses the shared BERT-updated code backend through its cross-repository auto_map, plus the custom k-mer tokenizer stored in this repository. trust_remote_code=True is required. Loading a local checkpoint directory also requires network access to BERT-updated, unless that code is already cached.

The original implementation uses eager scaled dot-product attention. This port adds selectable sdpa and flash_attention_2 inference backends.

Citation

@article{yang2024_3utrbert,
  title   = {Deciphering 3'{UTR} Mediated Gene Regulation Using Interpretable Deep Representation Learning},
  author  = {Yang, Yuning and Li, Gen and Pang, Kuan and Cao, Wuxinhao and Zhang, Zhaolei and Li, Xiangtao},
  journal = {Advanced Science},
  volume  = {11},
  number  = {39},
  pages   = {e2407013},
  year    = {2024},
  doi     = {10.1002/advs.202407013}
}

Credits

Original model and code by Yang et al. Source: GitHub. Hugging Face port maintained by Taykhoom Dalal.

License

The released checkpoint weights are CC BY 4.0, as specified by the source figshare record. The original repository's code is MIT licensed.

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

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

GPU в ailist

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

Нельзя запустить

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

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

0 моделей