Logo Lanfrica

haturusinghe/subasa-plm

Domaine:

natural language processing

Type de record:

software
Créateur:
hat
Hôte:
A framework for adapting Pretrained Language Models (XLM-R, BERT etc.) for Low-Resourced Offensive Language Detection in Sinhala using pretrained models and intermediate tasks. # Subasa - Pretrained Language Models (PLM) A framework for adapting Pretrained Language Models for Low-Resourced Offensive Language Detection in Sinhala using pretrained models and intermediate tasks. ## Features - Two-stage finetuning approach with intermediate tasks - Support for multiple pretrained models (XLM-RoBERTa base/large) - Intermediate tasks: Masked Rationale Prediction (MRP) and Rationale Prediction (RP) - Comprehensive evaluation metrics including AUROC and explainability measures - Integration with Weights & Biases for experiment tracking - LIME-based model explanations ## Setup ```bash # Create and activate virtual environment python -m venv env source env/bin/activate # Install dependencies pip install -r requirements.txt ``` ## Project Structure ``` subasa-llm/ ├── main.py # Main training and evaluation script ├── src/ │ ├── config/ # Configuration files │ ├── dataset/ # Dataset loading and processing │ ├── evaluate/ # Evaluation metrics and explainers │ ├── models/ # Model implementations │ └── utils/ # Helper functions and utilities ├── pre_finetune/ # Pre-finetuning stage outputs └── final_finetune/ # Final stage model outputs ``` ## Training Modes ### 1. Pre-finetuning Stage Train with intermediate tasks (MRP or RP): ```bash python main.py \ --pretrained_model xlm-roberta-base \ --intermediate mrp \ --val_int 250 \ --patience 3 \ --mask_ratio 0.5 \ --n_tk_label 2 \ --epochs 5 \ --batch_size 16 \ --lr 0.00002 \ --seed 42 \ --wandb_project your-wandb-project-name \ --finetuning_stage pre \ --dataset sold \ --skip_empty_rat True ``` ### 2. Final Finetuning Stage Finetune for offensive language detection: ```bash python main.py \ --pretrained_model xlm-roberta-base \ --val_int 250 \ --patience 3 \ --epochs 5 \ --batch_size 16 \ --lr 0.00002 \ --seed 42 \ --wandb_project your-wandb-project-name \ --finetuning_stage final \ --dataset sold \ --num_labels 2 \ --pre_ …