- Se clasificó todo SafeDocs usando LLMs, modelos de embeddings, XGBoost y regresores lineales.
- Durante el proceso de clasificación se realizaron diversos experimentos y comparaciones de rendimiento, y se evaluó el desempeño de varios modelos.
Introducción
- Common Crawl (CC) es un archivo web que archiva internet, con énfasis en preservarlo para científicos e investigadores.
- CC no almacena los archivos PDF completos, sino solo el primer 1 MB; SafeDocs vuelve a recuperar esos PDF desde CC y preserva los PDF originales.
- El dataset de SafeDocs está compuesto por aproximadamente 8.4 millones de archivos PDF y, al descomprimirse, alcanza 8 TB.
- Se intentó clasificar estos PDF.
Creación del dataset
- Se explica el proceso de clasificar archivos PDF con distintas etiquetas.
- Inspirándose en el blog técnico de FineWeb, se creó un subconjunto de contenido educativo, se generaron etiquetas usando un LLM y luego se entrenó un modelo pequeño capaz de aprenderlas.
- Se generaron 100k etiquetas y, tras ajustar el desbalance de etiquetas, se reconfiguraron en 59k etiquetas.
Entrenamiento del modelo
Idea 1: modelo de embeddings
- Los modelos de embeddings convierten datos como texto, imágenes y video en vectores dentro de un espacio de n dimensiones.
- Se mejoró el rendimiento de clasificación mediante fine-tuning.
- Tras probar varios modelos,
Alibaba-large-gte-1.5 fue el de mejor desempeño, con una precisión de 59.14%.
Idea 2: XGBoost
- XGBoost es un modelo de altísimo rendimiento para datos tabulares, y resuelve problemas de clasificación entrenando varios clasificadores binarios simples.
- Con este método se logró una precisión de 83.97%.
Idea 3: TFIDF
- TFIDF es un método para calcular qué tan importante es una palabra específica dentro de un documento, y se entrenó un modelo usando técnicas básicas de NLP.
- Registró una precisión de 67.52%.
Idea 4: volver al deep learning
- Se buscó una precisión mínima de 70% usando un clasificador de deep learning.
- Tras generar más etiquetas y experimentar con el modelo
gte-large, se alcanzó una precisión de 69.22%.
Resultados de los experimentos
- Finalmente, el modelo de embeddings con XGBoost registró la mayor precisión, con 85.26%.
- Al comparar el rendimiento de distintos modelos, XGBoost mostró el mejor desempeño.
Clasificación del corpus completo
- Se clasificó todo el conjunto de datos de PDF usando el modelo generado, y se visualizaron los resultados.
- Los resultados de clasificación se representaron visualmente usando PCA y UMAP.
Conclusión
- Aunque el rendimiento de los modelos de deep learning no alcanzó lo esperado, en general se lograron resultados significativos.
- Se espera que aparezcan cada vez más datasets a gran escala que utilicen datos complejos como los PDF.
- Al publicar el dataset y el código, se ofrece la oportunidad de obtener mejores resultados.
Opinión de GN⁺
- Este proyecto es un buen ejemplo de experimentar con distintos enfoques para el problema de clasificación en datasets de gran escala.
- Muestra que técnicas tradicionales de machine learning como XGBoost todavía pueden ser muy efectivas.
- Es posible que se hayan necesitado más datos y recursos de GPU para mejorar el rendimiento de los modelos de deep learning.
- Se necesita más investigación y experimentación sobre cómo procesar datos complejos como los PDF.
- Este proyecto puede ser una referencia muy útil para personas interesadas en investigación y desarrollo.
Aún no hay comentarios.