许可协议:cc-by-nc-sa-4.0
微件示例:
- 文本:ACCTGATTCTGAGTC
数据集:
- InstaDeepAI/plant-genomic-benchmark
标签:
- 生物学
- 基因组学
- 语言模型
- 植物
模型概述
AgroNT是一个主要基于可食用植物基因组训练的DNA语言模型。具体而言,AgroNT采用具有自注意力机制的Transformer架构,通过掩码语言建模目标,利用来自48种不同植物物种的高可用性基因型数据,学习核苷酸序列的通用表示。AgroNT包含10亿参数,上下文窗口为1024个标记。该模型使用非重叠6-mer标记器将基因组核苷酸序列转换为标记,因此1024个标记对应约6144个碱基对。
使用方法
from transformers import AutoModelForMaskedLM, AutoTokenizer
import torch
model_name = 'agro-nucleotide-transformer-1b'
agro_nt_model = AutoModelForMaskedLM.from_pretrained(f'InstaDeepAI/{model_name}')
agro_nt_tokenizer = AutoTokenizer.from_pretrained(f'InstaDeepAI/{model_name}')
print(f"已加载{model_name}模型,参数数量:{agro_nt_model.num_parameters()},及对应标记器。")
sequences = ['ATATACGGCCGNC','GGGTATCGCTTCCGAC']
batch_tokens = agro_nt_tokenizer(sequences,padding="longest")['input_ids']
print(f"标记化序列:{agro_nt_tokenizer.batch_decode(batch_tokens)}")
torch_batch_tokens = torch.tensor(batch_tokens)
attention_mask = torch_batch_tokens != agro_nt_tokenizer.pad_token_id
outs = agro_nt_model(
torch_batch_tokens,
attention_mask=attention_mask,
encoder_attention_mask=attention_mask,
output_hidden_states=True
)
embeddings = outs['hidden_states'][-1].detach().numpy()
logits = outs['logits'].detach().numpy()
预训练
数据
预训练数据集构建自Ensembl Plants数据库中(主要)可食用植物的参考基因组,包含约1050万条基因组序列,覆盖48个不同物种。
处理
每个物种的所有参考基因组被组装成单个fasta文件,其中非A/T/C/G的核苷酸均替换为N。标记器将字母字符串转换为标记序列,其字母表包含46=4096种可能的6-mer组合(由A/T/C/G构成),以及代表独立A/T/C/G/N的5个额外标记,外加3个特殊标记(填充[PAD]、掩码[MASK]和类别[CLS]),最终词汇表含4104个标记。标记化时,标记器以类别标记开头,然后从左到右转换序列——尽可能匹配6-mer标记,必要时使用独立标记(如存在字母N或序列长度非6的倍数时)。
标记化示例
核苷酸序列:ATCCCGGNNTCGACACN
标记序列:<CLS> <ATCCCG> <G> <N> <N> <TCGACA> <C> <N>
训练
采用MLM目标以自监督方式预训练AgroNT。在自监督学习设置中,无需序列标注(监督),通过掩蔽部分序列并利用未掩蔽部分的信息预测被掩蔽位置,从而利用大量未标记的基因组测序数据。具体而言,输入序列中15%的标记被选中进行增强——其中80%替换为掩码标记,10%随机替换为词汇表中其他标记,剩余10%保持原标记。标记化序列通过模型后,计算被掩蔽标记的交叉熵损失。预训练使用1024标记的序列长度和150万标记的有效批大小,共进行31.5万次更新步骤,总计训练4725亿标记。
硬件
预训练使用Google TPU-V4加速器(具体为含512个设备的TPU v4-1024集群),总耗时约四天。
BibTeX引用信息
@article{mendoza2023foundational,
title={A Foundational Large Language Model for Edible Plant Genomes},
author={Mendoza-Revilla, Javier and Trop, Evan and Gonzalez, Liam and Roller, Masa and Dalla-Torre, Hugo and de Almeida, Bernardo P and Richard, Guillaume and Caton, Jonathan and Lopez Carranza, Nicolas and Skwark, Marcin and others},
journal={bioRxiv},
pages={2023--10},
year={2023},
publisher={Cold Spring Harbor Laboratory}
}