/ Модель

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

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

RiNALMo-micro

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

Компактная языковая модель РНК для восстановления маскированных нуклеотидов и получения представлений последовательностей.

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

Бенчмарки

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

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

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

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

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

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

RiNALMo-micro — компактная версия языковой модели для РНК, разработанной Penić и коллегами и перенесённой в формат Hugging Face Taykhoom Dalal. Модель содержит 33,5 млн параметров, 12 слоёв и 20 голов внимания; она предобучена на 36 млн последовательностей некодирующих РНК с помощью masked language modeling. Это плотная модель класса RiNALMoForMaskedLM для заполнения маскированных нуклеотидов и получения контекстных представлений последовательностей.

Модель предназначена для анализа последовательностей РНК и может служить основой для извлечения эмбеддингов и дообучения на задачах классификации или других задачах уровня последовательности. Токенизатор преобразует U в T; словарь включает нуклеотидные и неоднозначные символы. Порт поддерживает eager, SDPA и Flash Attention 2. Лицензия — CC BY 4.0.

Вариант micro выбран как самый компактный и быстрый в семействе RiNALMo; README рекомендует более крупные варианты для сложных задач, требующих более сильных представлений. Для задач уровня последовательности потребуется pooling или предиктивная голова, обученная отдельно.

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

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

Ограничения

Вариант micro меньше моделей RiNALMo-mega и RiNALMo-giga и может давать более слабые представления на сложных задачах. Для задач уровня последовательности требуется отдельное pooling или предиктивная голова.

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

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

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

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

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

Открыть на Hugging Face

RiNALMo-micro

Minimal HuggingFace port of the micro (33.5M-parameter) variant of RiNALMo -- a general-purpose RNA language model pre-trained on 36 million non-coding RNA sequences.

Architecture

ParameterValue
Layers12
Attention heads20
Embedding dimension480
FFN hidden dimension1280 (SwiGLU, 2/3 x 4 x embed)
Parameters33,491,074
Vocabulary size22
Positional encodingRoPE (base=10000, non-interleaved)
NormalizationLayerNorm (eps=1e-5)
ArchitecturePre-LN Transformer with SwiGLU FFN
Max sequence length~8192 (practical; RoPE has no hard limit)

Vocabulary (index order): <cls> (0), <pad> (1), <eos> (2), <unk> (3), <mask> (4), A (5), C (6), G (7), T (8), I (9), R (10), Y (11), K (12), M (13), S (14), W (15), B (16), D (17), H (18), V (19), N (20), - (21).

Note: the tokenizer converts U -> T before encoding (the model was trained on T).

Pretraining

  • Objective: Masked language modeling (BERT-style, 15% mask rate)
  • Data: 36 million non-coding RNA sequences from multiple databases
  • Source checkpoint: rinalmo_micro_pretrained.pt from Zenodo 15043668

Checkpoint selection

The micro variant is the smallest (33.5M params) and fastest to use. Choose mega or giga for stronger representations on challenging tasks.

Parity Verification

All 13 representation levels (embedding + 12 transformer layers) verified to be bit-exact (max abs diff = 0.00) against a pure-PyTorch reference that loads the original weights. Weight mapping verified for all 156 per-block tensors. Eager and SDPA implementations agree within 4e-6 on padded batches.

Related Models

See the full RiNALMo collection.

ModelParametersNotes
RiNALMo-micro33.5MThis model
RiNALMo-mega148.1MMedium variant
RiNALMo-giga650.9MFull model

Usage

Embedding generation

import torch
from transformers import AutoTokenizer, AutoModel

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

sequences = ["ACUUUGGCCA", "CCCGGU"]
enc = tokenizer(sequences, return_tensors="pt", padding=True)

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

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

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

MLM logits

from transformers import AutoTokenizer, AutoModelForMaskedLM

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

enc = tokenizer(["ACU<mask>UGGCCA"], return_tensors="pt")
with torch.no_grad():
    logits = model(**enc).logits   # (1, seq_len, 22)

Faster attention backends

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

# Flash Attention 2 (requires flash-attn package)
model = AutoModel.from_pretrained("Taykhoom/RiNALMo-micro", trust_remote_code=True,
                                   attn_implementation="flash_attention_2",
                                   dtype=torch.bfloat16)

Fine-tuning

Standard HF conventions. For sequence-level tasks, pool over non-padding positions or use the CLS token embedding as input to a prediction head.

Implementation Notes

The original RiNALMo uses Flash Attention 2.3.2 during training. This HF port exposes eager (standard PyTorch), SDPA, and Flash Attention 2 through HuggingFace's attn_implementation dispatch. SDPA and the dispatch interface are additions; the Flash backend preserves the original non-causal Flash Attention design.

The model uses a non-standard Pre-LN residual: the attention residual connection is taken from the normalized input (i.e., x = attn_ln(x); x = x + attn(x)) rather than the original. The FFN uses standard Pre-LN.

TokenDropout rescales embeddings by (1 - mask_ratio_train) / (1 - mask_ratio_observed) even at inference, consistent with the original training code.

Citation

@article{penic2025_rinalmo,
  title   = {RiNALMo: general-purpose {RNA} language models can generalize well on structure prediction tasks},
  author  = {Penić, Rafael Josip and Vlašić, Tin and Huber, Roland G. and Wan, Yue and Šikić, Mile},
  journal = {Nature Communications},
  volume  = {16},
  number  = {1},
  pages   = {5671},
  year    = {2025},
  doi     = {10.1038/s41467-025-60872-5}
}

Credits

Original model and code by Penić et al. Source: GitHub lbcb-sci/RiNALMo. Hugging Face port maintained by Taykhoom Dalal.

License

Apache 2.0 (code) / CC BY 4.0 (model weights), following the original repository.

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

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

GPU в ailist

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

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

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

Класс архитектуры
RiNALMoForMaskedLM
Ревизия весов
32e5b44

0 моделей