Fine-tuning workflows for GLiNER 2 on domain-specific entity recognition.
1
stars
24
commits
Python
primary language
May 18, 2026
updated
This is a small, config-driven experiment harness to compare four training setups ("instances") for long-span NER / PII extraction.
It is designed around the dataset:
arthrod/amd-pii-generator-dataprivateDataset (Hugging Face)scripts/prepare_data.py
Downloads the HF dataset and produces canonical JSONL plus derived datasets for:
scripts/train_gliner2.py
Trains GLiNER2 using the official gliner2.training.* APIs (supports LoRA via config).
scripts/train_gliner1.py
Trains GLiNER v1 using gliner.training.Trainer and DataCollator.
scripts/evaluate.py
Runs inference + writes JSONL predictions + computes a big pile of metrics (strict + overlap + fuzzy),
logs everything to W&B, and writes metrics_summary.json.
pip install -r requirements.txt
python scripts/prepare_data.py --config configs/instance4_gliner2_lora_multitask.yaml
This writes:
data/canonical/{train,val,test}.jsonldata/gliner1/{instance_name}/{train,val,test}.jsonldata/gliner2/{instance_name}/{train,val,test}.jsonlGLiNER2 (Instance 4 example):
accelerate launch scripts/train_gliner2.py --config configs/instance4_gliner2_lora_multitask.yaml
GLiNER v1 (Instance 1 example):
accelerate launch scripts/train_gliner1.py --config configs/instance1_gliner1_short.yaml
python scripts/evaluate.py --config configs/instance4_gliner2_lora_multitask.yaml --checkpoint runs/instance4_gliner2_lora_multitask/model
Outputs are saved under runs/<run_name>/.
bf16 if supported (MI200/MI300 class). Otherwise fall back to fp16 or full fp32.accelerate is the simplest launcher for multi-GPU on both CUDA and ROCm.train.precision: fp32train.gradient_checkpointing: trueIf your container has any GPU/driver weirdness, take the exact same scripts and run them on Modal. All configs are self-contained; you typically only need to change:
runtime.output_rootwandb.* settingsHF_HOME24 commits
Python
92.5%
Jupyter Notebook
7.1%
Fine-tuning workflows for GLiNER 2 on domain-specific entity recognition.
1
stars
24
commits
Python
primary language
May 18, 2026
updated
This is a small, config-driven experiment harness to compare four training setups ("instances") for long-span NER / PII extraction.
It is designed around the dataset:
arthrod/amd-pii-generator-dataprivateDataset (Hugging Face)scripts/prepare_data.py
Downloads the HF dataset and produces canonical JSONL plus derived datasets for:
scripts/train_gliner2.py
Trains GLiNER2 using the official gliner2.training.* APIs (supports LoRA via config).
scripts/train_gliner1.py
Trains GLiNER v1 using gliner.training.Trainer and DataCollator.
scripts/evaluate.py
Runs inference + writes JSONL predictions + computes a big pile of metrics (strict + overlap + fuzzy),
logs everything to W&B, and writes metrics_summary.json.
pip install -r requirements.txt
python scripts/prepare_data.py --config configs/instance4_gliner2_lora_multitask.yaml
This writes:
data/canonical/{train,val,test}.jsonldata/gliner1/{instance_name}/{train,val,test}.jsonldata/gliner2/{instance_name}/{train,val,test}.jsonlGLiNER2 (Instance 4 example):
accelerate launch scripts/train_gliner2.py --config configs/instance4_gliner2_lora_multitask.yaml
GLiNER v1 (Instance 1 example):
accelerate launch scripts/train_gliner1.py --config configs/instance1_gliner1_short.yaml
python scripts/evaluate.py --config configs/instance4_gliner2_lora_multitask.yaml --checkpoint runs/instance4_gliner2_lora_multitask/model
Outputs are saved under runs/<run_name>/.
bf16 if supported (MI200/MI300 class). Otherwise fall back to fp16 or full fp32.accelerate is the simplest launcher for multi-GPU on both CUDA and ROCm.train.precision: fp32train.gradient_checkpointing: trueIf your container has any GPU/driver weirdness, take the exact same scripts and run them on Modal. All configs are self-contained; you typically only need to change:
runtime.output_rootwandb.* settingsHF_HOME24 commits
Python
92.5%
Jupyter Notebook
7.1%