Harsh-Gupta/Sentiment-Analysis-BERT-sst2
0
๐ค LoRA-BERT for Sentiment Analysis (SST-2)
This is a lightweight, parameter-efficient BERT model fine-tuned with LoRA (Low-Rank Adaptation) for binary sentiment classification on the SST-2 dataset.
๐ก Model Highlights
- โ
Fine-tuned using LoRA (r=8, ฮฑ=16) on top of
bert-base-uncased - โ Trained on SST2
- โ Achieves ~91.17% validation accuracy
- โ Lightweight: only LoRA adapter weights are updated
๐ Results
Early stopping could be applied from Epoch 3 based on validation metrics.
๐ ๏ธ Usage
from transformers import AutoTokenizer, AutoModelForSequenceClassification
from peft import PeftModel, PeftConfig
model_id = "Harsh-Gupta/bert-lora-sentiment"
# Load PEFT config + model
config = PeftConfig.from_pretrained(model_id)
base_model = AutoModelForSequenceClassification.from_pretrained(config.base_model_name_or_path)
model = PeftModel.from_pretrained(base_model, model_id)
# Tokenizer
tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path)
# Predict
text = "This movie was absolutely amazing!"
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True)
with torch.no_grad():
outputs = model(**inputs)
probs = outputs.logits.softmax(dim=-1)
pred = probs.argmax().item()LoRA Configuration
LoraConfig(
r=32,
lora_alpha=4,
target_modules=["query", "value"],
lora_dropout=0.1,
bias="none",
task_type="SEQ_CLS"
)๐ Intended Use
- Sentiment classification for binary text (positive/negative)
- Can be adapted to other domains: movie reviews, product reviews, tweets
๐ง Author
- Harsh Gupta
- MCA, Jawaharlal Nehru University (JNU)
- GitHub: 2003Harsh
