vnmoorthy/pavo-bench
PAVO-Bench: 50K-Turn Benchmark for ASR-LLM-TTS Pipeline Routing Code: github.com/vnmoorthy/pavo-bench · Paper: TMLR 2026 (accepted) · Authors: NarasingaMoorthy VeiluKanthaPerumal (UPenn), Mohammed Imthathullah (Google) pip install git+https://github.com/vnmoorthy/pavo-bench.git Headline results (vs fixed-cloud baseline, 50,000 voice turns) Metric Result Significance P95 end-to-end latency (H100, LibriSpeech) −10.3% (−167 ms) — Median latency −34%… See the full description on the dataset page: https://huggingface.co/datasets/vnmoorthy/pavo-bench.
PAVO-Bench: 50K-Turn Benchmark for ASR-LLM-TTS Pipeline Routing
Code: github.com/vnmoorthy/pavo-bench · Paper: TMLR 2026 (accepted) · Authors: NarasingaMoorthy VeiluKanthaPerumal (UPenn), Mohammed Imthathullah (Google)
pip install git+https://github.com/vnmoorthy/pavo-bench.gitHeadline results (vs fixed-cloud baseline, 50,000 voice turns)
The p = 2×10⁻⁶ result applies to the paired test of mean end-to-end latency (2,277 vs 2,671 ms over five bootstrap replications), not the descriptive P95 comparison; the paired Wilcoxon test on the same five replications gives p = 0.0625.
The empirical contribution is a two-regime coupling structure (sharp factual-accuracy cliff + gradual semantic degradation) characterized over n = 5,430 measurements across two hardware platforms (H100, Apple M3) and three LLM families (Llama 3.1 8B, Mistral 7B, Gemma2 2B).
Description
PAVO-Bench evaluates ASR-LLM-TTS voice pipeline routing decisions. It provides 50,000 turns of benchmark data designed to measure how well different pipeline configurations balance latency, quality, cost, and energy when routing spoken-language queries through cascaded ASR, LLM, and TTS components.
The benchmark is organized into three tiers plus component-level ablation. The 50K routing evaluation is simulated using measured H100/M3 latencies and published benchmark values for unavailable configurations; the repository also includes direct-inference H100 results.
Dataset Files
The Hugging Face default config exposes the 40K/10K JSONL files as standard train and test splits. The heterogeneous result-summary JSON files below remain directly downloadable artifacts rather than dataset splits, which keeps the Dataset Viewer schema valid.
Primary dataset
Tier 1 — Unit-Level Validation
Tier 2 — Integration-Level Evaluation
Tier 3 — Scale Evaluation
Component Analysis
Usage
from huggingface_hub import hf_hub_download
import json
path = hf_hub_download(
repo_id="vnmoorthy/pavo-bench",
filename="tier3_50k_summary.json",
repo_type="dataset",
)
print(json.load(open(path)))Or via the pip package:
from pavo_bench import load_dataset, PretrainedPAVORouter, benchmark_router
turns = load_dataset(split="test")
pavo = PretrainedPAVORouter.from_released()
print(benchmark_router(pavo, turns))Or directly with datasets:
from datasets import load_dataset
dataset = load_dataset("vnmoorthy/pavo-bench")
print(dataset["train"].num_rows, dataset["test"].num_rows) # 40000 10000Citation
@article{veilukanthaperumal2026pavo,
title = {PAVO: Pipeline-Aware Voice Orchestration with Demand-Conditioned Inference Routing},
author = {VeiluKanthaPerumal, NarasingaMoorthy and Imthathullah, Mohammed},
journal = {Transactions on Machine Learning Research},
year = {2026}
}License
Dataset, results, coupling matrices, and model weights: CC-BY 4.0. Code is MIT licensed in the linked GitHub repository.
