LLM을 활용한 대규모 구조화 문서 데이터 추출의 과제
대규모 언어 모델(LLMs)을 적용할 때의 핵심 과제 중 하나는 데이터 처리 단계, 특히 다양한 데이터 형식을 다룰 때에 있습니다. 일반적으로 데이터는 정형, 반정형, 비정형의 세 가지 유형으로 분류할 수 있습니다. LLM은 주로 텍스트를 다루기 때문에, 데이터가 이미 관계형 테이블로 구성되어 있지 않은 한 비정형 데이터에 적용되는 경우가 많습니다.
최근 웨비나에서 Zilliz의 Principal Developer Advocate인 Tim Spann은 비정형 데이터 추출을 간소화하고 이를 정형 형식으로 변환하도록 설계된 오픈 소스 플랫폼인 Unstract를 소개했습니다. 이 도구는 구조화 프로세스를 자동화하여 데이터 관리를 단순화하는 것을 목표로 합니다.
이 블로그에서는 Unstract의 공동 창업자이자 CEO인 Shuveb Hussain이 설명한 정형 문서 데이터 추출의 주요 과제를 자세히 살펴보겠습니다. 또한 Milvus와 같은 벡터 데이터베이스와의 통합을 포함하여, Unstract가 이전에는 관리하기 어려웠던 데이터에 구조를 부여하기 위해 다양한 시나리오를 어떻게 처리하는지도 알아보겠습니다.
현재의 한계
데이터를 구조화하는 일은 오래전부터 복잡하고 시간이 많이 걸리는 작업이었습니다. 특히 머신러닝 모델이 점점 더 많은 양의 데이터를 요구하면서 더욱 그렇습니다. 역사적으로 이러한 추출 작업의 상당 부분은 자동화가 모델의 다양한 요구를 완전히 충족할 수 없었기 때문에, 스캔된 손글씨 문서의 경우처럼 수작업으로 이루어졌습니다.
대규모 언어 모델(LLMs)은 문서에서 정보를 분석하고 추출하는 능력을 발전시켰지만, 뚜렷한 한계가 있습니다. 문서는 표, 양식, 차트, 스캔본 등 다양한 형식으로 나타나는 경우가 많으며, 데이터의 품질과 일관성은 성공적인 추출에 중요한 역할을 합니다. 또한 많은 애플리케이션은 방대한 양의 문서를 처리해야 하며, 모든 문서가 동일한 구조를 따르는 것은 아닙니다. 이로 인해 추출 과정에서 추가적인 사용자 정의가 필요할 수 있는데, LLM은 사람의 개입 없이는 매우 가변적이거나 복잡한 레이아웃을 처리하는 데 어려움을 겪을 수 있기 때문입니다.
그림 1: 데이터 구조화 과제
그림 1은 정형 문서 데이터 추출의 현재 발전 현황을 보여주는 과제 버블 차트를 나타냅니다. 이 차트는 세 가지 핵심 영역을 강조합니다:
현재 기술로 성공적으로 해결된 소규모 사용 사례 집합.
시장의 상당 부분은 대규모 언어 모델(LLMs)에 의해 적극적으로 다루어지고 있습니다.
아직 열려 있는 해결되지 않은 비즈니스 사례의 막대한 잠재력. 이러한 사례들은 다양한 기술의 발전에 따라 향후 해결될 수 있습니다.
이 시각화는 현재 달성 가능한 것과 AI 에이전트 애플리케이션 개발과 같은 가까운 미래의 잠재적 돌파구 사이의 격차를 강조합니다.
문서 추출
LLM을 사용해 문서에서 텍스트를 추출해 본 사람이라면 누구나 몇 줄의 코드만으로 필요한 모든 정보를 얻는 것이 얼마나 어려운지 알고 있습니다. Co-pilots와 같은 도구가 이 과정에 도움을 줄 수는 있지만, 완전 자동화된 솔루션을 제공하기에는 부족한 경우가 많습니다. 추출된 데이터가 항상 원하는 구조를 갖추는 것은 아니며, 정보를 올바른 형식으로 정리하기 위해 사람의 개입 단계가 자주 필요합니다.
이것이 바로 Unstract가 사람의 감독 없이 비정형 문서를 정형 데이터로 변환할 수 있는 완전 자동화 솔루션을 제공하는 지점입니다. Unstract는 정보를 추출하기 위해 LLM 기반 기술을 사용합니다.
Figure 2: Document Extraction
Unstract Cloud
Unstract는 지능형 문서 처리(IDP) 범주에 속하는 노코드 LLM 플랫폼입니다. 이 플랫폼은 프로세스를 두 가지 주요 단계로 나누어 문서 추출을 간소화합니다:
프롬프트 엔지니어링: Unstract의 Prompt Studio를 통해 사용자는 특정 문서 유형에 대한 범용 프롬프트를 개발할 수 있으며, 그런 다음 동일한 유형의 다른 문서에서 정형 데이터를 추출하는 데 재사용할 수 있습니다.
배포 단계: 프롬프트가 생성되면 ETL 파이프라인, API 엔드포인트 또는 추가 검토를 위한 수동 검토 대기열의 일부 등 다양한 방식으로 배포할 수 있습니다.
Unstract는 정확한 데이터 추출을 달성하기 위해 두 가지 접근 방식을 제공합니다:
향상된 정확도(LLM Challenge): 이 방법은 하나의 LLM으로 문서를 처리하고 두 번째 LLM을 사용해 첫 번째 LLM의 출력을 검증하도록 하는 방식입니다. 두 모델이 합의에 도달하지 못하면 추출 중인 특정 필드는 null로 설정되어 잘못된 데이터가 채워질 위험을 방지합니다. 서로 다른 공급업체의 두 모델이 동일한 잘못된 출력을 생성할 가능성은 낮기 때문에 환각 위험을 크게 줄입니다.
비용 절감
SinglePass Extraction: 개별 필드에 대해 여러 프롬프트를 보내는 대신, 이 접근 방식은 모든 프롬프트를 단일 요청으로 통합합니다. LLM은 한 번의 처리로 필요한 모든 필드를 포함하는 JSON 출력을 반환하여 토큰 사용량과 지연 시간을 줄입니다.
Summarized Extraction: 이 방법은 사용자의 프롬프트를 기반으로 LLM을 사용해 입력 문서의 요약을 생성합니다. 그런 다음 이 요약을 사용해 필요한 필드를 추출하여 토큰 사용량을 최적화하고 지연 시간을 더욱 줄입니다.
Figure 3: Unstract Extraction Strategies
Figure 4와 5는 Single Pass Extraction 프로젝트의 예를 보여주며, 여기서 여러 프롬프트가 결합되어 단일 JSON 출력을 얻는 것을 확인할 수 있습니다.
Figure 4: Unstract Prompt Studio (Document Parser)
Figure 5: Unstract Prompt Studio (Combined Output)
또한 사용자는 추출 프로세스를 맞춤화하기 위해 다양한 옵션을 구성할 수 있습니다. 여기에는 Milvus 또는 Zilliz Cloud와 같은 벡터 데이터베이스를 선택해 벡터 임베딩을 저장하고 검색하는 것, 비용이나 지연 시간과 같은 출력을 비교하기 위해 두 번째 LLM 모델을 선택하는 것, 또는 정확도가 비용보다 우선인 경우 challenge LLM 옵션을 선택하는 것이 포함됩니다.
Figure 6: Unstract Prompt Studio: Settings
설정이 정의되고 텍스트 추출 결과가 만족스러우면 워크플로를 도구로 내보내고(Figure 7), 배포할 워크플로를 선택한 다음(Figure 8), API 엔드포인트를 얻을 수 있습니다(Figure 9).
Figure 7: Export the Workflow as a Tool
Figure 8: Export the Workflow as a Tool
Figure 9: Deploy API Endpoint
Unstract 검색 전략
Settings에서 사용자는 두 가지 검색 전략 중에서 선택할 수 있습니다:
Simple: 이 전략은 단일 쿼리를 사용해 관련 정보 청크를 검색하며, 정확성을 보장하기 위해 키워드 매칭과 벡터 검색을 조합하여 활용합니다.
Subquestion: 이 접근 방식은 복잡한 쿼리를 더 단순한 하위 질문들로 분해하는 것을 포함합니다. 각 하위 질문은 관련 정보를 검색하며, 그런 다음 이를 집계하여 원래의 복잡한 쿼리에 대한 포괄적인 응답을 제공합니다.
단순 검색 접근 방식은 속도와 비용 효율성을 제공하지만, 더 정교한 모델이 제공할 수 있는 미묘한 이해를 포착하지 못할 수 있습니다.
하위 질문 검색기는 다양한 맥락이나 도메인의 정보를 통합해야 하는 복잡한 질문을 처리하는 데 특히 유용합니다. 각 하위 질문의 구체적인 정보 요구사항에 집중함으로써, 이 접근 방식은 상세한 쿼리를 효과적으로 처리하는 모델의 역량을 향상시킵니다.
결론
구조화된 문서 데이터 추출 분야는 대규모 언어 모델의 발전과 Unstract와 같은 혁신적인 도구 덕분에 빠르게 변화하고 있습니다. Unstract는 Zilliz Cloud와 같은 벡터 데이터베이스와 결합하여 비정형 데이터를 구조화된 형식으로 전환하는 효과적인 방법을 제공하는 동시에, 정확성과 비용 절감 모두에 중점을 둡니다. 다양한 검색 전략을 통해 사용자가 복잡한 질문을 사용자 친화적인 방식으로 처리할 수 있도록 돕습니다.
앞으로 지능형 문서 처리의 추가 개선 가능성은 웨비나에서 Shuveb Hussain이 강조했듯이 매우 큽니다. 효율적인 데이터 추출에 대한 필요성이 커짐에 따라, Unstract와 같은 플랫폼은 선도할 준비가 되어 있습니다. 이러한 기술을 개선함으로써, 조직이 비정형 데이터를 유용한 인사이트로 전환하도록 돕습니다.
완전 자동화된 문서 처리로의 이러한 전환은 단순히 기술에 관한 것이 아니라, 다양한 산업 전반에서 데이터가 관리되는 방식을 변화시키는 일입니다. 이러한 발전을 도입함으로써, 조직은 점점 더 데이터 중심이 되어가는 세계에서 새로운 성장 기회를 발견할 수 있습니다.
계속 읽기

Milvus 2.6.x Now Generally Available on Zilliz Cloud, Making Vector Search Faster, Smarter, and More Cost-Efficient for Production AI
Milvus 2.6.x is now GA on Zilliz Cloud, delivering faster vector search, smarter hybrid queries, and lower costs for production RAG and AI applications.

Will Amazon S3 Vectors Kill Vector Databases—or Save Them?
AWS S3 Vectors aims for 90% cost savings for vector storage. But will it kill vectordbs like Milvus? A deep dive into costs, limits, and the future of tiered storage.

What is the K-Nearest Neighbors (KNN) Algorithm in Machine Learning?
KNN is a supervised machine learning technique and algorithm for classification and regression. This post is the ultimate guide to KNN.



