Proyectos / Reranker Budget Router

Reranker Budget Router

Router de reranking con presupuestos estrictos de pares, políticas ajustadas en desarrollo y cross-encoder MiniLM local. Publica calidad, latencia, decisiones y errores.

Autor: · Python 3.11.13 · Licencia: MIT

Ficha publicada: · Ficha actualizada:

Repositorio · Evidencia original · Release v0.1.0

Problema y utilidad para agentes

Reordenar todos los candidatos consume cómputo incluso cuando BM25 ya resolvió la consulta. Saltarse el reranker también puede perder una mejora. La decisión necesita una comparación medida y casos de error visibles.

El proyecto permite inspeccionar cuánto cómputo asigna una política a cada consulta y qué calidad deja de obtener. Separa el presupuesto de pares de los dólares, la energía y una garantía de latencia.

Arquitectura

  1. Recuperación y señales. BM25 genera candidatos. La diferencia entre scores y la cobertura de términos alimentan un router que elige profundidad 0, 4 o 12 bajo un presupuesto duro.
  2. Políticas congeladas. Seis combinaciones de presupuesto y penalización ajustan umbrales únicamente sobre desarrollo. Un MiniLM cross-encoder fijado reordena el prefijo elegido y conserva el resto.
  3. Decisiones auditables. Trazas por consulta, scores contrafactuales, políticas y hashes permiten recalcular métricas, identificar cómputo evitable y localizar pérdidas de calidad.

Qué demuestra

  • Asignación explícita de presupuesto de inferencia y separación entre ajuste y evaluación.
  • Medición conjunta de calidad, latencia y pares procesados, con dos baselines.
  • Análisis de un resultado negativo: reconocer cuándo un router añade costo y no captura una mejora.

Resultados publicados

Corpus de 24 documentos ficticios, 12 consultas de desarrollo y 26 de evaluación, incluidas dos sin respuesta. MiniLM se ejecutó en Intel Xeon W-3223 con dos hilos y tres repeticiones seriales por política.

La latencia caliente incluye recuperación, señales, routing, tokenización e inferencia. Las preguntas sin respuesta puntúan cero. Son 26 unidades de calidad por política; repetir los tiempos no crea 78 consultas independientes.

Calidad y costo en evaluación

Evidencia original
PolíticanDCG@3Pares mediosMedia (ms)p95 (ms)
always-120.908912.00101.321126.578
never0.89470.000.1080.152
router-b12-p00.89470.000.1140.176
router-b12-p0.010.89470.000.1120.154
router-b12-p0.040.89470.000.1090.139
router-b4-p00.89470.000.1600.201
router-b4-p0.010.89470.000.1270.194
router-b4-p0.040.89470.000.1160.152

Las seis políticas aprendidas omitieron todo reranking. Obtuvieron la calidad de never y agregaron overhead. El baseline always-12 mejoró eval-iris-1 y alcanzó 0,9089 nDCG@3 frente a 0,8947. Esta evaluación no demuestra una ventaja del router.

Los seis errores de pérdida de calidad son la misma consulta contada para seis políticas. La frontera observada contiene always-12 y never. Diferencias mínimas entre políticas con decisiones idénticas son ruido de temporización. Resultados y análisis.

Reproducir

El replay y el comando route usan Python 3.11 o posterior sin dependencias de modelos. route muestra señales y candidatos sin ejecutar inferencia. La reproducción completa descarga un cross-encoder público.

Los comandos de entorno usan shell POSIX. reproduce.py adquiere un lock exclusivo, ejecuta ambas particiones y verifica la evidencia. La salida debe ser nueva; dev y eval permanecen como carpetas hermanas para comprobar el origen de las políticas.

Revisar la evidencia guardada

git clone https://github.com/lucioduran/reranker-budget-router.git
cd reranker-budget-router
git checkout b34802875068f89c8fb3550f53680d60afdae513
python -m budget_router verify --output results/dev
python -m budget_router verify --output results/eval
python -m budget_router route "Where can I restore a deleted notebook?" --budget 4

Repetir la medición local

python3.11 -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements-models.txt -r requirements-dev.txt
python -m budget_router download
python scripts/reproduce.py --output build/reproduction

Alcance y límites

  • Dataset pequeño, sintético y conocido por el autor. Los grupos de consultas son correlacionados y no tienen validación humana de relevancia.
  • El presupuesto limita pares, no tiempo máximo. El modelo no recupera documentos fuera del prefijo; usa truncación a 256 tokens.
  • Tres repeticiones calientes en una CPU no caracterizan concurrencia, energía, costo monetario ni percentiles estables en producción.

Fuentes y revisión

Las cifras provienen del resumen, las trazas y el análisis incluidos en v0.1.0. Los metadatos identifican la revisión ejecutada y el entorno; no registran una hora de ejecución. La fecha de release se muestra por separado.