Slash GenAI evaluation costs by up to 100x while actively discovering model failure patterns to guide better AI development.
- π° Cut GenAI eval costs up to 100Γ β achieve Β±1% accuracy with a fraction of the samples
- π Discover failure cases β proactively surface diverse bugs under strict evaluation budgets
- π§ Transfer learning over benchmarks β pre-trained GP surrogates generalize to new models instantly
- π§© Easy Integration - Easily to integrate into the GenAI evaluation systems with different modalities
- β Validated on reasoning, safety & classification β GSM8K, MMLU, StrategyQA, Jigsaw, and more
Install from source as a local Python package:
git clone https://github.com/google-deepmind/proeval.git
cd proeval
pip install -e .Optional extras:
pip install -e ".[encoder]" # PyTorch β for BQEncoderSampler and encoder training
pip install -e ".[topics]" # BERTopic + HDBSCAN β for TopicAwareGenerator
pip install -e ".[datasets]" # HuggingFace datasets β for evaluator.load_dataset_data
pip install -e ".[all]" # everything above
pip install -e ".[dev]" # pytest, ruff, build toolingfrom proeval import BQPriorSampler, LLMPredictor, DATASET_CONFIGS
from proeval.sampler import load_predictions, extract_model_predictions
import numpy as np
# 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)
# Compare against the true error rate
df = load_predictions("svamp")
pred_matrix, model_names = extract_model_predictions(df)
true_mean = np.mean(pred_matrix[:, model_names.index("gemini25_flash")])
print(f"Estimated error rate: {result.estimates[-1]:.4f}")
print(f"MAE: {result.mae(true_mean):.4f}")Run the bundled one-click example: python experiment/sample_usage.py
Here is an example of how to run the experiments:
# BQ performance estimation (runs BQ-SF, BQ-RPF, etc.)
python -m experiment.exp_performance_estimation --dataset svamp --n-runs 5You can find the comprehensive experiment details and dataset settings here.
If the work did some helps on your research/project, please cite our ICML 2026 paper. Thank you!
@inproceedings{huang2026proeval,
title={{{ProEval}: Proactive Failure Discovery and Efficient Performance Estimation for Generative AI Evaluation}},
author={Huang, Yizheng and Zeng, Wenjun and Kumaresan, Aditi and Wang, Zi},
booktitle={International Conference on Machine Learning (ICML)},
year={2026},
url={https://arxiv.org/abs/2604.23099}
}
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.