- Convertir PDF en fragmentos de texto (
chunking) es uno de los problemas más complicados al construir sistemas RAG a gran escala - Existen soluciones tanto de código abierto como comerciales, pero sigue siendo difícil obtener resultados satisfactorios en términos de precisión, escalabilidad y eficiencia de costos
- Ejemplo: nv-ingest de NVIDIA requiere configurar varios servicios en un clúster de Kubernetes y es un enfoque complejo que consume muchos recursos de GPU
- Algunos servicios comerciales también tienen una precisión insuficiente para su costo, o su precio se dispara a niveles astronómicos cuando se aplican a documentos a gran escala
La llegada de Gemini Flash 2.0
- Había intentos de usar modelos grandes (LLM) para OCR y conversión de PDF, pero en la práctica el ahorro de costos era mínimo y había muchos errores impredecibles
- Ejemplo: se reportaron casos en los que GPT-4o agregaba celdas innecesarias en tablas
- Gemini Flash 2.0 es evaluado como notablemente superior a la versión 1.5 Flash en precisión y eficiencia de costos
- Según pruebas internas, logra una precisión de OCR casi perfecta con un costo muy bajo
- Aunque la experiencia para desarrolladores (Developer Experience) de Google es considerada algo inferior a la de OpenAI, su precio razonable es una gran ventaja
Comparación de costo y precisión
- Al convertir PDF a formato Markdown, Gemini Flash 2.0 destaca en costo de procesamiento por página
- 2.0 Flash: aprox. 6,000 páginas/$1
- 2.0 Flash Lite: aprox. 12,000 páginas/$1 (antes de pruebas)
- 1.5 Flash: aprox. 10,000 páginas/$1
- AWS Textract: aprox. 1,000 páginas/$1
- OpenAI 4o-mini: aprox. 450 páginas/$1, entre otros
- En precisión de extracción de tablas, el modelo propio de Reducto fue el más alto con 0.90, y Gemini 2.0 Flash y Anthropic Sonnet mostraron un nivel de 0.84
- La mayoría de los casos en los que Gemini parecía fallar eran problemas de formato estructural, y eran pocos los casos en que reconocía mal los números reales
- La extracción del resto del texto funciona casi de manera perfecta
Segmentación de documentos (chunking) y uso de LLM
- Para usarlo en un pipeline RAG, es necesario dividir el texto extraído en unidades de significado
- Hay estudios que muestran que, con LLM grandes, se pueden detectar los límites del texto de manera más natural
- Sin embargo, hasta ahora el costo era demasiado alto para aplicarlo a conjuntos documentales realmente grandes
- Gracias a Gemini Flash 2.0, ahora es posible aplicar segmentación en fragmentos basada en LLM a documentos a gran escala con bajo costo
- Ejemplo: es posible procesar un corpus de PDF de 100 millones de páginas por unos $5,000
- Ejemplo simple de prompt:
OCR the following page into Markdown. Tables should be formatted as HTML.
Do not sorround your output with triple backticks.Chunk the document into sections of roughly 250 - 1000 words. Our goal is
to identify parts of the page with same semantic theme. These chunks will
be embedded and used in a RAG pipeline.Surround the chunks with <chunk> </chunk> html tags.
El problema de los Bounding Box
- Es necesario conservar la información de posición del texto en el PDF (por ejemplo, Bounding Box) para poder ofrecer al usuario una referencia precisa
- La pérdida de información de posición al convertir a Markdown es una gran desventaja
- Algunos estudios mostraron ejemplos de que los LLM pueden comprender relaciones espaciales en imágenes y documentos, pero los modelos actuales de Gemini todavía no pueden proporcionar Bounding Box precisos
- Si Google fortalece los datos de diseño documental mediante entrenamiento adicional o fine-tuning, es posible que esto se resuelva
Razón e importancia
- Una solución barata y precisa para extracción y segmentación de PDF es un elemento clave para simplificar los pipelines de indexación documental a gran escala y mejorar su escalabilidad
- Si se resuelven los problemas de parsing,
chunkingy bounding box, el procesamiento documental basado en LLM será mucho más sencillo - Es probable que pronto aparezcan bibliotecas de código abierto cada vez más completas, lo que servirá como base para que distintas empresas y desarrolladores las aprovechen fácilmente
- Si alguien conoce información relacionada con el programa de créditos AI Startup de Google, se agradecerá que se ponga en contacto
Notas
- [1] Se adjunta una imagen de ejemplo comparando Reducto vs Gemini vs el PDF original
- [2] Cálculo de costo de Gemini Flash 2.0: con base en un costo de imagen de entrada de $0.00009675 y un costo de salida de $0.0000525 por 400 tokens, se estiman aproximadamente 6,379 páginas/$1
2 comentarios
En términos de costo o rendimiento, parece que el agent chunking sí podría ser bastante efectivo.
El mercado para convertirlos a un formato listo para LLM está muy competido.