RNABERT
基于非编码RNA(ncRNA)的预训练模型,采用掩码语言建模(MLM)和结构对齐学习(SAL)目标。
免责声明
这是由Manato Akiyama和Yasubumi Sakakibara发表的《用于功能性RNA聚类和结构对齐的信息性RNA碱基嵌入》的非官方实现。
RNABERT的官方代码库位于mana438/RNABERT。
[!警告]
MultiMolecule团队已意识到在复现RNABERT结果时存在的潜在风险。
RNABERT的原始实现不会在输入序列前添加<cls>
标记或在末尾添加<eos>
标记。在大多数情况下这不会影响模型性能,但在某些情况下可能导致意外行为。
如需完全复现原始实现的行为,请显式设置分词器的cls_token=None
和eos_token=None
。
[!提示]
MultiMolecule团队已确认提供的模型和检查点产生的中间表示与原始实现一致。
发布RNABERT的团队未编写此模型卡,本模型卡由MultiMolecule团队撰写。
模型详情
RNABERT是一个bert风格的模型,通过自监督方式在大量非编码RNA序列上进行预训练。这意味着模型仅基于RNA序列的原始核苷酸进行训练,通过自动过程从这些文本生成输入和标签。更多训练过程信息请参阅训练详情部分。
模型规格
层数 |
隐藏层大小 |
注意力头数 |
中间层大小 |
参数量(百万) |
浮点运算(G) |
乘加运算(G) |
最大标记数 |
6 |
120 |
12 |
40 |
0.48 |
0.15 |
0.08 |
440 |
相关链接
使用方式
模型文件依赖于multimolecule
库,可通过pip安装:
pip install multimolecule
直接使用
可通过pipeline直接进行掩码语言建模:
>>> import multimolecule
>>> from transformers import pipeline
>>> unmasker = pipeline("fill-mask", model="multimolecule/rnabert")
>>> unmasker("gguc<mask>cucugguuagaccagaucugagccu")
下游应用
特征提取
在PyTorch中获取序列特征的示例:
from multimolecule import RnaTokenizer, RnaBertModel
tokenizer = RnaTokenizer.from_pretrained("multimolecule/rnabert")
model = RnaBertModel.from_pretrained("multimolecule/rnabert")
text = "UAGCUUAUCAGACUGAUGUUGA"
input = tokenizer(text, return_tensors="pt")
output = model(**input)
序列分类/回归
注意:此模型未针对任何特定任务进行微调。需在下游任务上微调后才能用于序列分类或回归。
标记分类/回归
注意:此模型未针对任何特定任务进行微调。需在下游任务上微调后才能用于核苷酸分类或回归。
接触分类/回归
注意:此模型未针对任何特定任务进行微调。需在下游任务上微调后才能用于接触分类或回归。
训练详情
RNABERT有两个预训练目标:掩码语言建模(MLM)和结构对齐学习(SAL)。
- 掩码语言建模(MLM):模型随机掩码输入中15%的标记,然后预测被掩码的标记。
- 结构对齐学习(SAL):模型学习预测两个RNA序列的结构对齐。
训练数据
RNABERT在RNAcentral上预训练。RNAcentral是一个免费的公共资源,提供来自专家数据库的各种生物体和RNA类型的非编码RNA序列。
RNABERT使用了RNAcentral中76,237条人类ncRNA序列的子集进行预训练,预处理时将"U"替换为"T"。
训练过程
预处理
RNABERT通过应用10种不同的掩码模式处理72,237条人类ncRNA序列,最终数据集包含722,370条序列。掩码过程与BERT类似:
- 15%的标记被掩码
- 80%情况下用
<mask>
替换
- 10%情况下用随机不同标记替换
- 剩余10%保持原样
预训练
模型在1块NVIDIA V100 GPU上训练。
引用
BibTeX:
@article{akiyama2022informative,
author = {Akiyama, Manato and Sakakibara, Yasubumi},
title = "{Informative RNA base embedding for RNA structural alignment and clustering by deep representation learning}",
journal = {NAR Genomics and Bioinformatics},
volume = {4},
number = {1},
pages = {lqac012},
year = {2022},
month = {02},
abstract = "{...}",
issn = {2631-9268},
doi = {10.1093/nargab/lqac012},
url = {https://doi.org/10.1093/nargab/lqac012},
eprint = {https://academic.oup.com/nargab/article-pdf/4/1/lqac012/42577168/lqac012.pdf},
}
联系方式
关于模型卡的问题或意见请通过MultiMolecule的GitHub问题提交。
关于论文/模型的问题请直接联系RNABERT论文作者。
许可
本模型采用AGPL-3.0许可证。
SPDX-License-Identifier: AGPL-3.0-or-later