🚀 RNAErnie
RNAErnieは、多段階のマスク言語モデリング(MLM)を目的として、ノンコーディングRNA(ncRNA)上で事前学習されたモデルです。このモデルは、RNA配列の生のヌクレオチドのみを使用して、自動的に入力とラベルを生成するプロセスで訓練されています。
🚀 クイックスタート
このモデルを使用するには、まずmultimolecule
ライブラリをインストールする必要があります。以下のコマンドを使用してインストールできます。
pip install multimolecule
✨ 主な機能
- マスク言語モデリング(MLM)を使用した事前学習
- 多段階のマスキング戦略を用いた訓練
- 様々な下流タスクでの利用可能
📦 インストール
このモデルを使用するには、multimolecule
ライブラリをインストールする必要があります。以下のコマンドを使用してインストールできます。
pip install multimolecule
💻 使用例
基本的な使用法
マスク言語モデリングのパイプラインを使用して、このモデルを直接使用できます。
>>> import multimolecule
>>> from transformers import pipeline
>>> unmasker = pipeline("fill-mask", model="multimolecule/rnaernie")
>>> unmasker("gguc<mask>cucugguuagaccagaucugagccu")
[{'score': 0.09252794831991196,
'token': 8,
'token_str': 'G',
'sequence': 'G G U C G C U C U G G U U A G A C C A G A U C U G A G C C U'},
{'score': 0.09062391519546509,
'token': 11,
'token_str': 'R',
'sequence': 'G G U C R C U C U G G U U A G A C C A G A U C U G A G C C U'},
{'score': 0.08875908702611923,
'token': 6,
'token_str': 'A',
'sequence': 'G G U C A C U C U G G U U A G A C C A G A U C U G A G C C U'},
{'score': 0.07809742540121078,
'token': 20,
'token_str': 'V',
'sequence': 'G G U C V C U C U G G U U A G A C C A G A U C U G A G C C U'},
{'score': 0.07325706630945206,
'token': 13,
'token_str': 'S',
'sequence': 'G G U C S C U C U G G U U A G A C C A G A U C U G A G C C U'}]
高度な使用法
特徴抽出
与えられた配列の特徴を取得するには、以下のようにします。
from multimolecule import RnaTokenizer, RnaErnieModel
tokenizer = RnaTokenizer.from_pretrained("multimolecule/rnaernie")
model = RnaErnieModel.from_pretrained("multimolecule/rnaernie")
text = "UAGCUUAUCAGACUGAUGUUG"
input = tokenizer(text, return_tensors="pt")
output = model(**input)
シーケンス分類/回帰
このモデルは特定のタスクに対してファインチューニングされていません。シーケンス分類または回帰に使用するには、下流タスクでモデルをファインチューニングする必要があります。
import torch
from multimolecule import RnaTokenizer, RnaErnieForSequencePrediction
tokenizer = RnaTokenizer.from_pretrained("multimolecule/rnaernie")
model = RnaErnieForSequencePrediction.from_pretrained("multimolecule/rnaernie")
text = "UAGCUUAUCAGACUGAUGUUG"
input = tokenizer(text, return_tensors="pt")
label = torch.tensor([1])
output = model(**input, labels=label)
トークン分類/回帰
このモデルは特定のタスクに対してファインチューニングされていません。トークン分類または回帰に使用するには、下流タスクでモデルをファインチューニングする必要があります。
import torch
from multimolecule import RnaTokenizer, RnaErnieForTokenPrediction
tokenizer = RnaTokenizer.from_pretrained("multimolecule/rnaernie")
model = RnaErnieForTokenPrediction.from_pretrained("multimolecule/rnaernie")
text = "UAGCUUAUCAGACUGAUGUUG"
input = tokenizer(text, return_tensors="pt")
label = torch.randint(2, (len(text), ))
output = model(**input, labels=label)
接触分類/回帰
このモデルは特定のタスクに対してファインチューニングされていません。接触分類または回帰に使用するには、下流タスクでモデルをファインチューニングする必要があります。
import torch
from multimolecule import RnaTokenizer, RnaErnieForContactPrediction
tokenizer = RnaTokenizer.from_pretrained("multimolecule/rnaernie")
model = RnaErnieForContactPrediction.from_pretrained("multimolecule/rnaernie")
text = "UAGCUUAUCAGACUGAUGUUG"
input = tokenizer(text, return_tensors="pt")
label = torch.randint(2, (len(text), len(text)))
output = model(**input, labels=label)
📚 ドキュメント
モデル詳細
RNAErnieは、bertスタイルのモデルで、自己教師付き学習により、大量のノンコーディングRNA配列のコーパス上で事前学習されています。変換プロセス中に、[IND]
やncRNAクラスシンボルなどの追加トークンは削除されます。
モデル仕様
属性 |
详情 |
層の数 |
12 |
隠れ層のサイズ |
768 |
ヘッドの数 |
12 |
中間層のサイズ |
3072 |
パラメータ数 (M) |
86.06 |
FLOPs (G) |
22.37 |
MACs (G) |
11.17 |
最大トークン数 |
512 |
リンク
訓練詳細
RNAErnieは、マスク言語モデリング(MLM)を事前学習の目的として使用しています。
訓練データ
RNAErnieモデルは、RNAcentral上で事前学習されています。RNAErnieは、RNAcentralのサブセットを事前学習に使用しており、このサブセットには2300万の配列が含まれています。
訓練手順
前処理
RNAErnieは、マスク言語モデリング(MLM)を事前学習の目的として使用しています。マスキング手順は、BERTで使用されているものと類似しています。
- 15%のトークンがマスクされます。
- 80%のケースで、マスクされたトークンは
<mask>
に置き換えられます。
- 10%のケースで、マスクされたトークンはランダムなトークンに置き換えられます。
- 残りの10%のケースでは、マスクされたトークンはそのまま残されます。
事前学習
RNAErnieは、特別な3段階の訓練パイプラインを使用してモデルを事前学習しています。
- ベースレベルのマスキング: 配列内の各ヌクレオチドにマスキングが適用されます。
- サブシーケンスレベルのマスキング: 配列内の4 - 8bpのサブシーケンスにマスキングが適用されます。
- モチーフレベルのマスキング: モチーフデータセット上でモデルが訓練されます。
モデルは、32GiBメモリの4つのNVIDIA V100 GPU上で訓練されました。
- バッチサイズ: 50
- ステップ数: 2,580,000
- オプティマイザ: AdamW
- 学習率: 1e-4
- 学習率ウォームアップ: 129,000ステップ
- 学習率クールダウン: 129,000ステップ
- 最小学習率: 5e-5
- 重み減衰: 0.01
🔧 技術詳細
RNAErnieは、多段階のマスク言語モデリング(MLM)を目的として、ノンコーディングRNA(ncRNA)上で事前学習されたモデルです。このモデルは、RNA配列の生のヌクレオチドのみを使用して、自動的に入力とラベルを生成するプロセスで訓練されています。
📄 ライセンス
このモデルは、AGPL-3.0 Licenseの下でライセンスされています。
SPDX-License-Identifier: AGPL-3.0-or-later
⚠️ 重要提示
このモデルは、閉鎖アクセス/著者料金制のジャーナルに掲載された論文に基づいています。MultiMoleculeチームは、提供されたモデルとチェックポイントが元の実装と同じ中間表現を生成していることを確認することはできません。
💡 使用建议
このモデルは特定のタスクに対してファインチューニングされていません。シーケンス分類、トークン分類、接触分類などの下流タスクに使用するには、モデルをファインチューニングする必要があります。