Back to blog
    De 700GB de PDFs a un Dataset de 500 Ejemplos para Fine-Tuning: El Pipeline de Reduccion de Datos
    data-reductionenterprisepdffine-tuningdata-preparationsegment:enterprise

    De 700GB de PDFs a un Dataset de 500 Ejemplos para Fine-Tuning: El Pipeline de Reduccion de Datos

    Tienes terabytes de documentos empresariales. Tu modelo ajustado solo necesita entre 500 y 5,000 ejemplos de alta calidad. Aqui esta el pipeline sistematico para reducir archivos masivos de documentos en datasets de entrenamiento de precision.

    EErtas Team·

    Una empresa de construccion se acerco a nosotros con 700GB de PDFs: presupuestos de obra, especificaciones tecnicas, planos arquitectonicos, informes de obra y correspondencia de proyectos acumulados durante 15 anos. Querian ajustar un modelo para dos tareas: clasificacion de documentos (identificar el tipo de documento desde la primera pagina) y extraccion de entidades (extraer detalles clave de las especificaciones).

    Preguntaron: "Como usamos todos estos datos para el entrenamiento?"

    La respuesta: no los usas. Los reduces.

    El fine-tuning de un modelo de lenguaje requiere entre 500 y 5,000 ejemplos cuidadosamente curados para la mayoria de las tareas empresariales. Usar "todos los datos" introduce ruido, contradicciones, redundancia e inconsistencias de formato que danan activamente el rendimiento del modelo. El objetivo no es maximizar el volumen de datos, sino destilar 700GB de documentos brutos en los 2,000-3,000 ejemplos que ensenan al modelo exactamente lo que necesita aprender.

    Este articulo recorre el pipeline de reduccion de cinco etapas que transforma archivos masivos de documentos en datasets de entrenamiento de precision.

    La Discrepancia de Escala

    Los numeros ponen el desafio en perspectiva:

    • 700GB de PDFs ≈ 140,000 documentos a 5MB promedio
    • 140,000 documentos ≈ 14 millones de paginas a 100 paginas promedio
    • 14 millones de paginas ≈ 7 mil millones de tokens a 500 tokens/pagina
    • El fine-tuning necesita ≈ 2,000 ejemplos a ~500 tokens promedio = 1 millon de tokens

    Necesitas el 0.014% de los datos disponibles. El otro 99.986% es redundante, irrelevante, desactualizado o demasiado ruidoso para mejorar el entrenamiento.

    El pipeline de reduccion debe encontrar el 0.014% correcto: los ejemplos que son representativos, precisos, diversos y formateados correctamente. Esto no es muestreo aleatorio. Es curacion sistematica.

    Etapa 1: Triaje

    Entrada: 700GB de documentos brutos Salida: ~200GB de documentos potencialmente relevantes Reduccion: ~70%

    El triaje ordena el archivo de documentos en pilas de "conservar", "descartar" y "revisar". El objetivo es eliminar material obviamente irrelevante antes de que comience cualquier procesamiento costoso.

    Triaje Automatizado

    Eliminacion de duplicados. Los archivos empresariales contienen duplicacion masiva: la misma especificacion distribuida a 15 subcontratistas, el mismo plano guardado en 4 versiones con variaciones menores en el nombre de archivo. El hashing de contenido (MD5 o SHA-256 del archivo) detecta duplicados exactos. Para empresas de construccion, tipicamente vemos entre 15-30% de duplicados exactos en archivos no gestionados.

    Filtrado por tipo de archivo. No todos los PDFs contienen contenido util para entrenamiento. Filtra: paginas en blanco, portadas solo con un logo, paginas de tabla de contenidos, documentos de relleno y archivos corruptos que no se pueden analizar. Comprobaciones automatizadas: conteo de paginas (rechazar PDFs de 0 paginas), tamano de archivo (rechazar archivos menores de 10KB, probablemente en blanco), extraibilidad de texto (rechazar archivos donde no se puede extraer texto).

    Filtrado por fecha. Los documentos mas antiguos que una fecha de corte definida pueden no reflejar estandares, terminologia o practicas comerciales actuales. Si tu modelo procesara documentos actuales, entrenar con especificaciones de hace 15 anos con estandares desactualizados puede introducir patrones obsoletos. Un corte razonable para la mayoria de las empresas: conservar documentos de los ultimos 5-7 anos, a menos que se necesiten especificamente documentos mas antiguos.

    Clasificacion por tipo de documento. Usa un clasificador zero-shot o coincidencia simple de palabras clave para clasificar documentos por tipo: especificacion, plano, correspondencia, informe, contrato, factura. Conserva solo los tipos de documento relevantes para tu tarea de entrenamiento. Para un modelo de clasificacion de documentos, necesitas ejemplos de todos los tipos; para un modelo de extraccion de entidades enfocado en especificaciones, solo necesitas especificaciones.

    Revision Manual de Triaje

    El triaje automatizado maneja la mayor parte de la reduccion, pero entre el 10-15% de los documentos caen en la pila de "revision": documentos donde la clasificacion automatizada es incierta. Un experto en el dominio los revisa, dedicando 15-30 segundos por documento para decidir "conservar" o "descartar".

    A este ritmo, revisar 5,000 documentos inciertos toma aproximadamente 30 horas. Este es el tiempo de experto de dominio mas rentable en todo el pipeline: cada minuto elimina multiples documentos del procesamiento posterior.

    Etapa 2: Extraccion

    Entrada: ~200GB de documentos relevantes Salida: ~5GB de secciones de contenido relevante Reduccion: ~97%

    La extraccion obtiene las secciones especificas de los documentos que contienen contenido relevante para el entrenamiento. No documentos completos, sino pasajes, tablas, clausulas o paginas especificas.

    Extraccion a Nivel de Seccion

    La mayoria de los documentos empresariales son 80% texto repetitivo estandar y 20% contenido unico. Una especificacion de construccion de 200 paginas contiene:

    • 40 paginas de terminos y condiciones estandar (iguales en cada proyecto)
    • 30 paginas de requisitos generales (mayormente estandarizados)
    • 80 paginas de especificaciones tecnicas (unicas, de alto valor para el entrenamiento)
    • 30 paginas de apendices (planos, cronogramas; pueden o no ser relevantes)
    • 20 paginas de portadas, contenidos y paginas en blanco

    Para el entrenamiento, las 80 paginas de especificaciones tecnicas son oro. Las 40 paginas de terminos estandar son ruido: cada proyecto tiene el mismo texto repetitivo, asi que incluirlo solo ensena al modelo a generar texto generico.

    Metodos de extraccion de secciones:

    • Extraccion basada en encabezados: Analiza la estructura del documento y extrae secciones por encabezado. "Seccion 03300 - Concreto Vaciado en Sitio" es relevante; "Seccion 00100 - Instrucciones para Licitantes" no lo es.
    • Extraccion basada en palabras clave: Extrae paginas que contienen palabras clave especificas del dominio que indican contenido relevante. Filtra paginas con solo contenido administrativo o de procedimiento.
    • Extraccion basada en diseno: Usa el detector de diseno para identificar paginas con alta densidad de contenido (texto + tablas) versus baja densidad de contenido (mayormente espacio en blanco, encabezados o imagenes).

    Filtro de Calidad de Contenido

    Despues de la extraccion de secciones, filtra el contenido extraido por calidad:

    • Elimina secciones con menos del 50% de texto legible (probablemente paginas con muchas imagenes que necesitan procesamiento diferente)
    • Elimina secciones que son identicas o casi identicas a secciones previamente extraidas (deduplicacion entre documentos)
    • Elimina secciones en idiomas que tu modelo no manejara
    • Elimina secciones con redaccion o censura excesiva (contenido insuficiente para aprender)

    Etapa 3: Transformacion

    Entrada: ~5GB de secciones de contenido relevante Salida: ~50MB de pares de entrenamiento candidatos Reduccion: ~99%

    Aqui es donde el contenido extraido se convierte en datos de entrenamiento. Cada seccion relevante se transforma en un par de entrada/salida que coincide con el formato que el modelo usara en produccion.

    Para Clasificacion de Documentos

    Transforma la primera pagina (o seccion representativa) de cada documento en un ejemplo de clasificacion:

    {
      "input": "Classify the following document excerpt:\n\n[first 500 tokens of document]",
      "output": "document_type: technical_specification\nconfidence_reason: Contains section headings with CSI format (Section 03300), material specifications, and compliance references to ASTM standards."
    }
    

    De 140,000 documentos despues de la deduplicacion y el triaje, podrias tener 30,000 primeras paginas unicas en 12 tipos de documentos. Transforma todas en pares de clasificacion candidatos.

    Para Extraccion de Entidades

    Transforma las secciones relevantes en ejemplos de extraccion:

    {
      "input": "Extract project details from the following specification section:\n\n[specification text]",
      "output": {
        "project_name": "Westfield Commercial Center Phase 2",
        "specification_section": "03300 - Cast-in-Place Concrete",
        "concrete_grade": "C30/37",
        "slump_requirement": "100mm ± 25mm",
        "curing_period": "7 days minimum",
        "referenced_standards": ["ASTM C150", "ASTM C33", "ACI 318"]
      }
    }
    

    Esta transformacion requiere experiencia en el dominio. Un ingeniero de ML puede estructurar el formato de entrada, pero un ingeniero de construccion debe identificar y verificar los valores correctos de las entidades. Esta es la etapa mas intensiva en mano de obra.

    Creacion de Pares de Entrenamiento

    La participacion del experto en el dominio en esta etapa tipicamente sigue este flujo de trabajo:

    1. El ingeniero de ML extrae secciones candidatas y las estructura como entradas
    2. El ingeniero de ML usa un LLM para generar borradores de salida (sugerencias de extraccion de entidades)
    3. El experto en el dominio revisa cada borrador, corrigiendo errores y llenando vacios
    4. El ingeniero de ML valida los pares finales contra el esquema de salida

    Estimacion de tiempo: revisar y corregir un borrador de extraccion toma 2-5 minutos por ejemplo. Para 3,000 pares candidatos, presupuesta 100-250 horas de tiempo de experto en el dominio. Distribuido entre 3 expertos durante 4 semanas, eso son 8-20 horas por semana por experto.

    Etapa 4: Curacion

    Entrada: ~50MB de pares de entrenamiento candidatos (ej., 10,000 pares) Salida: ~10MB de pares de entrenamiento de alta calidad (ej., 2,000 pares) Reduccion: ~80%

    No todos los pares candidatos son adecuados para el entrenamiento. La curacion filtra por calidad, equilibrio y diversidad.

    Filtrado de Calidad

    Ejecuta todos los pares candidatos a traves de controles de calidad:

    Precision de etiquetas: Haz que un segundo experto en el dominio revise un 15% aleatorio de los pares. Si el acuerdo es inferior al 90%, las directrices de etiquetado necesitan revision y los ejemplos en conflicto necesitan ser revisados nuevamente.

    Cumplimiento de formato: Valida cada salida contra el esquema esperado. Rechaza pares con campos faltantes, tipos de datos incorrectos o estructura malformada.

    Eliminacion de cuasi-duplicados: Haz embedding de todos los textos de entrada y elimina pares donde la similitud coseno de la entrada exceda 0.95. De 10,000 candidatos, la eliminacion de cuasi-duplicados tipicamente elimina entre el 20-40%.

    Balanceo de Clases

    Para tareas de clasificacion, cuenta los ejemplos por clase. Si "especificacion_tecnica" tiene 4,000 ejemplos y "informe_de_obra" tiene 200, el modelo aprendera abrumadoramente a predecir "especificacion_tecnica."

    Balancea submuestreando las clases sobrerepresentadas y conservando todos los ejemplos de las clases subrepresentadas. El objetivo: ninguna clase por debajo del 5% del dataset final. Si una clase genuinamente ocurre raramente, sobremuestrea o crea ejemplos adicionales especificamente para esa clase.

    Maximizacion de la Diversidad

    Entre los candidatos restantes, selecciona para maxima diversidad:

    • Diferentes proyectos (no 500 ejemplos del mismo proyecto de construccion)
    • Diferentes plantillas de documentos (no todas de la misma firma de ingenieria)
    • Diferentes niveles de complejidad (especificaciones simples y especificaciones complejas de multiples sistemas)
    • Diferentes casos limite (formatos inusuales, terminologia no estandar, documentos multilingues)

    Un enfoque practico: agrupa los pares candidatos usando embeddings de oraciones, luego selecciona ejemplos que cubran todo el espacio de clusters: mas ejemplos de clusters subrepresentados, menos de clusters densos.

    Etapa 5: Validacion

    Entrada: ~2,000 pares de entrenamiento curados Salida: ~2,000 pares de entrenamiento validados (o menos, si la validacion revela problemas) Reduccion: 0-10% (la validacion elimina los ultimos problemas de calidad)

    La etapa final es la revision experta del dataset curado completo.

    Revision de Expertos

    Un experto en el dominio revisa el dataset final, no verificando cada ejemplo (ya revisaron ejemplos individuales en la Etapa 3), sino examinando el dataset como un todo:

    • Verificacion de cobertura: Estan representados todos los tipos de documentos? Estan presentes todos los tipos de entidades? Se incluyen los casos limite?
    • Verificacion de consistencia: Los documentos similares estan etiquetados de manera consistente? Si dos especificaciones casi identicas tienen diferentes extracciones de entidades, una esta incorrecta.
    • Verificacion de realismo: El dataset refleja lo que el modelo realmente encontrara en produccion? O esta sesgado hacia ejemplos faciles?

    Auditoria de Casos Limite

    Revisa especificamente los casos limite identificados durante las etapas anteriores:

    • Documentos con formato no estandar
    • Documentos en plantillas inusuales
    • Documentos con informacion incompleta
    • Documentos con informacion contradictoria
    • Documentos en los limites entre categorias

    Asegura al menos 3-5 ejemplos de cada tipo de caso limite en el dataset final.

    Verificacion de Formato

    Verificacion automatizada final: ejecuta cada ejemplo a traves del validador de esquema de salida una ultima vez. Esto detecta cualquier problema de formato introducido durante el proceso de revision y correccion.

    Resultados del Mundo Real

    El archivo de 700GB de la empresa de construccion se redujo de la siguiente manera:

    EtapaVolumenDocumentos/EjemplosReduccion
    Archivo bruto700GB~140,000 documentos
    Despues del triaje195GB~45,000 documentos72%
    Despues de la extraccion4.8GB~120,000 secciones97.5%
    Despues de la transformacion42MB8,200 pares candidatos
    Despues de la curacion8.5MB1,800 clasificacion + 3,200 extraccion
    Despues de la validacion8.1MB1,750 clasificacion + 3,100 extraccion

    Tiempo total: 4 semanas con 2 ingenieros de ML y 3 expertos en el dominio.

    El modelo resultante alcanzo un 94% de precision en clasificacion de documentos (12 categorias) y un 89% de precision en extraccion de entidades (15 tipos de entidades). Esto fue con un modelo de 7B parametros ajustado con menos de 5,000 ejemplos, extraidos de 700GB de material fuente.

    Errores Comunes

    Saltarse el triaje e intentar procesar todo. Procesar 700GB de PDFs a traves de un pipeline de analisis toma semanas de tiempo de computo y produce cantidades masivas de datos irrelevantes. El triaje elimina el 70% de ese costo por adelantado.

    Muestreo aleatorio en lugar de curacion sistematica. Seleccionar aleatoriamente 2,000 documentos de 140,000 produce un dataset que refleja la distribucion del archivo, que usualmente esta dominada por unos pocos tipos de documentos y unos pocos proyectos. La curacion sistematica asegura cobertura de todos los tipos y diversidad entre fuentes.

    Permitir que los ingenieros de ML creen la verdad de referencia sin expertos en el dominio. La etapa de transformacion requiere conocimiento del dominio para producir salidas correctas. Un ingeniero de ML puede estructurar los pares, pero un ingeniero de construccion debe verificar los valores de las entidades.

    Incluir documentos desactualizados sin marcarlos. Los documentos mas antiguos pueden hacer referencia a estandares obsoletos o usar terminologia en desuso. Si se incluyen, marcalos para que el modelo aprenda practicas actuales, no historicas.

    Ertas Data Suite soporta cada etapa del pipeline de reduccion de datos. El triaje automatizado clasifica y deduplica documentos al ingerirlos. La extraccion a nivel de seccion identifica y aisla contenido relevante. La interfaz de etiquetado soporta la revision eficiente por expertos del dominio de los pares de entrenamiento candidatos. La puntuacion de calidad, deduplicacion y balanceo de clases estan integrados en la etapa de curacion. Y el flujo de trabajo de validacion final asegura que el dataset cumple los umbrales de calidad antes de la exportacion. Todo el pipeline se ejecuta on-premise, manteniendo los 700GB de documentos empresariales sensibles dentro de tu infraestructura.


    Your data is the bottleneck — not your models.

    Ertas Data Suite turns unstructured enterprise files into AI-ready datasets — on-premise, air-gapped, with full audit trail. One platform replaces 3–7 tools.

    Lectura Adicional

    Turn unstructured data into AI-ready datasets — without it leaving the building.

    On-premise data preparation with full audit trail. No data egress. No fragmented toolchains. EU AI Act Article 30 compliance built in.

    Keep reading