🚀 變換器(transformers)
變換器庫提供了一系列預訓練模型,可用於自然語言處理等任務。這裡主要介紹如何使用 Caduceus 模型進行掩碼語言建模,以及該模型的詳細信息。
🚀 快速開始
直接使用預訓練模型
要使用預訓練的掩碼語言模型,可使用以下代碼片段:
from transformers import AutoModelForMaskedLM, AutoTokenizer
model_name = "kuleshov-group/caduceus-ps_seqlen-131k_d_model-256_n_layer-16"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForMaskedLM.from_pretrained(model_name)
從頭實例化模型進行訓練
你也可以從頭實例化一個模型,以便在自己的數據上進行訓練,如下所示:
from transformers import AutoConfig, AutoModelForMaskedLM
config_overrides = {}
config = AutoConfig.from_pretrained(
"kuleshov-group/caduceus-ps_seqlen-131k_d_model-256_n_layer-16",
**config_overrides,
)
model = AutoModelForMaskedLM.from_config(config)
📚 詳細文檔
模型詳情
這是 Caduceus - PS 模型,其隱藏維度為 256,包含 16 個 MambaDNA 層。該模型具有反向互補(RC)等變性,因此在預訓練或下游微調期間訓練此模型時,無需進行 RC 數據增強。請注意,該模型的隱藏狀態將是非 RC 等變對應模型的 兩倍。
對於下游任務的訓練和推理,為了確保下游輸出具有 RC 不變性,可以在隱藏狀態及其 RC 上運行下游模型,或者在將隱藏狀態及其 RC 傳遞給下游模型之前對它們進行平均。要對隱藏狀態進行 RC 操作,可以使用:hidden_states.flip(dim=(-2, -1))
,這將沿著序列長度和通道維度進行翻轉。
該模型在人類參考基因組上進行了預訓練,序列長度為 131,072,共訓練了 50k 步(每步包含約 100 萬個鹼基對 / 標記)。
更多詳細信息,請參閱我們的論文:Caduceus: Bi - Directional Equivariant Long - Range DNA Sequence Modeling。
引用信息
請使用以下 BibTeX 引用我們的工作:
@article{schiff2024caduceus,
title={Caduceus: Bi-Directional Equivariant Long-Range DNA Sequence Modeling},
author={Schiff, Yair and Kao, Chia-Hsiang and Gokaslan, Aaron and Dao, Tri and Gu, Albert and Kuleshov, Volodymyr},
journal={arXiv preprint arXiv:2403.03234},
year={2024}
}
模型卡片聯繫人
Yair Schiff (yzs2@cornell.edu)
📄 許可證
本項目採用 Apache - 2.0 許可證。