Skip to main content

A corruption robustness benchmark for multi-LLM committees with hierarchical aggregation

Project description

Equitas

Corruption-Robust Aggregation for Multi-LLM Governance Committees

A benchmark for evaluating aggregation strategies in hierarchical multi-LLM committees under adversarial corruption.

Quick Start

pip install equitas-benchmark          # from PyPI
# or for local development:
pip install -e .
python -m equitas --config configs/governance_sweep_fh.yaml

Aggregation Methods (8 baselines + oracle)

Method Key Idea
Oracle Hindsight-optimal action (upper bound)
Multiplicative Weights w *= exp(-eta * loss), adapts to corruption
Supervisor Rerank Follow-the-leader: re-rank by best recent agent
Confidence-Weighted Weight by self-reported confidence
EMA Trust Exponential moving average of past performance
Trimmed Vote Drop outlier agents, then majority
Majority Vote Equal-weight plurality
Oracle Upper Bound Best single agent in hindsight
Random Dictator Uniformly random agent each round

Experiments

  1. Corruption sweep: rate x adversary type x aggregator
  2. Pareto sweep: welfare-fairness tradeoff via (alpha, beta)
  3. Recovery: mid-run corruption onset, track MW weight recovery
  4. Scaling: committee size N in {3, 5, 7, 10}
  5. Hierarchical vs flat: architecture comparison

Reproducibility

Raw experiment outputs in outputs/ include historical runs with all methods tested during development (including self_consistency). The reported benchmark results exclude self_consistency at the analysis layer: table-generation scripts (scripts/generate_benchmark_tables.py, scripts/generate_go_vs_fh_tables.py) and figure-generation (regenerate_figures.py) filter it out on read. The self_consistency aggregator is also hard-disabled in the codebase (equitas/config.py raises ValueError if used) because it implements a committee-level subsampled majority vote, not canonical within-agent self-consistency sampling. See the future-work discussion in the paper.

To regenerate all artifacts from raw data:

python scripts/generate_benchmark_tables.py   # tables/benchmark/
python scripts/generate_go_vs_fh_tables.py    # tables/
python regenerate_figures.py                   # paper/figures/
python -m pytest tests/ -q                    # 88 tests

Project Structure

equitas/          # pip-installable package
  agents/         # LLM client, member/leader/judge/governor agents
  aggregators/    # 8 aggregation strategies (registry pattern)
  adversaries/    # 4 adversary types (selfish, coordinated, scheduled, deceptive)
  metrics/        # fairness, welfare, Pareto, robust statistics
  simulation/     # hierarchical + flat engine
  experiments/    # sweep, recovery, scaling, pareto, hier-vs-flat
  plotting/       # paper-quality matplotlib figures
configs/          # YAML experiment configs
scripts/          # table generation, analysis
paper/            # LaTeX source + figures
tests/            # 88 unit + integration tests

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

equitas_benchmark-0.1.2.tar.gz (80.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

equitas_benchmark-0.1.2-py3-none-any.whl (109.4 kB view details)

Uploaded Python 3

File details

Details for the file equitas_benchmark-0.1.2.tar.gz.

File metadata

  • Download URL: equitas_benchmark-0.1.2.tar.gz
  • Upload date:
  • Size: 80.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.8

File hashes

Hashes for equitas_benchmark-0.1.2.tar.gz
Algorithm Hash digest
SHA256 1ad9e0fa174d20381d60e4c1ff822489ab8685ee25f5814c8e31e85993d38e52
MD5 4d4e6ae3ad43d5287afa43fc24fdc8a4
BLAKE2b-256 9bf43c4a6709f7c410b9b151a9daaf704bae8fff730980993e0b7f7208ea7374

See more details on using hashes here.

File details

Details for the file equitas_benchmark-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for equitas_benchmark-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 547649ed032d352cfaf2ecac1bb5be121fda7e6e9a1c575d23b89639ad5b205c
MD5 64fe1d696a30a7f13dac5c5f756d8e92
BLAKE2b-256 27c600530a6aa06c990ca4b3d4fe787db4f220707eb49cdde63879221b0c94f9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page