Skip to main content

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

  1. 💰 Cut GenAI eval costs 8–80× — achieve ±1% accuracy with a fraction of the labeled samples
  2. 🔍 Discover more failure cases — proactively surface diverse bugs under strict evaluation budgets
  3. 🧠 Transfer learning across benchmarks — pre-trained Gaussian Process surrogates generalize to new models instantly
  4. 🚀 Bayesian Quadrature + superlevel set sampling — smart input selection instead of brute-force random sampling
  5. 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


Download files

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

Source Distribution

proeval-0.1.0.tar.gz (110.5 kB view details)

Uploaded Source

Built Distribution

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

proeval-0.1.0-py3-none-any.whl (86.4 kB view details)

Uploaded Python 3

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

Hashes for proeval-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a4844010a02f270aec3128fd03bbb4932e2335cf4a2bcf403d9554c97cc9c363
MD5 67705574805f858cf9e8aa8db20e27b3
BLAKE2b-256 cd9817b24382feda08a45b6e8742f924936b8b9b14a28b1804af87a809f532e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for proeval-0.1.0.tar.gz:

Publisher: proeval-py@oss-exit-gate-prod.iam.gserviceaccount.com

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.
  • Statement: Publication detail:
    • Token Issuer: https://accounts.google.com
    • Service Account: proeval-py@oss-exit-gate-prod.iam.gserviceaccount.com

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

Hashes for proeval-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 325f1c6c062538e5c9fd86964a4b1ac1586afa92ca9fac35f3be19302e20ef02
MD5 ac0067637d79689d8d1b8c7ab2145452
BLAKE2b-256 f574aaeaa394ad3d2375b2ecc518dc56e8b79dfbefebc12865492c1c8064504f

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.
  • Statement: Publication detail:
    • Token Issuer: https://accounts.google.com
    • Service Account: proeval-py@oss-exit-gate-prod.iam.gserviceaccount.com

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