🚀 kuelumbus/polyBERT
これはpolyBERTです。完全に機械駆動の超高速ポリマー情報科学を可能にする化学言語モデルです。polyBERTはPSMILES文字列を600次元の密な指紋にマッピングします。これらの指紋はポリマーの化学構造を数値的に表しています。ライセンス契約については、LICENSEファイルを参照してください。
🚀 クイックスタート
✨ 主な機能
- polyBERTは化学言語モデルで、PSMILES文字列を600次元の密な指紋にマッピングし、ポリマーの化学構造を数値的に表現します。
📦 インストール
sentence-transformersをインストールすると、このモデルを簡単に使用できます。
pip install sentence-transformers
💻 使用例
基本的な使用法 (Sentence-Transformers)
from sentence_transformers import SentenceTransformer
psmiles_strings = ["[*]CC[*]", "[*]COC[*]"]
polyBERT = SentenceTransformer('kuelumbus/polyBERT')
embeddings = polyBERT.encode(psmiles_strings)
print(embeddings)
高度な使用法 (HuggingFace Transformers)
sentence-transformersを使用せずにモデルを使用する場合、まず入力をTransformerモデルに通し、その後文脈化された単語埋め込みに適切なプーリング操作を適用する必要があります。
from transformers import AutoTokenizer, AutoModel
import torch
def mean_pooling(model_output, attention_mask):
token_embeddings = model_output[0]
input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)
psmiles_strings = ["[*]CC[*]", "[*]COC[*]"]
tokenizer = AutoTokenizer.from_pretrained('kuelumbus/polyBERT')
polyBERT = AutoModel.from_pretrained('kuelumbus/polyBERT')
encoded_input = tokenizer(psmiles_strings, padding=True, truncation=True, return_tensors='pt')
with torch.no_grad():
model_output = polyBERT(**encoded_input)
fingerprints = mean_pooling(model_output, encoded_input['attention_mask'])
print("Fingerprints:")
print(fingerprints)
📚 ドキュメント
評価結果
詳細な評価結果については、https://github.com/Ramprasad-Group/polyBERT とarXivの論文を参照してください。
モデルのアーキテクチャ
SentenceTransformer(
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: DebertaV2Model
(1): Pooling({'word_embedding_dimension': 600, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False})
)
📄 ライセンス
ライセンス契約については、LICENSEファイルを参照してください。
引用と著者
Kuenneth, C., Ramprasad, R. polyBERT: a chemical language model to enable fully machine - driven ultrafast polymer informatics. Nat Commun 14, 4099 (2023). https://doi.org/10.1038/s41467-023-39868-6