LLM에 RAG 설정 도전기 (결론은 어려움)





PDF 기반 RAG 시스템 구축 기록


PDF 기반 RAG 시스템 구축 기록

1. 시작 단계: 목표와 초기 구성

  • 목표: 대량 PDF 과학 논문을 기반으로 LLM이 질의응답, 요약, 통계 기능 수행
  • 초기 환경:
    • OS: Mac Studio M1 Max 64GB (테스트), 이후 Ubuntu 24.04 서버
    • CPU/GPU: Mac Studio M1 Max 10코어 CPU + 32코어 GPU, 서버: Threadripper 2920X + RTX 3090 24GB
    • 저장소: 수만~십만 PDF 파일, 경로: /8TB/arxiv_papers
  • 기본 전략:
    1. PDF 텍스트 추출
    2. 이미지 및 도표 OCR 처리
    3. 임베딩 후 벡터 DB(ChromaDB)에 저장
    4. LLM 연동하여 RAG 구성

2. 초기 시도와 문제점

  • PDF 텍스트 추출: PyMuPDF, pdfplumber 사용 → 도표, 수식, 캡션 누락
  • 이미지/표 OCR: PaddleOCR, EasyOCR → GPU 활용률 낮음, CPU 의존도 높음
  • 임베딩: OpenAI, HuggingFace → 깨진 문자, 임베딩 품질 낮음 → 검색 정확도 저하
  • 병목: 멀티프로세싱 시 CUDA 초기화 문제, 대량 PDF 처리 시 메모리 과부하

3. Mac Studio 64GB 기반 테스트

  • Mac Studio M1 Max 64GB 모델에서 초기 OCR, PDF 텍스트 추출, 임베딩 테스트
  • LLaVA-Next 모델 로컬 실행 가능 여부 검증
  • PDF 샘플 임베딩 후 ChromaDB 연동, 자동화 스크립트(ai_pipeline.py) 초기 버전 테스트
  • 성공적인 기능 검증 후, 대규모 처리와 GPU 최적화를 위해 Ubuntu + RTX 3090 서버 환경으로 확장
  • 교훈: Mac Studio는 소규모 테스트 및 모델 검증에 적합, 대규모 운영은 RTX 3090 서버 필수

4. 개선과 성공 사례

4-1. OCR + 이미지 분석 개선

  • 멀티프로세싱 구조를 spawn 방식으로 변경하여 GPU 활용률 개선
  • LLaVA-Next 모델로 이미지 캡셔닝 + 도표 해석 → 텍스트와 함께 저장
  • EasyOCR로 표와 수식 추출 보완

4-2. PDF 텍스트 처리

  • 텍스트 추출 시 구조적 정보 유지: 섹션, 캡션, 표 헤더 포함
  • 깨진 문자 처리: 정규식 + 문장 단위 클린징

4-3. 임베딩 및 RAG

  • 임베딩 모델: LLaMA 계열 + HuggingFace 모델
  • 벡터 DB: ChromaDB
  • RAG 성공 사례:
    • 논문 질의응답 정확도 80% 이상
    • 도표, 수식 질의 가능
    • 연속 학습 없이도 최신 PDF 추가 가능

5. 사용 장비 및 환경

항목 상세
OS Mac Studio M1 Max 64GB (테스트), Ubuntu 24.04 서버
CPU Mac Studio 10코어 CPU, Threadripper 2920X
GPU Mac Studio 32코어 GPU, RTX 3090 24GB, RTX 2060 8GB (보조)
저장소 8TB 이상 PDF 파일
DB ChromaDB
모델 LLaVA-Next 7B, LLaMA 계열, HuggingFace 임베딩 모델
OCR EasyOCR, PaddleOCR
기타 멀티프로세싱, spawn 초기화 구조, Docker 기반 서비스

6. 최근 진행 상황

  • PDF + 이미지 + 도표 + 수식 통합 분석 가능
  • 자동화 스크립트: PDF → OCR → 임베딩 → ChromaDB → LLM 연동
  • WordPress 업로드 자동화 테스트 진행 중
  • GPU 최적화 완료 → RTX 3090 100% 활용 가능

7. 실패와 교훈

  • CPU 중심 OCR → 처리 속도 느림
  • 멀티프로세싱 시 CUDA 충돌 → spawn 구조로 해결
  • PDF 구조 다양성 → 구조 유지 전처리 필요
  • 교훈: GPU 활용 최적화 없이는 대규모 PDF 분석 불가, OCR+LLM 조합 시 데이터 정합성 중요

8. 결론

  • PDF 기반 RAG는 텍스트 + 이미지 + 도표 통합 처리 필수
  • 멀티프로세싱 + GPU 최적화 필수
  • ChromaDB + LLaVA 연동으로 질의응답, 요약, 자동 통계 가능
  • 현재 시스템은 수십만 논문 처리 가능하며, 새로운 PDF 추가 시 자동 RAG 갱신 가능


Read more

ollama Cloud oss120B급  병렬 분석 효율 분석: 1개 vs 8개 워커 비교

ollama Cloud oss120B급 병렬 분석 효율 분석: 1개 vs 8개 워커 비교

대규모 학술 논문 아카이브 KOINEU.com의 V3 파이프라인 구축 과정에서 얻은 데이터 분석 속도 최적화 사례를 공유합니다. 25만 건의 방대한 논문을 분석하기 위해 Ollama Cloud의 oss120b 모델을 어떻게 효율적으로 활용했는지에 대한 기술 리포트입니다.. 1. 실험 개요 초거대 모델(120B)은 압도적인 분석 능력을 자랑하지만, 단일 요청 시 처리 시간이 길다는

By ilikeafrica
다이소 겨자잎, 루꼴라 씨앗 발아 3일차

다이소 겨자잎, 루꼴라 씨앗 발아 3일차

역시 씨앗은 한번 발아하면 참 놀랍도록 빠르다. 타임랩스를 찍어보고 싶었는데 이젠 그럴 만한 디바이스가 없다. 모조리 당근행 해버린 관계로 집에 남아있는게 별로 없다. ㅋㅋ 언제 떠날지 또 미지수인 관계로 그 날까지는 뭔가 즐길거리를 찾아야 한다. 겨자잎에 삼겹살 한번이라도 싸먹고 나가게 될까... 겨자잎 안먹어도 좋으니 언능 정리되고 배낭 싸고 싶다..

By ilikeafrica