plm-hallubench/plm-hallubench
PLM-HalluBench: A Multi-level Benchmark for Evaluating Hallucinations in Protein Language Models NeurIPS 2026 Evaluations and Datasets Track submission (double-blind). PLM-HalluBench is a benchmark for evaluating hallucination in protein language models (PLMs) — outputs that look like proteins but violate basic biophysics. It is organised around a three-level taxonomy that separates sequence-, structure-, and function-level failure modes, and it pairs a Factual track (BPHS… See the full description on the dataset page: https://huggingface.co/datasets/plm-hallubench/plm-hallubench.
PLM-HalluBench: A Multi-level Benchmark for Evaluating Hallucinations in Protein Language Models
NeurIPS 2026 Evaluations and Datasets Track submission (double-blind).
PLM-HalluBench is a benchmark for evaluating hallucination in protein language models (PLMs) — outputs that look like proteins but violate basic biophysics. It is organised around a three-level taxonomy that separates sequence-, structure-, and function-level failure modes, and it pairs a Factual track (BPHS against a natural reference band) with a Faithful track (Foldseek top-20 annotation matching).
- 1,000 functional conditions (Pfam families × organism / function prompts)
- 5,000 natural reference sequences from UniProt / Swiss-Prot (5 homologs per condition)
- 75,000 scored generations from six PLMs across three tasks
- Full BPHS scoring: ESMFold pLDDT/pTM, 8-component S_seq, signed BPHS, factual flag, Foldseek recall, faithful flag
Files
Full JSON schema is documented in Appendix E of the paper.
Models and tasks covered
Quickstart
from datasets import load_dataset
# Load conditions
conds = load_dataset("plm-hallubench/plm-hallubench", "conditions")
# Load natural references
refs = load_dataset("plm-hallubench/plm-hallubench", "natural_references")
# Load generations
gens = load_dataset("plm-hallubench/plm-hallubench", "generations")
# Headline metric: factual hallucination rate (2-sigma band) per model/task
import pandas as pd
df = pd.DataFrame(gens["train"])
headline = (
df.groupby(["source_model", "task"])["factual_flag"]
.mean()
.rename("factual_hallucination_rate_2sigma")
.reset_index()
)
print(headline)Evaluation and repair code (BPHS scoring pipeline, Foldseek driver, Attention-Valley Resampling) is hosted separately at: https://anonymous.4open.science/r/plm-hallubench (MIT-licensed, executable, reviewer-accessible).
Intended use (construct validity)
PLM-HalluBench is built to measure cross-axis coherence of PLM generations — the disagreement between what a sequence looks like at the residue level and what it looks like when folded. The construct "biological plausibility under a natural reference distribution" is made concrete by:
- BPHS = (pLDDT + pTM)/2 − S_seq, thresholded at the µref ± 2σref band of the 5,000 natural references
- Faithful track: a generation passes only if at least one of its top-20 Foldseek neighbours carries the prompted InterPro / Pfam annotation
Construct validity is supported by an independent PyRosetta ref2015 full-atom energy correlation (Spearman ρ ≈ −0.40 stratified, −0.35 random holdout), documented in the paper's physics-validation appendix.
In-scope uses
- Comparative benchmarking of PLM hallucination rates across architectures and generation regimes
- Methodological studies of sequence–structure coherence metrics
- Training-time or decoding-time interventions that use BPHS as an internal signal
Out-of-scope uses
- Certifying that any individual generated sequence is safe, foldable, or functional in vitro
- Ranking of natural proteins by biological validity
- Direct selection of candidates for synthesis without downstream experimental validation
Limitations
- Pfam-centric conditions — globular families dominate; membrane proteins, IDRs, and multi-domain assemblies are not separately stratified
- ESMFold as structure proxy — topologies outside ESMFold's training distribution may be mis-flagged
- Rosetta ref2015 as energy proxy — classical approximation, not experimental stability
- Reference distribution from 5 homologs — conservative band but noisier for rare families
- Prompt coverage limited to four formats — models requiring structure tokens, MSAs, or other modalities are not separately accommodated
Biases
- Length bias: retrieval prefers shorter sequences (tractable ESMFold/Rosetta) → underrepresents >500-residue and multi-domain proteins
- Taxonomy bias: overrepresents model organisms (H. sapiens, E. coli, M. musculus, S. cerevisiae)
- Function-class bias: dense Swiss-Prot families (kinases, EGF-like domains, Ig folds) better populated than niche families
- Annotation-transfer bias: inherits upstream Pfam/InterPro/Swiss-Prot annotation errors
- Generator bias: scores reflect the six specific PLMs at fixed sampling settings, not all plausible PLM outputs
Personal / sensitive information
None. Only protein sequences, structural confidences, and family-level annotations from public, reviewed biological databases. No human subjects, no identifying metadata.
Synthetic data
Yes (75 000 / 80 000 records). Generated sequences are clearly labelled source = "generated" and carry source_model, task, and seed fields. Natural references are labelled source = "swissprot". The two pools are never mixed during scoring: natural defines the reference band, synthetic is the object of evaluation.
Provenance
Derived from
- UniProtKB / Swiss-Prot — homolog retrieval, reference pool
- InterPro — functional annotations, keyword links
- Pfam — family identifiers, hierarchy
- AlphaFold / Swiss-Prot — structural-neighbour pool (via Foldseek)
Pipeline
- Pfam families → InterPro keyword expansion → UniProt/Swiss-Prot homolog retrieval (5 per condition, shorter-sequence preference)
- GPT-5 deterministic rendering of four prompt formats (no scoring role)
- 5 generations per (model, task, condition) triple at fixed sampling settings
- ESMFold pLDDT/pTM + 8-component Sseq → BPHS → µref ± 2σ_ref threshold
- Foldseek top-20 against AlphaFold/Swiss-Prot for the Faithful track
- PyRosetta ref2015 full-atom energy on a stratified sample for construct validation
No crowdsourced annotation, no human labelling, no human subjects at any stage.
Social impact
Positive — reliable multi-level hallucination detection lowers the risk that biologically invalid PLM outputs advance into downstream design pipelines (drug design, enzyme engineering, therapeutics), and gives a shared evaluation substrate independent of any single generator.
Potential negative — cross-axis coherence signals could in principle reward generation of proteins with harmful function (toxins, biothreats). This release is scoped as evaluation + detection/repair; no new generative model or weights are released. The repair procedure (AVR) operates on an existing frozen PLM without expanding generative capability. Downstream wet-lab use should follow the biosafety review channels that already apply to protein design research.
Citation
@inproceedings{plmhallubench2026,
title = {PLM-HalluBench: A Multi-level Benchmark for Evaluating Hallucinations in Protein Language Models},
author = {Anonymous Authors},
booktitle = {NeurIPS 2026 Evaluations and Datasets Track},
year = {2026}
}License
Released under the Creative Commons Attribution 4.0 International (CC BY 4.0) license. Upstream resources retain their own licenses (UniProt: CC BY 4.0; InterPro: CC0 1.0; Pfam: CC0 1.0; AlphaFold / Swiss-Prot: CC BY 4.0; ESMFold / Foldseek / PyRosetta are not redistributed — users must install them under the developers' terms).
Maintenance
- Versioning: datasets are pinned by the Git tag / HF revision; all BPHS thresholds are recomputed whenever the natural reference pool is updated.
- Errata: submit issues at the anonymous code repository during the review period; a public tracker will replace the anonymous one after acceptance.
- Long-term hosting: Hugging Face is the canonical mirror; the dataset is fully self-contained (no external API calls) except for downstream Foldseek and ESMFold runs which users perform themselves.
