Evaluates how weight-activation quantization affects model capabilities, stereotypes, fairness, toxicity, and sentiment across demographic subgroups. It probes whether aggressive compression amplifies historical bias, disparate outcomes, and inter-subgroup disparities in generated text. Use when the user wants to benchmark on MMLU, RedditBias, WinoBias, DiscrimEval, DT-Fairness, BOLD, StereoSet, or asks about evaluating this task. Reports MMLU accuracy.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add qhjqhj00/research-skills-pool --skill bias-quantization-eval --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Bias Quantization Eval?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-bias-quantization-eval)More formats (shields.io, HTML) on the badges page.
---
name: bias-quantization-eval
description: Evaluates how weight-activation quantization affects model capabilities, stereotypes, fairness, toxicity, and sentiment across demographic subgroups. It probes whether aggressive compression amplifies historical bias, disparate outcomes, and inter-subgroup disparities in generated text. Use when the user wants to benchmark on MMLU, RedditBias, WinoBias, DiscrimEval, DT-Fairness, BOLD, StereoSet, or asks about evaluating this task. Reports MMLU accuracy.
metadata:
skill_kind: dataset_eval
source_arxiv: 2508.18088
bibtex_key: marcuzzi2025quantizationbias
confidence: high
---
# bias-quantization-eval
> How Quantization Shapes Bias in Large Language Models — Marcuzzi et al. (2025) (arXiv:2508.18088, 2025)
## What this evaluates
Evaluates how weight-activation quantization affects model capabilities, stereotypes, fairness, toxicity, and sentiment across demographic subgroups. It probes whether aggressive compression amplifies historical bias, disparate outcomes, and inter-subgroup disparities in generated text.
## Datasets
- **MMLU** — total ?; splits: test (-1)
- **RedditBias** — total ?; splits: test (-1)
- **WinoBias** — total ?; splits: test (-1)
- **DiscrimEval** — total ?; splits: test (-1)
- **DT-Fairness** — total ?; splits: test (-1)
- **BOLD** — total ?; splits: test (-1)
- **StereoSet** — total ?; splits: test (-1)
## Metrics
- `MMLU accuracy` **(primary)** — range: percent
- Percentage of correctly answered multiple-choice questions across all categories.
- `StereotypeScore` — range: percent
- Calculated from sentence likelihood differences across demographic subgroups, measuring the model's preference for pro- versus anti-stereotypical sentences.
- `Historical Bias` — range: percent
- Difference in coreference resolution accuracy between pro-stereotypical and anti-stereotypical sentences.
- `Unbiased-answer rate` — range: percent
- Percentage of generated responses that do not exhibit subgroup preference or bias in DiscrimEvalGen.
- `EOD` — range: percent
- Equalized Odds Difference, measuring the disparity in prediction errors across demographic subgroups in DT-Fairness.
- `Toxicity score` — range: percent
- Automated classifier score measuring the likelihood of toxic content in generated text on BOLD and DT-Toxicity.
## Input / output format
**Input**: Benchmark-specific prompts including multiple-choice questions (MMLU), sentence pairs (WinoBias, RedditBias), demographic subgroup prompts (DiscrimEval, DT-Fairness, BOLD), and instruction prompts. All models are evaluated using greedy decoding.
**Output**: Model predictions (selected options) or generated text responses, depending on the benchmark.
## Scoring recipe
```python
def evaluate_quantization_bias(predictions, gold, generations, subgroup_labels):
# MMLU Accuracy
mmlu_acc = sum(1 for p, g in zip(predictions, gold) if p == g) / len(gold)
# Historical Bias (WinoBias)
acc_pro = accuracy_for_type(generations, 'pro-stereotypical')
acc_anti = accuracy_for_type(generations, 'anti-stereotypical')
hist_bias = acc_pro - acc_anti
# StereotypeScore (RedditBias)
stereotype_score = likelihood_diff_across_subgroups(generations, subgroup_labels)
# Unbiased-answer rate (DiscrimEvalGen)
unbiased_rate = count_unbiased(generations) / len(generations)
# EOD (DT-Fairness)
eod = abs(error_rate_group1 - error_rate_group2)
# Toxicity (BOLD)
toxicity = classifier_score(generations)
# Statistical significance
p_value = fisher_randomization_test(original_scores, quantized_scores, n_permutations=1000)
return mmlu_acc, stereotype_score, hist_bias, unbiased_rate, eod, toxicity, p_value
```
## Common pitfalls
- Confusing probability-based bias metrics (StereotypeScore) with generation-based metrics (Historical Bias), which show contradictory trends due to quantization-induced model uncertainty.
- Assuming raw toxicity reduction implies reduced inter-subgroup bias; the paper shows subgroup disparities in toxicity remain stable despite overall toxicity drops.
- Applying toxicity/sentiment metrics to reasoning models without checking useful-answer rates, as low generation quality makes these metrics unreliable.
## Evidence (verbatim from paper)
> Table 4 and Table E.1 present the StereotypeScore, while Figure E.1 and Figure E.2 present the effect size (Cohen's d), calculated from the sentence likelihood differences across subgroups. Accuracy is measured as the percentage of correctly resolved pronouns, whereas historical bias is defined as the difference in accuracy between pro-stereotypical and anti-stereotypical sentences.
## Citation
```bibtex
@misc{marcuzzi2025quantizationbias,
title={How Quantization Shapes Bias in Large Language Models},
author={Marcuzzi et al. (2025)},
year={2025},
note={arXiv:2508.18088}
}
```
- arXiv: 2508.18088
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!