このリポジトリには、Renqian Luo、Liai Sun、Yingce Xia、Tao Qin、Sheng Zhang、Hoifung Poon、Tie-Yan LiuによるBioGPT:生物医学テキストの生成とマイニングのための生成事前トレーニングトランスフォーマーの実装が含まれています。
git clone https://github.com/pytorch/fairseq
cd fairseq
git checkout v0.12.0
pip install .
python setup.py build_ext --inplace
cd ..
git clone https://github.com/moses-smt/mosesdecoder.git
export MOSES=${PWD}/mosesdecoder
git clone https://github.com/glample/fastBPE.git
export FASTBPE=${PWD}/fastBPE
cd fastBPE
g++ -std=c++11 -pthread -O3 fastBPE/main.cc -IfastBPE -o fast
pip install sacremoses
pip install scikit-learn
環境変数を設定し、後で必要になるため、モーゼとfastBPEのパスに繰り返し設定することを忘れないでください。
MOSES
FASTBPE
事前トレーニング済みのBioGPTモデルチェックポイントと、ダウンストリームタスク用の微調整されたチェックポイントを提供します
モデル | 形容 | リンク |
---|---|---|
バイオGPT | 事前トレーニング済みの BioGPT モデルのチェックポイント | リンク |
バイオGPT-ラージ | 事前トレーニング済みの BioGPT - 大規模モデル チェックポイント | リンク |
BioGPT-QA-PubMedQA-BioGPT | PubMedQAでの質問応答タスクのための微調整されたBioGPT | リンク |
BioGPT-QA-PubMEDQA-BioGPT-Large | PubMedQAでの質問応答タスクのための微調整されたBioGPT-Large。 | リンク |
バイオGPT-RE-BC5CDR | BC5CDRにおける関係抽出タスクのための微調整されたBioGPT | リンク |
BioGPT-RE-DDI | DDIにおける関係抽出タスクのための微調整されたBioGPT | リンク |
BioGPT-RE-DTI | KD-DTIにおける関係抽出タスクのための微調整されたBioGPT | リンク |
バイオGPT-DC-HoC | HoCでの文書分類タスクのための微調整されたBioGPT | リンク |
それらをダウンロードして、このプロジェクトのフォルダに解凍します。
checkpoints
例えば:
mkdir checkpoints
cd checkpoints
wget https://msramllasc.blob.core.windows.net/modelrelease/BioGPT/checkpoints/Pre-trained-BioGPT.tgz
tar -zxvf Pre-trained-BioGPT.tgz
コードで事前トレーニング済みの BioGPT モデルを使用します。
import torch
from fairseq.models.transformer_lm import TransformerLanguageModel
m = TransformerLanguageModel.from_pretrained(
"checkpoints/Pre-trained-BioGPT",
"checkpoint.pt",
"data",
tokenizer='moses',
bpe='fastbpe',
bpe_codes="data/bpecodes",
min_len=100,
max_len_b=1024)
m.cuda()
src_tokens = m.encode("COVID-19 is")
generate = m.generate([src_tokens], beam=5)[0]
output = m.decode(generate[0]["tokens"])
print(output)
コード内の薬物標的相互作用のために、KD-DTIで微調整されたBioGPTモデルを使用します。
import torch
from src.transformer_lm_prompt import TransformerLanguageModelPrompt
m = TransformerLanguageModelPrompt.from_pretrained(
"checkpoints/RE-DTI-BioGPT",
"checkpoint_avg.pt",
"data/KD-DTI/relis-bin",
tokenizer='moses',
bpe='fastbpe',
bpe_codes="data/bpecodes",
max_len_b=1024,
beam=1)
m.cuda()
src_text="" # input text, e.g., a PubMed abstract
src_tokens = m.encode(src_text)
generate = m.generate([src_tokens], beam=args.beam)[0]
output = m.decode(generate[0]["tokens"])
print(output)
より下流のタスクについては、以下を参照してください。
例の対応するフォルダを参照してください。
BioGPTはMITライセンスを取得しています。 ライセンスは、事前トレーニング済みモデルにも適用されます。
このプロジェクトは、貢献と提案を歓迎します。ほとんどの投稿では、 コントリビューターライセンス契約(CLA)は、あなたが私たちに付与する権利があり、実際に付与することを宣言しています あなたの投稿を使用する権利。詳しくは、https://cla.opensource.microsoft.com をご覧ください。
プルリクエストを送信すると、CLAボットは、提供する必要があるかどうかを自動的に判断します CLAであり、PRを適切に装飾します(ステータスチェック、コメントなど)。指示に従ってください ボットによって提供されます。これは、CLAを使用してすべてのリポジトリで一度だけ行う必要があります。
このプロジェクトでは、マイクロソフト オープンソース行動規範を採用しています。 詳細については、行動規範に関するFAQまたは 追加の質問やコメントがある場合は opencode@microsoft.com に連絡してください。
このプロジェクトには、プロジェクト、製品、またはサービスの商標またはロゴが含まれている場合があります。マイクロソフトの許可された使用 商標またはロゴは、Microsoft の商標およびブランド ガイドラインの対象であり、それに従う必要があります。 このプロジェクトの修正バージョンでのマイクロソフトの商標またはロゴの使用は、混乱を引き起こしたり、マイクロソフトのスポンサーシップを暗示したりしてはなりません。 第三者の商標またはロゴの使用は、それらの第三者のポリシーの対象となります。