Saltar al contenido
Sırdaş

Datasets para entrenar modelos · 100 % local

De una carpeta de PDF a un dataset auditado. Sin subir nada.

Afinar un modelo o montar un RAG con documentos de clientes exige construir un conjunto de datos, y hoy eso significa subir los PDF a un servicio o montar un pipeline de Python pensado para terabytes de web. Sırdaş hace la cadena completa en tu navegador o en tu terminal: convierte, anonimiza, deduplica, reparte por documento y exporta en el formato que tu entrenador espera.

La cadena completa, sin salir de tu equipo

Los conversores de PDF terminan en Markdown y los curadores de corpus empiezan en JSONL. El puente entre ambos, con procedencia, reparto por documento y rastro de anonimización, es lo que construimos.

  1. PDF · DOCX · HTML
  2. Markdown
  3. Anonimizar
  4. Deduplicar
  5. Repartir por documento
  6. JSONL

Cuatro errores que casi nadie evita

Cada uno tiene literatura que lo documenta. Cada uno tiene un paso en el pipeline que lo corrige.

01

Duplicados: el modelo memoriza en vez de aprender

Más del 1 % de lo que genera un modelo entrenado con corpus públicos es texto copiado literal. Una carpeta de contratos con la misma plantilla es el caso extremo.

Deduplicar reduce diez veces el texto memorizado y necesita menos pasos de entrenamiento para la misma calidad.

Lo que hacemos

MinHash + LSH sobre 5-gramas, 128 firmas, umbral 0,8, verificación final con Jaccard exacto.

Lee et al., ACL 2022
02

Contaminación: la métrica deja de medir

Si un fragmento del conjunto de evaluación está en el de entrenamiento, la puntuación mide memoria, no aprendizaje. Llama 3 publicó benchmarks contaminados hasta un 98 %.

GPT-3 fijó el método: solapamiento de 13-gramas, descartando los que aparecen en más de 10 documentos.

Lo que hacemos

sirdas contamination, con 13-gramas por defecto y el fragmento literal que coincidió en el informe, para que se pueda comprobar.

Brown et al., GPT-3, apéndice C
03

Fuga por troceado: el error silencioso

Si troceas primero y repartes después, dos fragmentos del mismo contrato acaban uno en entrenamiento y otro en prueba. La métrica mejora y miente.

Kapoor y Narayanan contabilizan 329 artículos afectados por fugas en 17 campos.

Lo que hacemos

El reparto va siempre por documento, es estable (misma semilla, mismo reparto) y añadir un documento no mueve a los que ya estaban.

Kapoor y Narayanan, 2022
04

Datos personales que el modelo acaba recitando

De GPT-2 se extrajeron nombres, teléfonos y correos que aparecían en un solo documento del corpus. Y los modelos grandes son más vulnerables.

Nadie detecta identificadores genéricos de forma fiable: los anotadores humanos de StarCoder llegaron al 53 %. Nuestra anonimización es de reglas y también puede fallar.

Lo que hacemos

Anonimización activada por defecto, con recuento de sustituciones y aviso si la desactivas. Reversible con el mapa, que se queda contigo.

Carlini et al., USENIX 2021

Sale en el formato que tu entrenador espera

Cada entrenador espera un esquema distinto y el error se ve tarde. Los nombres de campo están verificados contra la documentación oficial.

FormatoQuién lo consumeCampos
textPreentrenamiento continuado (TRL)text
chatTRL, Unsloth, afinado de OpenAImessages[{role, content}]
prompt-completionTRLprompt, completion
alpacaAxolotl, LLaMA-Factory, Unslothinstruction, input, output
sharegptEntrenadores de chatconversations[{from, value}]
langchainCadenas y bases vectorialespage_content, metadata
llamaindexTextNode con id estableid_, text, metadata
embeddingsPinecone, Qdrant, pgvector, Chromaid, text, metadata
train / validation / testCualquiera, con tarjeta de Hugging Face (--hf)tres archivos + README.md
RLVR (sirdas rl)GRPOTrainer y recompensa verificableprompt, ground_truth

En el navegador o en tu terminal

La herramienta web sirve para una carpeta. Para miles de documentos, la CLI hace lo mismo en tu máquina, con salida --json para scripts.

Ver la CLI

Convierte, anonimiza, deduplica y reparte. Con --hf salen train/validation/test y la tarjeta de Hugging Face.

npx sirdas dataset docs/*.pdf --format chat --split --hf -d dataset/
npx sirdas dataset contratos/*.docx --format alpaca --strip-boilerplate -d ds/

Lo que no vamos a construir

Y por qué. Todo lo que exige mandar tus documentos a un modelo contradice la razón de ser del producto.

Qué existe ya, y qué no

Hay una línea divisoria nítida: los conversores terminan en Markdown y los curadores empiezan en JSONL.

HerramientaLocalDedupContaminaciónPIIExporta a entrenamiento
unstructured, Docling, marker, nougat
LlamaParseno, nube
datatrove (HF)sí, Pythonregex
dolma (AI2)sí, Python + Rustregex
NeMo Curatorsí, Python + CUDAPresidio
text-dedupsí, Python
Sırdaşnavegador / Nodesí, reversible

jsonlkit.com ya hace deduplicación, enmascarado de PII y detección de fugas en el navegador; lo que no tiene es la ingesta de PDF. Las técnicas (MinHash, LSH, n-gramas, reparto por grupos) llevan años publicadas: lo nuevo es que corran sobre tus PDF sin instalar nada y sin que el archivo salga del equipo. Investigación completa, con fuentes, en el documento enlazado abajo.

Leer la investigación completa (con fuentes)

Para leer antes de empezar

Los tres artículos que explican, con citas, en qué se equivoca casi todo el mundo la primera vez.

Blog

Preguntas frecuentes

¿Necesito instalar Python o Node?
No para la web: sueltas los PDF y descargas el JSONL. La CLI necesita Node 20 y se ejecuta con npx sin instalar nada más.
¿Cuántos documentos aguanta el navegador?
Depende de la memoria de tu equipo; una carpeta de decenas de PDF va bien. Para miles, la CLI hace lo mismo en tu máquina, sin subirlos a ningún sitio.
¿Genera preguntas a partir de mis documentos?
No. Eso exigiría mandar tu texto a un modelo. Lo que sí genera sin modelo son pares de recompensa verificable a partir de tablas (sirdas rl), con respuesta única e impresa en la página.
¿Puedo revisar antes de descargar?
Sí. Ves las primeras líneas del JSONL, los tokens, la mediana por registro, cuántos datos personales se sustituyeron y cuántos duplicados salieron.
¿Y los escaneos?
Pásalos primero por el OCR local de PDF a Markdown, que también corre en tu dispositivo. Después entran en el dataset como cualquier otro.
¿Es gratis?
Sí, para las personas. Las empresas pagan por consola de equipo, plantillas compartidas, instalación propia y contrato de tratamiento de datos.

Suelta tu carpeta de PDF.

Sale un JSONL que puedes auditar, con tus datos exactamente donde estaban: en tu equipo.

Construir un dataset ahora