NVIDIA-Ingest (nv-ingest) 소개
NVIDIA-Ingest (nv-ingest)는 NVIDIA가 공개한 마이크로서비스로, PDF / Word / PowerPoint 등의 다양한 문서로부터 텍스트, 이미지, 표, 차트 등을 구분하여 추출하는 고성능 데이터 추출 마이크로서비스입니다. 추출한 데이터는 JSON 형태로 추출되며, 벡터 데이터베이스 중 하나인 Milvus와 통합하여 사용할 수 있습니다. NVIDIA-Ingest가 제공하는 주요 기능은 다음과 같습니다:
-
PDF, docx, pptx 문서의 텍스트, 이미지, 표, 차트를 추출
-
GPU 기반 병렬 처리를 활용한 고성능 데이터 처리
-
OCR(광학 문자 인식)을 통해 데이터를 문맥화하고 JSON으로 출력
-
Milvus(벡터 데이터베이스)와의 통합 지원
nv-ingest는 문서를 페이지 단위로 분리하고, 콘텐츠 유형에 따라 분류하여 병렬로 처리하는 구조를 채택하고 있습니다. 특히 PDF의 경우, PDFium, Unstructured.io, Adobe Content Extraction Services를 활용하여 정확도와 처리 속도의 균형을 제공합니다.
NVIDIA-Ingest의 주요 특징
-
다양한 문서 형식 지원: PDF, Word, PowerPoint 파일뿐만 아니라 이미지 처리까지 지원합니다.
-
유연한 추출 옵션: 문서별로 텍스트, 이미지, 표, 차트 등의 추출 방법을 자유롭게 선택할 수 있습니다.
-
벡터 데이터베이스 통합: 추출된 데이터를 벡터로 변환하여 Milvus에 저장 및 관리할 수 있습니다.
-
고성능 병렬 처리: NVIDIA GPU를 활용한 병렬 처리를 통해 높은 처리량과 효율성을 자랑합니다.
-
확장성과 유연성: NIM(NeMo Inference Microservices) 컨테이너 기반으로 구성되어 있으며, Docker Compose와 Kubernetes를 통한 배포를 지원합니다.
실행을 위한 요구조건
nv-ingest 실행을 위해서는 다음과 같은 하드웨어 및 소프트웨어 요구조건을 충족해야 합니다:
하드웨어 요구조건
GPU | Family | Memory | # of GPUs (min.) |
---|---|---|---|
H100 | SXM or PCIe | 80GB | 2 |
A100 | SXM or PCIe | 80GB | 2 |
소프트웨어 요구조건
- Linux operating systems (Ubuntu 22.04 or later recommended)
- Docker
- Docker Compose
- CUDA Toolkit (NVIDIA Driver >=
535
, CUDA >=12.2
) - NVIDIA Container Toolkit
라이선스
nv-ingest 프로젝트는 Apache-2.0 라이선스로 공개되어 있습니다. 단, 프로젝트에 포함된 외부 라이브러리의 경우 해당 라이선스를 따라야 합니다.
nv-ingest GitHub 저장소
https://github.com/NVIDIA/nv-ingest
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~