pick-and-spin-eval
Efficient Multi-Model Orchestration for Self-Hosted Large Language Models — Vangala et al. (2025) (arXiv:2512.22402, 2025)
What this evaluates
Evaluates a Kubernetes-based multi-model orchestration framework for self-hosted LLMs, measuring how hybrid routing and adaptive scaling affect inference reliability, latency, GPU utilization, and cost across diverse benchmarks.
Datasets
- HumanEval, GSM8K, MBPP, TruthfulQA, ARC, HellaSwag, MATH, MMLU Pro — total 31000; splits: test (31000)
Metrics
success (primary) — range: percent
- Proportion of inference runs that returned valid completions within predefined time and token limits. Explicitly measures inference reliability rather than task correctness.
routing_accuracy — range: percent
- Percentage of queries correctly routed to the appropriate model tier (L1–L3) based on complexity estimation using keyword heuristics or DistilBERT classification.
latency — range: seconds | percent
- Mean inference latency in seconds, or percentage reduction relative to the baseline profile. Includes orchestration and scaling overhead.
cost_per_query — range: USD
- Average inference cost in USD per query, calculated across different deployment profiles (static vs. dynamic/KEDA scaling).
routing_efficiency_eta — range: other
- Defined as η = (A_r / A_b) / (C_r / C_b), where A_r and A_b are routed and baseline accuracies, and C_r and C_b are their corresponding inference costs. Measures accuracy gain per unit cost overhead.
Input / output format
Input: Text prompts from eight standard benchmarks (HumanEval, GSM8K, MBPP, TruthfulQA, ARC, HellaSwag, MATH, MMLU Pro).
Output: Model-generated text completions, evaluated for validity within predefined time and token limits.
Scoring recipe
def compute_metrics(predictions, gold, config):
# Success: valid completion within time/token limits
success = sum(1 for p in predictions if is_valid(p, config.time_limit, config.token_limit))
success_rate = (success / len(predictions)) * 100
# Routing accuracy: correct model tier assignment
routing_acc = sum(1 for p, g in zip(predictions, gold) if p.tier == g.expected_tier) / len(predictions) * 100
# Latency & Cost: measured directly from system logs
avg_latency = sum(p.latency for p in predictions) / len(predictions)
avg_cost = sum(p.cost for p in predictions) / len(predictions)
# Routing efficiency
eta = (routing_acc / baseline_acc) / (avg_cost / baseline_cost)
return success_rate, routing_acc, avg_latency, avg_cost, eta
Common pitfalls
- The paper explicitly defines 'success' as inference reliability (valid completion within time/token limits), not task correctness/accuracy, which differs from standard benchmark reporting.
- Routing accuracy percentages are reported as very low (4.8%–8.6%), likely reflecting strict tier-matching criteria rather than standard classification accuracy, which may confuse readers expecting higher values.
- Latency and cost metrics are system-level measurements (including orchestration overhead and KEDA scaling delays) rather than pure model inference times.
Evidence (verbatim from paper)
Success indicates valid completion within time and token limits, measuring inference reliability rather than task correctness.
Citation
@misc{vangala2025efficient,
title={Efficient Multi-Model Orchestration for Self-Hosted Large Language Models},
author={Vangala et al. (2025)},
year={2025},
note={arXiv:2512.22402}
}
1---2name: pick-and-spin-eval3description: Evaluates a Kubernetes-based multi-model orchestration framework for self-hosted LLMs, measuring how hybrid routing and adaptive scaling affect inference reliability, latency, GPU utilization, and cost across diverse benchmarks. Use when the user wants to benchmark on HumanEval, GSM8K, MBPP, TruthfulQA, ARC, HellaSwag, MATH, MMLU Pro, or asks about evaluating this task. Reports success.4---56# pick-and-spin-eval78> Efficient Multi-Model Orchestration for Self-Hosted Large Language Models — Vangala et al. (2025) (arXiv:2512.22402, 2025)910## What this evaluates1112Evaluates a Kubernetes-based multi-model orchestration framework for self-hosted LLMs, measuring how hybrid routing and adaptive scaling affect inference reliability, latency, GPU utilization, and cost across diverse benchmarks.1314## Datasets1516- **HumanEval, GSM8K, MBPP, TruthfulQA, ARC, HellaSwag, MATH, MMLU Pro** — total 31000; splits: test (31000)1718## Metrics1920- `success` **(primary)** — range: percent21 - Proportion of inference runs that returned valid completions within predefined time and token limits. Explicitly measures inference reliability rather than task correctness.22- `routing_accuracy` — range: percent23 - Percentage of queries correctly routed to the appropriate model tier (L1–L3) based on complexity estimation using keyword heuristics or DistilBERT classification.24- `latency` — range: seconds | percent25 - Mean inference latency in seconds, or percentage reduction relative to the baseline profile. Includes orchestration and scaling overhead.26- `cost_per_query` — range: USD27 - Average inference cost in USD per query, calculated across different deployment profiles (static vs. dynamic/KEDA scaling).28- `routing_efficiency_eta` — range: other29 - Defined as η = (A_r / A_b) / (C_r / C_b), where A_r and A_b are routed and baseline accuracies, and C_r and C_b are their corresponding inference costs. Measures accuracy gain per unit cost overhead.3031## Input / output format3233**Input**: Text prompts from eight standard benchmarks (HumanEval, GSM8K, MBPP, TruthfulQA, ARC, HellaSwag, MATH, MMLU Pro).3435**Output**: Model-generated text completions, evaluated for validity within predefined time and token limits.3637## Scoring recipe3839```python40def compute_metrics(predictions, gold, config):41 # Success: valid completion within time/token limits42 success = sum(1 for p in predictions if is_valid(p, config.time_limit, config.token_limit))43 success_rate = (success / len(predictions)) * 10044 45 # Routing accuracy: correct model tier assignment46 routing_acc = sum(1 for p, g in zip(predictions, gold) if p.tier == g.expected_tier) / len(predictions) * 10047 48 # Latency & Cost: measured directly from system logs49 avg_latency = sum(p.latency for p in predictions) / len(predictions)50 avg_cost = sum(p.cost for p in predictions) / len(predictions)51 52 # Routing efficiency53 eta = (routing_acc / baseline_acc) / (avg_cost / baseline_cost)54 return success_rate, routing_acc, avg_latency, avg_cost, eta55```5657## Common pitfalls5859- The paper explicitly defines 'success' as inference reliability (valid completion within time/token limits), not task correctness/accuracy, which differs from standard benchmark reporting.60- Routing accuracy percentages are reported as very low (4.8%–8.6%), likely reflecting strict tier-matching criteria rather than standard classification accuracy, which may confuse readers expecting higher values.61- Latency and cost metrics are system-level measurements (including orchestration overhead and KEDA scaling delays) rather than pure model inference times.6263## Evidence (verbatim from paper)6465> Success indicates valid completion within time and token limits, measuring inference reliability rather than task correctness.6667## Citation6869```bibtex70@misc{vangala2025efficient,71 title={Efficient Multi-Model Orchestration for Self-Hosted Large Language Models},72 author={Vangala et al. (2025)},73 year={2025},74 note={arXiv:2512.22402}75}76```7778- arXiv: 2512.22402