¿Cómo recopilar y depurar en la web un conjunto de datos para el ajuste fino de LLM? No gana el equipo que más extrae, sino el que mejor filtra.

Los equipos que deciden crear su propio sLLM, lo primero que suelen hacer es «crawling». Rastrean millones de páginas, presumen del volumen de texto y declaran: «Corpus asegurado». Y en cuanto cargan ese corpus en el modelo, este empieza a decir cosas extrañas: «Suscribirse», «las cookies...

10
¿Cómo recopilar y depurar en la web un conjunto de datos para el ajuste fino de LLM? No gana el equipo que más extrae, sino el que mejor filtra.
Índice

Lo primero que suele hacer un equipo que decide crear su propio sLLM es «hacer crawling». Raspan millones de páginas, presumen del volumen de texto y declaran: «Corpus asegurado». Y en cuanto cargan ese corpus en el modelo, este empieza a decir cosas extrañas: «Suscribirse», «¿Acepta las cookies?», «Ver más productos relacionados».

El modelo aprende lo que le das de comer. Si le das textos publicitarios, aprende textos publicitarios.

Un corpus no se extrae: se refina. No se trata de extraer mucho, sino de retirar bien lo que sobra.

El éxito o fracaso del fine-tuning no se decide en la GPU. Se decide en la mesa de refinamiento, antes de cargar los datos, al determinar «qué no se va a cargar».

TL;DR

  • En un corpus de fine-tuning, la cuestión principal no es la «recolección», sino el «refinamiento». Un montón de texto web y el texto fuente para entrenamiento son cosas distintas.
  • Si cargas ruido (anuncios, menús, duplicados) tal cual, el modelo aprende boilerplate y sufre sesgos de sobremuestreo. Es como gastar el presupuesto de entrenamiento en textos publicitarios.
  • La revisión de licencias y datos personales debe terminarse 'antes' del entrenamiento. Quitarlos después de cargarlos es prácticamente imposible.

Índice

  1. Por qué el «texto raspado» no es un corpus
  2. Pipeline de refinamiento en 9 etapas
  3. Comparación de 3 métodos de obtención
  4. Autodiagnóstico en 5 preguntas
  5. FAQ
  6. Conclusión
  7. Empezar ahora mismo

Por qué el «texto raspado» no es un corpus

Alineemos primero la definición.

Un corpus de entrenamiento es un «texto fuente refinado» que queda después de retirar el boilerplate del texto raspado de la web, eliminar duplicados y revisar licencias y datos personales. No es mineral en bruto, sino metal refinado.

El boilerplate son todos los elementos repetitivos que no forman parte del contenido principal. Encabezados, barras laterales, pies de página, banners de cookies, artículos relacionados, textos de botones de «Suscribirse». No son visibles para el ojo humano, pero para un crawler todo es texto.

El problema es este. En una página web, la proporción que ocupa el contenido real es menor de lo que parece. Todo lo demás es una carcasa repetitiva. ¿Qué ocurre si cargas esta carcasa tal cual?

El modelo reproduce con mayor confianza los patrones que ve con más frecuencia en los datos. Pero «Suscribirse» se repite en cada sitio y en cada página. El conocimiento de dominio que realmente debe aprender aparece una vez por página, mientras que la carcasa aparece diez mil veces. Como resultado, el modelo se convierte no en un experto del dominio, sino en un «lector de pies de página».

El modelo aprende lo que le das de comer. Aprende incluso el botón de «Suscribirse».

Pipeline de refinamiento en 9 etapas

