GN⁺: 수백만 개의 PDF를 처리하는 방법과 Gemini 2.0이 모든 것을 바꾸는 이유
(sergey.fyi)- PDF를 텍스트 청크로 변환(chucking)하는 과정은 대규모 RAG 시스템 구축 시 가장 골치 아픈 문제 중 하나임
- 오픈소스, 상용 솔루션이 모두 존재하지만, 정확도·확장성·비용 효율성 측면에서 만족스러운 결과를 내기는 어려운 상태임
- 예: NVIDIA의 nv-ingest는 여러 서비스를 쿠버네티스 클러스터로 구성해야 하고, GPU 자원을 많이 소모하는 복잡한 방식임
- 일부 상용 서비스도 비용 대비 정확도가 부족하거나, 대규모 문서에 적용하기엔 가격이 천문학적으로 상승하는 문제가 있음
Gemini Flash 2.0의 등장
- 대규모 모델(LLM)을 OCR·PDF 변환 등에 활용하려는 시도가 있었지만, 실제 비용 절감 효과가 미미하고 예측 불가능한 오류가 많았음
- 예: GPT-4o가 테이블에 불필요한 셀을 추가하는 사례가 보고됨
-
Gemini Flash 2.0은 1.5 Flash 버전에 비해 현저히 향상된 정확도와 비용 효율성을 내는 것으로 평가됨
- 내부 테스트 결과, 거의 완벽한 OCR 정확도를 달성하면서 비용은 매우 저렴함
- Google의 개발자 경험(Developer Experience)은 OpenAI보다 다소 뒤처진다는 평가가 있지만, 합리적인 가격은 큰 강점임
비용 및 정확도 비교
- PDF를 Markdown 형식으로 변환해낼 때, Gemini Flash 2.0이 페이지당 처리 비용 측면에서 우수함
- 2.0 Flash: 약 6,000페이지/$1
- 2.0 Flash Lite: 약 12,000페이지/$1 (테스트 전)
- 1.5 Flash: 약 10,000페이지/$1
- AWS Textract: 약 1,000페이지/$1
- OpenAI 4o-mini: 약 450페이지/$1 등
- 테이블 추출 정확도를 살펴보면, Reducto 자체 모델이 0.90으로 가장 높았고, Gemini 2.0 Flash와 Anthropic Sonnet이 0.84 수준을 보였음
- Gemini가 틀린 것으로 보이는 사례들은 대부분 구조적 형식 문제였고, 실제 숫자를 잘못 인식하는 경우는 적었음
- 그 외 텍스트 추출은 거의 완벽에 가깝게 동작함
문서 분할(Chunking)과 LLM 활용
- RAG 파이프라인에 활용하기 위해서는 추출된 텍스트를 의미 단위로 쪼개는 과정이 필요함
- 대형 LLM을 이용하면 텍스트 경계를 더 자연스럽게 잡아낼 수 있다는 연구 결과가 있음
- 다만 지금까지는 비용이 너무 높아 실제 대규모 문서 세트에 적용하기 어려웠음
- Gemini Flash 2.0 덕분에 LLM 기반 청크 분할을 대규모 문서에도 저렴하게 적용할 수 있게 됨
- 예: 1억 페이지 규모의 PDF 코퍼스를 약 $5,000에 처리 가능함
- 간단한 예시 프롬프트:
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.
Bounding Box 문제
- PDF에서 텍스트 위치 정보(예: Bounding Box)를 유지해야, 사용자에게 정확한 근거를 제공할 수 있음
- Markdown으로 변환 시 위치 정보가 손실되는 것은 큰 단점임
- 일부 연구에서 LLM이 이미지·문서 내 공간적 이해도 가능하다는 예시가 있었으나, 현재 Gemini 모델은 정확한 Bounding Box를 제공하지 못하는 상태임
- Google이 추가 학습이나 Fine-tuning을 통해 문서 레이아웃 데이터를 강화한다면 해결될 가능성이 있음
이유와 중요성
- 저렴하고 정확한 PDF 추출 및 분할 솔루션은 대규모 문서 인덱싱 파이프라인을 단순화하고 확장성을 높이는 핵심 요소임
- parsing, chunking, bounding box 문제를 해결하면 LLM 기반 문서 처리가 훨씬 수월해질 전망임
- 향후 완성도 높은 오픈소스 라이브러리가 속속 등장할 것으로 보이며, 이는 다양한 기업과 개발자들이 손쉽게 활용할 수 있는 기반이 될 것임
- Google의 AI Startup 크레딧 프로그램 관련 정보를 알고 있는 사람이 있다면 연락을 희망함
주석
- [1] Reducto vs Gemini vs 원본 PDF를 비교한 예시 이미지를 첨부함
- [2] Gemini Flash 2.0 비용 계산: 입력 이미지 비용 $0.00009675, 400 토큰당 $0.0000525 출력 비용 기반으로, 대략 6,379페이지/$1 산정함