biogpt-aura / README.md
ishro's picture
Update README.md
28cc8b0 verified
---
language: en
pipeline_tag: text-classification
tags:
- biogpt
- medical
- radiology
- birads
- classification
license: mit
metrics:
- accuracy
- f1
model-index:
- name: BioGPT BI-RADS Classifier
results:
- task:
type: text-classification
name: BI-RADS Classification
metrics:
- type: accuracy
value: 0.9736
name: Accuracy
- type: f1
value: 0.9066
name: F1 (Macro)
---
# BioGPT BI-RADS Classifier
This model is a fine-tuned version of [microsoft/biogpt-large](https://huggingface.co/microsoft/biogpt-large) for BI-RADS classification of radiology reports.
## Model Description
- **Base Model:** microsoft/biogpt-large
- **Task:** Multi-class text classification (BI-RADS categories 0-6)
- **Training Data:** Radiology reports with BI-RADS annotations
- **Accuracy:** 97.36%
- **F1-Score (Macro):** 90.66%
## Performance
### Overall Metrics
- **Accuracy:** 97.36%
- **F1-Score (Macro):** 90.66%
- **F1-Score (Weighted):** 97.34%
- **Precision (Macro):** 92.65%
- **Recall (Macro):** 88.96%
### Per-Class Performance
| BI-RADS | Precision | Recall | F1-Score | Support |
|---------|-----------|--------|----------|---------|
| 0 | 0.9946 | 0.9482 | 0.9708 | 193 |
| 1 | 0.9504 | 0.9664 | 0.9583 | 119 |
| 2 | 0.9740 | 0.9943 | 0.9840 | 527 |
| 3 | 1.0000 | 0.8333 | 0.9091 | 18 |
| 4 | 0.9000 | 0.8182 | 0.8571 | 11 |
| 5 | 0.6667 | 0.6667 | 0.6667 | 3 |
| 6 | 1.0000 | 1.0000 | 1.0000 | 1 |
## Usage
```python
from transformers import AutoTokenizer, BioGptForSequenceClassification
import torch
# Load model and tokenizer
model = BioGptForSequenceClassification.from_pretrained("ishro/biogpt-aura")
tokenizer = AutoTokenizer.from_pretrained("ishro/biogpt-aura")
# Prepare input
report_text = "Your radiology report text here..."
inputs = tokenizer(report_text, return_tensors="pt", padding=True, truncation=True, max_length=512)
# Get prediction
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
predicted_class = torch.argmax(predictions, dim=-1).item()
# Map to BI-RADS label
birads_label = model.config.id2label[predicted_class]
print(f"Predicted BI-RADS: {birads_label}")
print(f"Confidence: {predictions[0][predicted_class].item():.4f}")
```
## Training Details
### Training Hyperparameters
- **Learning Rate:** 2e-5
- **Batch Size:** 4 per device (2 GPUs)
- **Gradient Accumulation Steps:** 8
- **Effective Batch Size:** 64
- **Epochs:** 3
- **Optimizer:** AdamW (fused)
- **Mixed Precision:** BF16
- **Hardware:** 2x NVIDIA L40S (46GB each)
### Training Data
The model was trained on radiology reports with the following features:
- Report observations
- Conclusions
- Recommendations
- Patient metadata (age, hormonal therapy, family history, etc.)
## Limitations
- Performance on BI-RADS categories 5 and 6 is lower due to limited training samples
- Model is trained on specific radiology report format
- May not generalize well to reports from different institutions without fine-tuning
## Ethical Considerations
- This model is intended for research purposes and should not be used as the sole basis for clinical decisions
- Always consult with qualified medical professionals for diagnosis and treatment
- The model may have biases based on the training data distribution
## Citation
If you use this model, please cite:
```bibtex
@misc{biogpt-birads-classifier,
author = {Your Name},
title = {BioGPT BI-RADS Classifier},
year = {2025},
publisher = {HuggingFace},
url = {https://huggingface.co/ishro/biogpt-aura}
}
```
## Model Card Authors
ishro
## Model Card Contact
For questions or issues, please open an issue on the model repository.