La recolección es solo la primera etapa. Las 8 restantes determinan la calidad del corpus.

  1. Recolección — Se definen los dominios y URL objetivo y se obtiene el HTML fuente. Esto es solo el comienzo.
  2. Eliminación de boilerplate — Se retiran menús, anuncios, banners de cookies y textos repetitivos de UI, dejando solo el contenido principal. El primer fuego del refinamiento.
  3. Eliminación de duplicados cercanos — Se eliminan no solo documentos idénticos, sino también documentos «casi iguales». Aquí caen los sitios espejo que copian y pegan el mismo artículo, así como las descripciones de productos con distinta plantilla.
  4. Normalización de formato (JSONL) — Se unifica el texto desordenado en una estructura de una línea por documento (JSONL) que el pipeline de entrenamiento puede leer directamente.
  5. Revisión de licencias/derechos de autor — Se confirma si la fuente puede utilizarse en el entrenamiento. No debe hacerse después, sino aquí.
  6. Scrubbing de datos personales (eliminación de PII) — Se retira información de identificación personal, como nombres, datos de contacto y números de identificación. Una vez cargada, no puede revertirse.
  7. Filtrado de toxicidad/calidad — Se filtran expresiones perjudiciales, codificaciones rotas y texto sin sentido.
  8. Balanceo de dominios — Se ajustan las proporciones para evitar que una fuente o tema específico quede sobremuestreado. Si un sitio representa la mitad del corpus, el modelo imitará ese sitio.
  9. Cálculo de escala de tokens — Solo aquí se mide el volumen. Siempre con base en los datos 'después del refinamiento'.

El error más común aquí está en el punto 9. Si se cuentan los tokens antes del refinamiento, se obtiene una cifra inflada que incluye la carcasa. En la práctica ocurre que se presume de tener 10.000 millones de tokens y, al retirar la carcasa, quedan 3.000 millones.

Cuenta los tokens después de terminar el refinamiento. Antes de eso, la cifra inflada incluye incluso la carcasa.

Y no pospongas jamás los puntos 5 y 6. Las licencias y los datos personales deben procesarse 'antes' del entrenamiento. La información que se ha incorporado una vez a los pesos del modelo no puede extraerse seleccionando únicamente frases concretas. No es solo que la eliminación posterior sea difícil: en la práctica, no hay alternativa salvo reentrenar.

Termina las licencias y los datos personales antes del entrenamiento. Después de cargarlos, no pueden retirarse.

Comparación de 3 métodos de obtención

Hay tres caminos para conseguir un corpus. Cada uno tiene fortalezas y debilidades claras.

Eje Datasets abiertos Recolección y refinamiento propios Entrega de corpus gestionado
Escala Grande (alto volumen público) Depende de la capacidad del equipo Adaptada a la escala requerida
Adaptación al dominio Baja (uso general) Alta Alta
Revisión de licencias Varía según el dataset Responsabilidad propia Entrega tras completar la revisión
Refinamiento de duplicados/PII Varía según el dataset Responsabilidad propia (construcción del pipeline) Refinamiento completado
Carga de mantenimiento Baja Alta (operación y actualización completas) Baja (subcontratación)

Los datasets abiertos son excelentes como punto de partida. Son públicos y tienen gran escala. Sin embargo, no se ajustan exactamente a nuestro dominio, y como el nivel de licencias y refinamiento varía según el dataset, queda pendiente la tarea de «validarlos».

La recolección y refinamiento propios ofrecen la mayor adaptación al dominio. Podemos raspar los sitios que queremos con la profundidad que queremos. Pero, a cambio, hay que construir y operar directamente el pipeline de 9 etapas anterior. Aquí es donde la mayoría de los equipos fracasan en los puntos 2, 3 y 6.

La entrega de corpus gestionado consiste en recibir un corpus refinado tras completar desde la recolección hasta la revisión de licencias. Permite combinar adaptación al dominio y baja carga de mantenimiento, pero implica un coste de subcontratación proporcional. El panorama de los servicios coreanos de recolección de datos tiene matices distintos según el método; si quieres ver este mapa con mayor amplitud, consulta Comparación de servicios coreanos de recolección de datos — el verdadero mapa de 2026.

Hashscraper corresponde al tercer método. Sobre la base de experiencia recolectando más de 5.000 sitios coreanos y una infraestructura de proxies en 195 países, obtiene texto fuente con una precisión del 99,7 % y lo entrega tras completar las 9 etapas de refinamiento anteriores. La razón por la que ha trabajado con más de 500 empresas y mantenido 0 problemas legales es que incorpora la revisión de licencias al pipeline, no la deja «para después».

Autodiagnóstico en 5 preguntas

