Logo Lanfrica

sanderlj/nlp-finetuning

Domaine:

natural language processing

Type de record:

project
Créateur:
san
Hôte:
NLP project on finetuning mBERT-small on Swahili NLP tasks # CSC5035Z Assignment 2 This repository contains code, configuration files, and final outputs for fine-tuning `mmBERT-small` on two Swahili NLP tasks: - `AfriSenti` for text classification - `MasakhaPOS` for token classification It also includes an Extension D comparison of parameter-efficient fine-tuning (PEFT) methods on the AfriSenti task. ## Project Structure - `src/` - training code and helper functions - `scripts/` - command-line entrypoints for running experiments - `configs/` - YAML configuration files for baseline, tuning, and extension runs - `results/` - saved metrics and error-analysis files for final runs - `slides/` - presentation file - `report/` - report file ## Setup Create and activate a virtual environment, then install dependencies: ```bash python -m venv .venv ``` Windows PowerShell: ```bash .\.venv\Scripts\activate ``` Install requirements: ```bash pip install -r requirements.txt ``` ## Running Experiments ### Final baseline text classification ```bash python scripts/train_text.py --config configs/text_final.yaml ``` ### Final baseline token classification ```bash python scripts/train_token.py --config configs/token_final.yaml ``` ### Text tuning runs ```bash python scripts/train_text.py --config configs/text_tune_ep3_lr2.yaml python scripts/train_text.py --config configs/text_tune_ep3_lr3.yaml python scripts/train_text.py --config configs/text_tune_ep5_lr2.yaml python scripts/train_text.py --config configs/text_tune_ep5_lr3.yaml ``` ### Token tuning runs ```bash python scripts/train_token.py --config configs/token_tune_ep3_lr2.yaml python scripts/train_token.py --config configs/token_tune_ep3_lr3.yaml python scripts/train_token.py --config configs/token_tune_ep5_lr2.yaml python scripts/train_token.py --config configs/token_tune_ep5_lr3.yaml ``` ### Extension D: PEFT comparison on AfriSenti ```bash python scripts/train_text.py --config configs/text_lora_r4.yaml python scripts/train_text.py --config configs/text_lora_r8.ya …