🚀 抗体生成器(ProGen2ベース)のモデルカード
抗体生成器は、治療用抗体を生成するために開発された特殊なタンパク質生成モデルです。Salesforceによって開発された高度な言語モデルであるProGen2をベースにしています。このモデルは、免疫学、ワクチン開発、医療治療などの分野での応用が期待されています。
🚀 クイックスタート
モデルの使用方法やサンプルコード、APIドキュメントについては、コードリポジトリを参照してください。
✨ 主な機能
- 治療用抗体配列の生成を行い、免疫学、ワクチン開発、医療治療などの分野での応用が可能です。
- ProGen2モデルをベースにしており、2億8000万以上のタンパク質配列の大規模データセットで事前学習されています。
- 最大64億のパラメータを持ち、新しい有効なタンパク質配列の生成やタンパク質の適応度予測において最先端の性能を発揮します。
📦 インストール
インストールに関する詳細な手順は、コードリポジトリを参照してください。
💻 使用例
基本的な使用法
from models.progen.modeling_progen import ProGenForCausalLM
import torch
from tokenizers import Tokenizer
import json
model_path = 'AntibodyGeneration/fine-tuned-progen2-small'
model = ProGenForCausalLM.from_pretrained(model_path)
tokenizer = Tokenizer.from_file('tokenizer.json')
target_sequence = 'MQIPQAPWPVVWAVLQLGWRPGWFLDSPDRPWNPPTFSPALLVVTEGDNATFTCSFSNTSESFVLNWYRMSPSNQTDKLAAFPEDRSQPGQDCRFRVTQLPNGRDFHMSVVRARRNDSGTYLCGAISLAPKAQIKESLRAELRVTERRAEVPTAHPSPSPRPAGQFQTLVVGVVGGLLGSLVLLVWVLAVICSRAARGTIGARRTGQPLKEDPSAVPVFSVDYGELDFQWREKTPEPPVPCVPEQTEYATIVFPSGMGTSSPARRGSADGPRSAQPLRPEDGHCSWPL'
number_of_sequences = 2
tokenized_sequence = tokenizer(target_sequence, return_tensors="pt")
device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
model = model.to(device)
tokenized_sequence = tokenized_sequence.to(device)
with torch.no_grad():
output = model.generate(**tokenized_sequence, max_length=1024, pad_token_id=tokenizer.pad_token_id, do_sample=True, top_p=0.9, temperature=0.8, num_return_sequences=number_of_sequences)
generated_sequences = [tokenizer.decode(output_seq, skip_special_tokens=True) for output_seq in output]
📚 ドキュメント
モデルの詳細
モデルの概要
抗体生成器は、治療用抗体を生成するために開発された特殊なタンパク質生成モデルです。Salesforceによって開発された高度な言語モデルであるProGen2をベースにしています。ProGen2は、2020年に発表された元のProGenモデルの改良版で、2億8000万以上のタンパク質配列の大規模データセットで事前学習されています。最大64億のパラメータを持ち、新しい有効なタンパク質配列の生成やタンパク質の適応度予測において最先端の性能を発揮します。
想定使用法
- 主な使用例: 免疫学、ワクチン開発、医療治療における治療用抗体配列の生成。
- 対象ユーザー: バイオインフォマティクス、分子生物学、関連分野の研究者および実践者。
学習データ
- ベースラインモデルデータ: ProGen2は、ゲノム、メタゲノム、免疫レパートリーデータベースからの大量のタンパク質配列で学習され、合計2億8000万以上のサンプルが含まれています。
- ファインチューニングデータ: ファインチューニングには、構造抗体データベースが使用され、約5000の実験的に解明された抗体とその抗原の結晶構造が含まれています。
モデルのバリエーション
モデルは progen2_<サイズ><ファインチューニングタイプ><プロンプトタイプ> という形式でラベル付けされています。
- サイズ: 使用されたprogen2ベースモデルのサイズを指します。4種類のバリエーションがあります。
- 小: 1億5100万パラメータ
- 中: 7億6400万パラメータ
- 大: 27億パラメータ
- x大: 64億パラメータ
- ファインチューニングタイプ: ベースモデルのファインチューニング方法を指します。2種類がサポートされています。
- ファインチューニングなし
- シンプルなファインチューニング: ベースモデルは、以下のハイパーパラメータを使用して、約5000の実験的に解明された抗体とその抗原の結晶構造でファインチューニングされます。
- 凍結層ファインチューニング: ベースモデルは、以下のハイパーパラメータを使用して、約5000の実験的に解明された抗体とその抗原の結晶構造でファインチューニングされます。さらに、過学習を避けるために最後の3層以外のすべての層が凍結されます。
- プロンプトタイプ: 推論時にモデルにプロンプトが提供されたかどうかを指します。
- プロンプト付き: 治療用抗体配列の生成にプロンプトエンジニアリングを使用します。
- ゼロショット: プロンプトは提供されません。
モデルのハイパーパラメータ
- バッチサイズ: 40
- エポック数: 10
- 学習率: 0.00001
評価と性能
評価ツール:
- ANARCI: モデルは、抗体番号付けと受容体分類のツールであるANARCIを使用して評価されます。ANARCIは、生成された抗体配列が既知の抗体配列パターンと構造に適合するかどうかを分析するために使用されます。この評価は、生成された配列が新しいだけでなく、生物学的に関連しており、潜在的に機能することを保証するために重要です。ANARCI
- 多様性スコア: 多様性: 各モデルの出力の多様性を、出力からのすべての可能なペアリングの候補間の配列類似性を計算することで測定できます。この分布の平均は、モデルの出力がどれだけ広く変化するかを示し、生成された候補の下流評価に役立ちます。全体の可変配列とHCDR3領域の両方について平均配列類似性を計算します。
性能と分析:


倫理的な考慮事項
- 使用例の制限: 生成された抗体は、臨床または研究用途に使用する前に実験的に検証する必要があります。
- 誤用の可能性: ユーザーは、生成された配列が有害な用途で誤用される可能性に注意する必要があります。
リンク
追加リソースとリンク
制限事項と将来の展望
- 予測は、実際の使用には実験的な検証が必要です。
- 将来の改善は、多様な学習データの組み込みと生成された抗体の有効性の予測精度の向上に焦点を当てます。
連絡先情報
このモデルに関する質問やフィードバックがある場合は、[XYZ]に連絡してください。