Comprueba lo siguiente en el corpus que estás preparando.

  • [ ] ¿Hemos retirado realmente los textos de anuncios, menús y banners de cookies de nuestro corpus?
  • [ ] ¿Hemos eliminado duplicados incluso entre documentos «casi iguales» (espejos, copias y pegados, plantillas)?
  • [ ] ¿Hemos terminado la revisión de licencias y derechos de autor 'antes' del entrenamiento?
  • [ ] ¿Hemos hecho scrubbing de la información de identificación personal y no queda nada que no hayamos podido eliminar?
  • [ ] ¿Hemos vuelto a contar la escala de tokens con base en los datos 'después del refinamiento'?

Si no puedes marcar al menos 3, lo que estás a punto de cargar no es un corpus, sino un montón de carcasas.

FAQ

P. ¿Cómo se recopila y refina desde la web un dataset de entrenamiento para fine-tuning de LLM?
R. La recolección es solo el comienzo; la cuestión principal es el refinamiento. Después de obtener el HTML fuente, hay que procesarlo en este orden: eliminación de boilerplate → eliminación de duplicados cercanos → normalización al formato JSONL → revisión de licencias → scrubbing de datos personales → filtrado de toxicidad/calidad → balanceo de dominios → cálculo de escala de tokens. Solo así se convierte en «texto fuente refinado» utilizable para entrenamiento. Entre estos pasos, la revisión de licencias y datos personales debe terminarse obligatoriamente antes del entrenamiento.

P. ¿No es un buen corpus simplemente raspar mucho contenido?
R. No. La calidad la determina el nivel de refinamiento, no la cantidad. Si cargas ruido tal cual, el modelo aprende repetidamente textos publicitarios y cae en sesgos de sobremuestreo de fuentes específicas. La escala debe medirse después de terminar el refinamiento.

P. ¿No se pueden retirar más tarde las licencias o los datos personales?
R. Es prácticamente imposible. La información incorporada una vez a los pesos del modelo no puede eliminarse seleccionando solo frases concretas, por lo que no hay alternativa salvo reentrenar. Por eso ambas revisiones deben situarse al inicio del pipeline.

P. ¿Cómo se gestiona y utiliza un corpus refinado después de crearlo?
R. La cuestión de cargar realmente el corpus en las tareas internas de la empresa y actualizarlo después es otro tema distinto. Se trata por separado en un artículo dedicado al uso del conocimiento interno.

Conclusión

El punto en que suelen fracasar los proyectos de fine-tuning no está frente a la GPU. Ocurre antes: en el momento en que se introduce en el modelo toda la carcasa sin separar nada. Un corpus se decide por la calidad del refinamiento, no por el volumen extraído. No gana el equipo que más raspa, sino el que mejor retira lo que sobra.

Hay tres ideas clave: que el refinamiento es lo principal, que si cargas ruido el modelo aprende ruido, y que las licencias y los datos personales deben resolverse antes del entrenamiento. Con solo respetar estas tres, no desperdiciarás el presupuesto de entrenamiento en textos publicitarios.

No gastes el presupuesto de entrenamiento en textos publicitarios. Ese presupuesto debe destinarse al conocimiento de dominio.

Empezar ahora mismo

Definiremos sitios adecuados para nuestro dominio y te acompañaremos hasta recibir un corpus refinado mediante las 9 etapas anteriores. Experiencia recolectando más de 5.000 sitios coreanos, proxies en 195 países, precisión del 99,7 % y 0 problemas legales. Entregamos el corpus incorporando la revisión de licencias al pipeline. Ofrecemos 50.000 créditos al registrarte.

Consultar sobre crawling y monitorización

El flujo para ampliar los datos recopilados hacia un ciclo de alertas y respuesta continúa en el artículo La monitorización no es recolección, sino alertas — crear un ciclo de respuesta con datos de precios y reputación.

Comentarios

Añadir comentario

Tu correo no se publicará y solo se usará para avisarte de las respuestas.

Sigue leyendo

Get notified of new posts

We'll email you when 해시스크래퍼 기술 블로그 publishes new content.

Your email will only be used for new post notifications.