Chunking Ablation Suite
Ablaciones de fragmentación fija, estructural y semántica con el mismo MiniLM. Mide evidencia completa recuperada y costo de indexación en código, tablas y referencias cruzadas.
Problema y utilidad para agentes
Encontrar el documento correcto sirve de poco si el fragmento pierde una condición, una celda o el destino de una referencia. Esta suite mide si el texto recuperado conserva toda la evidencia necesaria.
Permite elegir segmentación sobre un corpus concreto y revisar sus fallos. Las decisiones quedan respaldadas por offsets, fragmentos, vectores y rankings guardados.
Arquitectura
- Corpus con evidencia localizada. Dieciocho documentos originales de ficción incluyen código, tablas y referencias cruzadas. Las consultas declaran los spans requeridos y separan documentos de desarrollo y evaluación.
- Ocho configuraciones congeladas. Compara ventanas fijas, bloques por estructura y límites semánticos de MiniLM. Varía método, presupuesto de palabras, overlap o umbral manteniendo el embedding y el retrieval top-3.
- Replay de la recuperación. Reconstruye límites con embeddings de bloques guardados, rankings con vectores de fragmentos y consultas, cobertura de evidencia y costos de los índices.
Qué demuestra
- Diseño de ablaciones con una variable por contraste y resultados por tipo de documento.
- Separación entre recuperar un documento y recuperar evidencia completa.
- Publicación de resultados nulos y fallos de segmentación con datos inspeccionables.
Resultados publicados
Medición local con MiniLM en Intel Xeon W-3223 y dos hilos de CPU. Hay 18 consultas de desarrollo y 36 de evaluación; todos los índices contienen los mismos 18 documentos.
Complete@3 exige que la unión de los tres primeros fragmentos cubra todos los spans requeridos. No mide respuestas generadas. Los tamaños 64 y 96 son presupuestos de palabras, no tokens del modelo.
Evidencia completa en evaluación
| Configuración | Complete@3 | Fragmentos del índice |
|---|---|---|
| fixed-64 | 21 / 36 | 78 |
| fixed-96 | 31 / 36 | 54 |
| structure-64 | 12 / 36 | 96 |
| structure-96 | 33 / 36 | 84 |
| semantic-64 | 12 / 36 | 96 |
| semantic-96 | 12 / 36 | 68 |
| fixed-64-overlap16 | 32 / 36 | 90 |
| semantic-64-threshold07 | 12 / 36 | 96 |
Structure-96 recuperó evidencia completa en 33 de 36 consultas. Las configuraciones semánticas lo hicieron en 12. A 64 palabras, cambiar el umbral no cambia ningún límite porque ningún par de bloques cabe en el presupuesto; esa ablación no informa sensibilidad al umbral.
El análisis desglosa recall de spans, completitud, bytes de texto, payload vectorial y tiempo de construcción por código, tablas y referencias cruzadas. Los tiempos son observaciones secuenciales de un único equipo. Resultados y análisis.
Reproducir
El replay funciona con Python 3.11 y biblioteca estándar. Repetir la inferencia requiere el modelo MiniLM fijado y los paquetes del entorno publicado.
Los comandos usan shell POSIX. Reemplazá MODEL_PATH por la ruta que imprime download y elegí directorios nuevos. Ejecutá desarrollo antes de evaluación y evitá otras tareas intensivas durante la medición.
Revisar la evidencia guardada
git clone https://github.com/lucioduran/chunking-ablation-suite.git
cd chunking-ablation-suite
git checkout 12193ba09bb1081a05d3ea7a043748089aa2330b
python -m chunking_suite verify --report results/dev/report.json
python -m chunking_suite verify --report results/eval/report.jsonRepetir la medición local
python -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements-local.lock
python -m chunking_suite download
# Replace MODEL_PATH with the snapshot path printed by download.
HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 OMP_NUM_THREADS=2 MKL_NUM_THREADS=2 OPENBLAS_NUM_THREADS=2 python -m chunking_suite run --model-path MODEL_PATH --split dev --output build/reproduced-dev
HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 OMP_NUM_THREADS=2 MKL_NUM_THREADS=2 OPENBLAS_NUM_THREADS=2 python -m chunking_suite run --model-path MODEL_PATH --split eval --output build/reproduced-eval
python -m chunking_suite verify --report build/reproduced-eval/report.jsonAlcance y límites
- Corpus sintético conocido por el autor, con plantillas compartidas entre particiones y sin revisión humana independiente.
- La preservación de bloques atómicos difiere entre métodos. Compararlos no aísla por sí solo el efecto causal de los embeddings semánticos.
- No genera respuestas, sigue enlaces ni evalúa preguntas sin respuesta. El payload no representa memoria total de una base vectorial.
Fuentes y revisión
Los valores de esta ficha provienen del informe enlazado. No son una medición en vivo. El informe conserva la revisión ejecutada; la revisión consultada incluye la publicación posterior de ese informe.
- Revisión consultada:
12193ba09bb1081a05d3ea7a043748089aa2330b - Revisión registrada por el experimento:
5e1f27c2aba7624f181e4b1a172873b5180b8f53 - Fecha del informe (UTC):
- Release publicada: v0.1.0 ·