🚀 GO-Languageモデル
このモデルは、タンパク質の遺伝子オントロジー定義をベクトル表現としてエンコードする方法として構築されました。モデル生物からの遺伝子オントロジー用語のコレクションでトレーニングされ、新規遺伝子の機能予測に役立つ翻訳モデルとして使用されます。
🚀 クイックスタート
このセクションでは、GO-Languageモデルの概要や使用方法、トレーニング手順などの基本的な情報を提供します。
✨ 主な機能
- 遺伝子オントロジー定義をベクトル表現としてエンコードすることができます。
- 遺伝子レベルの類似性の探索や機能用語間の比較が可能です。
- BERTスタイルのマスク言語学習器であり、マスクされた位置の最も可能性の高いトークンを特定できます。
📦 インストール
このモデルはHugging FaceのTransformersライブラリを使用しています。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
from transformers import pipeline
unmasker = pipeline("fill-mask", model="damlab/GO-language")
unmasker("involved_in [MASK] involved_in GO:0007165 located_in GO:0042470 involved_in GO:0070372")
[{'score': 0.1040298342704773,
'token': 103,
'token_str': 'GO:0002250',
'sequence': 'involved_in GO:0002250 involved_in GO:0007165 located_in GO:0042470 involved_in GO:0070372'},
{'score': 0.018045395612716675,
'token': 21,
'token_str': 'GO:0005576',
'sequence': 'involved_in GO:0005576 involved_in GO:0007165 located_in GO:0042470 involved_in GO:0070372'},
{'score': 0.015035462565720081,
'token': 50,
'token_str': 'GO:0000139',
'sequence': 'involved_in GO:0000139 involved_in GO:0007165 located_in GO:0042470 involved_in GO:0070372'},
{'score': 0.01181247178465128,
'token': 37,
'token_str': 'GO:0007165',
'sequence': 'involved_in GO:0007165 involved_in GO:0007165 located_in GO:0042470 involved_in GO:0070372'},
{'score': 0.01000668853521347,
'token': 14,
'token_str': 'GO:0005737',
'sequence': 'involved_in GO:0005737 involved_in GO:0007165 located_in GO:0042470 involved_in GO:0070372'}
]
📚 ドキュメント
モデルの概要
このモデルは、タンパク質の遺伝子オントロジー定義をベクトル表現としてエンコードする方法として構築されました。モデル生物からの遺伝子オントロジー用語のコレクションでトレーニングされ、各機能はID番号でソートされ、注釈説明(is_a
, enables
, located_in
など)と組み合わされました。モデルは、各説明とGO用語が独自のトークンとなるようにトークン化されています。
想定される用途と制限
このモデルは、遺伝子オントロジー機能の有用なカプセル化です。遺伝子レベルの類似性の探索や機能用語間の比較が可能です。
トレーニングデータ
データセットは、damlab/uniprotを使用してランダムな初期モデルからトレーニングされました。遺伝子オントロジー機能は、注釈用語とともに(ID番号で)ソートされました。
トレーニング手順
前処理
すべての文字列が連結され、トレーニング用に256トークンのチャンクに分割されました。ランダムに20%のチャンクが検証用に取り置かれました。
トレーニング
トレーニングは、HuggingFaceのトレーニングモジュールを使用して、15%のマスキング率でMaskedLMデータローダーを使用して行われました。学習率はE-5に設定され、50Kのウォームアップステップとcosine_with_restarts学習率スケジュールが使用され、ホールドアウトデータセットの損失が3連続エポック改善しなくなるまで続けられました。
🔧 技術詳細
- モデルタイプ: BERTスタイルのマスク言語学習器
- トレーニングデータ: damlab/uniprot
- トークンチャンクサイズ: 256トークン
- マスキング率: 15%
- 学習率: E-5
- ウォームアップステップ: 50K
- 学習率スケジュール: cosine_with_restarts
📄 ライセンス
このモデルはMITライセンスの下で提供されています。