🚀 medBERT-base
本倉庫包含一個基於BERT的模型 medBERT-base,該模型在 gayanin/pubmed-gastro-maskfilling 數據集上針對**掩碼語言模型(Masked Language Modeling,MLM)**任務進行了微調。該模型經過訓練,可預測醫學和胃腸病學文本中被掩碼的標記。本項目的目標是提升模型在自然語言語境中對醫學相關信息的理解和生成能力。

🚀 快速開始
本項目的medBERT-base模型是基於BERT架構,在特定醫學數據集上微調得到,可用於掩碼語言模型任務,幫助預測醫學文本中被掩碼的標記。
✨ 主要特性
- 基礎模型:
bert-base-uncased
- 任務:針對醫學文本的掩碼語言模型(MLM)
- 分詞器:BERT的WordPiece分詞器
💻 使用示例
基礎用法
你可以使用Hugging Face的 transformers
庫加載預訓練的 medBERT-base 模型:
from transformers import BertTokenizer, BertForMaskedLM
import torch
tokenizer = BertTokenizer.from_pretrained('suayptalha/medBERT-base')
model = BertForMaskedLM.from_pretrained('suayptalha/medBERT-base').to("cuda")
input_text = "Response to neoadjuvant chemotherapy best predicts survival [MASK] curative resection of gastric cancer."
inputs = tokenizer(input_text, return_tensors='pt').to("cuda")
outputs = model(**inputs)
masked_index = (inputs['input_ids'][0] == tokenizer.mask_token_id).nonzero(as_tuple=True)[0].item()
top_k = 5
logits = outputs.logits[0, masked_index]
top_k_ids = torch.topk(logits, k=top_k).indices.tolist()
top_k_tokens = tokenizer.convert_ids_to_tokens(top_k_ids)
print("Top 5 prediction:")
for i, token in enumerate(top_k_tokens):
print(f"{i + 1}: {token}")
前5個預測結果:
1: from
2: of
3: after
4: by
5: through
高級用法
要在你自己的醫學數據集上微調 medBERT-base 模型,請按照以下步驟操作:
- 準備文本格式的數據集(例如,醫學文本或胃腸病學相關信息)。
- 對數據集進行分詞並應用掩碼。
- 使用提供的訓練循環訓練模型。
以下是訓練代碼鏈接:
https://github.com/suayptalha/medBERT-base/blob/main/medBERT-base.ipynb
🔧 技術細節
超參數
- 批次大小:16
- 學習率:5e-5
- 訓練輪數:1
- 最大序列長度:512個標記
數據集
- 數據集名稱:gayanin/pubmed-gastro-maskfilling
- 任務:針對醫學文本的掩碼語言模型(MLM)
📄 許可證
本項目採用 apache-2.0
許可證。
致謝
- gayanin/pubmed-gastro-maskfilling 數據集可在Hugging Face數據集中心獲取,它為訓練提供了豐富的醫學和胃腸病學相關信息。
- 本模型使用了Hugging Face的
transformers
庫,這是一個用於NLP模型的先進庫。
支持我們:
