--- language: en license: mit tags: - federated-learning - finance - sentiment-analysis - bert - finbert - fedprox library_name: transformers pipeline_tag: text-classification authors: - Harsh Prasad - Sai Dhole --- ## FinBERT–FedProx: Federated Proximal Optimization for Financial Sentiment Analysis --- ### πŸ“Œ Model Summary This model is a **federated version of FinBERT** fine-tuned for **financial sentiment classification (Positive / Negative / Neutral)**. Training is performed across **three clients**: * Financial Twitter posts * Financial news headlines * Financial reports & statements Unlike standard FedAvg, this model uses **FedProx optimization**, which adds a **proximal penalty term** to stabilize client training when data across clients is **non-identically distributed (non-IID)**. This model is part of a research project comparing: * FedAvg * FedProx * Adaptive Aggregation for federated financial NLP. --- ### 🧠 Intended Use Designed for: * Financial sentiment research * Risk & market analytics * Academic exploration of federated learning Not intended for automated trading without expert oversight. --- ### πŸ— Model Architecture Base Model: ``` ProsusAI/finbert ``` Task: ``` Sequence classification β€” 3 classes ``` Training Setup: ``` 3 federation clients 10 global rounds 3 local epochs FedProx (Β΅ = 0.05) ```` --- ### πŸ“Š Client Data Sources | Client | Data Type | | -------- | ----------------- | | Client-1 | Financial Twitter | | Client-2 | Financial News | | Client-3 | Financial Reports | No raw data is shared between clients. --- ### πŸ” Privacy Advantage Only model updates are exchanged β€” not text data. This supports data governance and privacy-aware ML. --- ### πŸ“ˆ Performance (Validation) | Method | Final Avg F1-Score | | ------- | ------------------ | | FedProx | **0.855** | FedProx provided **slightly better stability and performance** compared to standard FedAvg under client data imbalance. --- ### πŸš€ Example Usage ```python from transformers import AutoTokenizer, AutoModelForSequenceClassification import torch model = AutoModelForSequenceClassification.from_pretrained( "harshprasad03/FinBERT-FedProx" ) tokenizer = AutoTokenizer.from_pretrained( "harshprasad03/FinBERT-FedProx" ) text = "Oil stocks rose after strong quarterly performance." inputs = tokenizer(text, return_tensors="pt") outputs = model(**inputs) prob = torch.softmax(outputs.logits, dim=1) print(prob) ```` --- ### ⚠️ Limitations * Trained only on finance-domain text * Sentiment β‰  market prediction * Model may inherit dataset biases * Designed for research use --- ### πŸ“š Citation ``` Harsh Prasad, Sai Dhole (2025). FedProx-based Federated FinBERT for Financial Sentiment Analysis. ``` --- ### πŸ‘¨β€πŸ’» Authors **Harsh Prasad** AI and ML Research **Sai Dhole** AI and ML Research ---