Active Evaluation with Bayesian Quadrature — estimate LLM accuracy using far fewer labeled samples
Project description
ProEval
Active Evaluation with Bayesian Quadrature — estimate LLM accuracy using far fewer labeled samples than random sampling.
Introduction
- 💰 Cut GenAI eval costs 8–80× — achieve ±1% accuracy with a fraction of the labeled samples
- 🔍 Discover more failure cases — proactively surface diverse bugs under strict evaluation budgets
- 🧠 Transfer learning across benchmarks — pre-trained Gaussian Process surrogates generalize to new models instantly
- 🚀 Bayesian Quadrature + superlevel set sampling — smart input selection instead of brute-force random sampling
- ✅ Validated on reasoning, safety & classification — GSM8K, MMLU, StrategyQA, Jigsaw, and more
Installation
pip install -r requirements.txt
Quick Start
from proeval import BQPriorSampler, LLMPredictor, DATASET_CONFIGS
# Estimate a model's error rate with ~1% of the data
sampler = BQPriorSampler(noise_variance=0.3)
result = sampler.sample(predictions="svamp", target_model="gemini25_flash", budget=50)
print(f"Estimated error rate: {result.estimates[-1]:.4f}")
print(f"MAE: {result.mae(true_mean):.4f}")
# Evaluate an LLM on a supported benchmark
predictor = LLMPredictor(model="google/gemma-3-4b-it")
response, prediction, score = predictor.evaluate(
"Is the sky blue?", True, DATASET_CONFIGS["strategyqa"]
)
Experiments
Here is an example of how to run the experiments:
# BQ sampling with learned prior (Case 1)
python -m experiment.exp_sampling_w_prior_case_1 --dataset svamp --n-runs 5
License
Copyright 2026 DeepMind Technologies Limited
All software is licensed under the Apache License, Version 2.0 (Apache 2.0);
you may not use this file except in compliance with the Apache 2.0 license. You
may obtain a copy of the Apache 2.0 license at:
https://www.apache.org/licenses/LICENSE-2.0
All other materials are licensed under the Creative Commons Attribution 4.0
International License (CC-BY). You may obtain a copy of the CC-BY license at:
https://creativecommons.org/licenses/by/4.0/legalcode
Unless required by applicable law or agreed to in writing, all software and
materials distributed here under the Apache 2.0 or CC-BY licenses are
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the licenses for the specific language governing
permissions and limitations under those licenses.
This is not an official Google product.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file proeval-0.1.0.tar.gz.
File metadata
- Download URL: proeval-0.1.0.tar.gz
- Upload date:
- Size: 110.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4844010a02f270aec3128fd03bbb4932e2335cf4a2bcf403d9554c97cc9c363
|
|
| MD5 |
67705574805f858cf9e8aa8db20e27b3
|
|
| BLAKE2b-256 |
cd9817b24382feda08a45b6e8742f924936b8b9b14a28b1804af87a809f532e4
|
Provenance
The following attestation bundles were made for proeval-0.1.0.tar.gz:
Publisher:
proeval-py@oss-exit-gate-prod.iam.gserviceaccount.com
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
proeval-0.1.0.tar.gz -
Subject digest:
a4844010a02f270aec3128fd03bbb4932e2335cf4a2bcf403d9554c97cc9c363 - Sigstore transparency entry: 1397080079
- Sigstore integration time:
-
Token Issuer:
https://accounts.google.com -
Service Account:
proeval-py@oss-exit-gate-prod.iam.gserviceaccount.com
-
Statement type:
File details
Details for the file proeval-0.1.0-py3-none-any.whl.
File metadata
- Download URL: proeval-0.1.0-py3-none-any.whl
- Upload date:
- Size: 86.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
325f1c6c062538e5c9fd86964a4b1ac1586afa92ca9fac35f3be19302e20ef02
|
|
| MD5 |
ac0067637d79689d8d1b8c7ab2145452
|
|
| BLAKE2b-256 |
f574aaeaa394ad3d2375b2ecc518dc56e8b79dfbefebc12865492c1c8064504f
|
Provenance
The following attestation bundles were made for proeval-0.1.0-py3-none-any.whl:
Publisher:
proeval-py@oss-exit-gate-prod.iam.gserviceaccount.com
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
proeval-0.1.0-py3-none-any.whl -
Subject digest:
325f1c6c062538e5c9fd86964a4b1ac1586afa92ca9fac35f3be19302e20ef02 - Sigstore transparency entry: 1397080112
- Sigstore integration time:
-
Token Issuer:
https://accounts.google.com -
Service Account:
proeval-py@oss-exit-gate-prod.iam.gserviceaccount.com
-
Statement type: