🚀 protgpt2-distilled-tiny
このモデルは、ProtGPT2 の蒸留バージョンであり、化学や生物学の分野での利用に適しています。蒸留手法を用いることで、推論速度が向上し、様々なユースケースでの利用が可能になっています。
🚀 クイックスタート
このモデルを使用するには、以下のコードを参考にしてください。
from transformers import GPT2Tokenizer, GPT2LMHeadModel, TextGenerationPipeline
import re
model_name = "littleworth/protgpt2-distilled-tiny"
tokenizer = GPT2Tokenizer.from_pretrained(model_name)
model = GPT2LMHeadModel.from_pretrained(model_name)
text_generator = TextGenerationPipeline(
model=model, tokenizer=tokenizer, device=0
)
generated_sequences = text_generator(
"<|endoftext|>",
max_length=100,
do_sample=True,
top_k=950,
repetition_penalty=1.2,
num_return_sequences=10,
pad_token_id=tokenizer.eos_token_id,
eos_token_id=0,
truncation=True,
)
def clean_sequence(text):
text = text.replace("<|endoftext|>", "")
text = "".join(char for char in text if char.isalpha())
return text
for i, seq in enumerate(generated_sequences):
cleaned_text = clean_sequence(seq["generated_text"])
print(f">Seq_{i}")
print(cleaned_text)
✨ 主な機能
- 蒸留手法を用いることで、推論速度が最大6倍に向上。
- 元のモデルと同等の困惑度を維持しながら、高速化を実現。
- 様々なユースケースに対応可能で、薬物発見やヘルスケア、学術教育などでの利用が期待される。
🔧 技術詳細
蒸留パラメータ
- 温度 (T): 10
- アルファ (α): 0.1
- モデルアーキテクチャ:
- レイヤー数: 4
- アテンションヘッド数: 4
- 埋め込みサイズ: 512
使用データセット
損失関数の定式化
- ソフト損失: ℒsoft = KL(softmax(s/T), softmax(t/T))。ここで、s は学生モデルのロジット、t は教師モデルのロジット、T は確率を柔らかくするために使用される温度です。
- ハード損失: ℒhard = -∑i yi log(softmax(si))。ここで、yi は真のラベル、si は各ラベルに対応する学生モデルのロジットです。
- 結合損失: ℒ = α ℒhard + (1 - α) ℒsoft。ここで、α (アルファ) はハード損失とソフト損失をバランスさせる重み係数です。
注意: KLはクルバック・ライブラー発散を表し、ある確率分布が別の期待される確率分布からどれだけ逸脱しているかを定量化するために使用される尺度です。
📈 パフォーマンス
蒸留されたモデル protgpt2-distilled-tiny
は、推論速度が大幅に向上しており、事前学習バージョンより最大6倍速くなっています。この評価は (n = 100) のテストを用いて行われており、速度が大幅に向上している一方で、モデルは元のモデルと同等の困惑度を維持しています。


💼 ユースケース
- 薬物発見におけるハイスループットスクリーニング: 蒸留されたProtGPT2は、タンパク質変異体の安定性を効率的に予測することで、薬物発見における迅速な変異スクリーニングを容易にします。モデルサイズが小さいため、新しいデータセットでの迅速な微調整が可能で、ターゲット同定の速度を向上させます。
- ヘルスケアにおけるポータブル診断: このモデルは手持ち式デバイスに適しており、遠隔の臨床現場でのリアルタイムのタンパク質分析を可能にし、即時の診断結果を提供します。
- 学術教育における対話型学習ツール: 蒸留されたモデルは教育ソフトウェアに組み込まれ、生物学の学生が高度な計算資源を必要とせずにタンパク質のダイナミクスをシミュレートし、理解するのに役立ちます。
📚 参考文献
- Hinton, G., Vinyals, O., & Dean, J. (2015). Distilling the Knowledge in a Neural Network. arXiv:1503.02531.
- 元のProtGPT2論文: 論文へのリンク
📄 ライセンス
このモデルは、Apache-2.0ライセンスの下で提供されています。