CoolFace
Modelpublic

Stereotypes-in-LLMs/qwen3.5-4b-hiring-debias-sft-en

sourceHugging Faceapache-2.0updated 4d agoView on Hugging Face
0likes16downloads
Model Card

qwen3.5-4b-hiring-debias-sft-en

LoRA adapter that makes Qwen/Qwen3.5-4B decide hiring cases without letting a protected attribute (military status, gender, religion) change the verdict. Trained on counterfactually invariant targets; audited on a held-out counterfactual benchmark of 31,050 decisions.

What it changes

A counterfactual set is one candidate–job pair evaluated with every attribute variant; it is unstable when the decision is not the same across them — the attribute alone tipped it. Paired with the same sets at baseline, on matched variants, 900 sets:

Base modelThis adapter
Unstable sets30.1%10.7%
Change-19.4 pp [-23.0, -15.9]
Sets fixed : broken205 : 30
Utility (agreement with the attribute-free reference)80.8%81.9%
Rationales naming the attribute3.1%0.2%

Per protected group, all significant after Benjamini–Hochberg correction:

GroupBase unstable %Adapter unstable %Δ ppp (FDR)
gender10.85.7-5.16e-05
military status23.35.9-17.41e-31
religion15.35.2-10.18e-14

Serving it — merge first

Do not serve this adapter through vLLM's LoRA path. For these architectures that path does not reproduce the trained model: on the same prompts, HuggingFace + PEFT and vLLM agree on 95–99% of the base model's decisions but only 38–83% of the adapter's. Fold the adapter into the weights and serve the result as an ordinary checkpoint:

python
from peft import PeftModel
from transformers import AutoModelForCausalLM

model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3.5-4B", dtype="bfloat16")
model = PeftModel.from_pretrained(model, "Stereotypes-in-LLMs/qwen3.5-4b-hiring-debias-sft-en").merge_and_unload()
model.save_pretrained("merged")          # then: vllm serve merged

The study's audits all ran on merged weights (scripts/merge_adapter.py).

Intended use and limits

  • —Research on bias mitigation in LLM-assisted hiring. Not a hiring system, and not validated for deployment. The reference decision it was trained toward is GPT-4o's, which is attribute-free by construction but not unbiased.
  • —Instability falls to a few percent of sets, not to zero: a residual dependence on the attribute remains, and ~0.5% of sets flip from decoding nondeterminism alone.
  • —Trained and measured on one corpus (anonymised Djinni CVs and postings) in English, on three protected attributes, with one LoRA configuration and one seed. Intersections were evaluated but never trained.
  • —Fine-tuning also shifts the model's overall hire rate; check that shift against your own operating point before using it.

Citation

The paper is in preparation; until then cite the repository above and the Djinni Recruitment Dataset (Drushchak & Romanyshyn, 2024).