메타데이터 레이크가 차세대 AI/ML 애플리케이션을 강화하는 방법
대규모 언어 모델(LLMs)과 검색 증강 생성(RAG) 같은 AI 기술이 계속 발전함에 따라, 유연하고 효율적인 데이터 인프라에 대한 수요가 증가하고 있습니다. 조직들은 기술 부채를 최소화하고 원활한 확장성을 가능하게 하면서 이러한 새로운 도구들을 지원할 수 있는 데이터 아키텍처를 모색하고 있습니다.
메타데이터 레이크는 이와 관련해 핵심 솔루션으로 떠오르고 있습니다. 이는 조직 내 다양한 소스의 메타데이터를 저장하는 중앙 집중식 저장소로, 데이터 관리에 대한 통합된 접근 방식을 제공합니다. 메타데이터는 데이터 소스, 품질, 계보, 소유권, 콘텐츠, 구조, 맥락을 포함하여 저장된 데이터에 대한 맥락과 이해를 제공합니다.
Datastrato의 Product Manager인 Lisa N. Cao는 최근 Zilliz가 주최한 Unstructured Data Meetup에서 발표를 진행하며, 차세대 AI/ML 개발에서 메타데이터 레이크의 중요한 역할에 대해 논의했습니다. 데이터 엔지니어로서의 경험을 바탕으로 Lisa는 메타데이터 레이크가 데이터 관리를 간소화하고 AI 기반 환경에서 벡터 데이터베이스, 딥러닝 모델, LLMs와 같은 다양한 기술과 통합될 수 있는 방법에 대한 인사이트를 공유했습니다.
6월 Palo Alto Unstructured Data Meetup에서 발표 중인 Lisa
이 블로그에서는 Lisa의 핵심 내용을 요약하고 RAG 파이프라인을 프로덕션에 배포할 때의 과제를 살펴봅니다. 하지만 먼저 RAG와 RAG 개발 및 배포에서의 과제를 간략히 소개하겠습니다.
RAG(Retrieval Augmented Generation) 간단 소개
RAG, 즉 검색 증강 생성은 검색 모듈과 생성 모듈을 결합하여 LLM 응답을 향상시키는 고급 프레임워크입니다. 검색 모듈은 Milvus 또는 Zilliz Cloud(완전 관리형 Milvus)와 같은 벡터 데이터베이스와 임베딩 모델로 구성되며, 생성 모듈은 일반적으로 ChatGPT와 같은 LLM입니다.
그림 1 RAG 작동 방식
그림 1: RAG 작동 방식
사용자가 RAG 애플리케이션에 쿼리를 입력하면, 검색 모듈의 벡터 데이터베이스가 대규모 텍스트 코퍼스에서 가장 관련성이 높은 문서를 추출합니다. 이렇게 검색된 문서는 “상위 후보”라고 불리며, 더 정확한 응답을 생성하기 위해 사용자 쿼리의 맥락으로 LLM에 전달됩니다. RAG는 질의응답, 챗봇, 지식 관리 시스템과 같은 애플리케이션에서 특히 유용합니다.
RAG 개발의 현재 과제
최근에는 재순위화 및 재귀적 검색을 기반으로 한 정교한 검색 방법, 임베딩 및 LLM 기반 파인튜닝 기법을 포함하여 정확도와 성능을 향상시키기 위한 많은 고급 기술이 RAG 파이프라인에 도입되었습니다. 또한 라우팅 및 쿼리 계획을 위해 설계된 Agentic 프레임워크가 RAG의 기능을 강화하기 위해 도입되었습니다.
하지만 이러한 발전은 새로운 복잡성도 함께 가져옵니다. Lisa는 많은 AI 팀이 RAG를 개발하고 프로덕션에 배포할 때 직면하는 몇 가지 과제에 대해 논의했습니다:
낮은 관측 가능성: RAG 파이프라인 내에서 문서 수집 속도와 데이터 분포 변화를 모니터링하는 것은 어렵습니다. RAG 애플리케이션의 벡터 데이터베이스는 종종 수십억 개의 문서를 저장하기 때문에, 지식 관리를 위한 데이터 변경 및 업데이트를 추적하기가 어려워집니다.
라이프사이클 관리: 효과적인 버전 관리와 라이프사이클 관리는 데이터 변경 및 업데이트를 추적하는 데 매우 중요합니다. 팀은 규정 준수를 보장하기 위해 투명하고 감사 가능한 방식으로 데이터 계보를 추적할 수 있는 강력한 도구가 필요합니다.
지연 시간 및 최적화: 고급 파인튜닝과 재귀적 검색은 생성된 출력의 정확도를 향상시킬 수 있지만, 응답 시간을 증가시켜 더 높은 지연 시간과 낮은 사용자 만족도로 이어질 수도 있습니다.
쿼리에 대한 맥락적 응답: 복잡한 사용자 쿼리는 LLM이 정확하게 해석하기 어려울 수 있으며, 그 결과 맥락이나 뉘앙스가 부족한 응답이 생성될 수 있습니다.
데이터 프라이버시: AI 거버넌스는 또 다른 과제이며, 특히 학습에 사용되는 데이터에 마스킹이나 암호화를 추가하는 경우 더욱 그렇습니다.
지속적 학습 메커니즘: Lisa는 RAG 애플리케이션을 최신 데이터로 업데이트된 상태로 유지하는 것을 강조했습니다. "지속적으로 업데이트되는 데이터에 접근하는 모델과 오래된 데이터에 의존하는 모델 사이에는 큰 차이가 있습니다."라고 그녀는 언급했습니다. 그러나 지속적 학습 메커니즘을 구현하는 것은 기술적으로 어려울 수 있습니다.
벤더 종속: 파이프라인 요구 사항을 단일 클라우드 서비스 제공업체에 크게 의존하면 벤더 종속으로 이어져, 다른 생태계로 전환하는 것이 어렵고 비용이 많이 들 수 있습니다.
이러한 과제에 기여하는 근본적인 문제 중 하나는 조직 전반에 걸친 데이터 사일로의 존재입니다.
조직 전반의 데이터 사일로: RAG 과제의 핵심 요인
데이터 사일로는 구조적 또는 기술적 장벽으로 인해 서로 다른 팀이나 부서 간에 데이터에 쉽게 접근할 수 없는 조직에서 흔히 발생하는 문제입니다. 이러한 사일로는 운영 수준에서, 다양한 팀 간에, 또는 사용 중인 도구와 애플리케이션의 복잡성으로 인해 존재할 수 있습니다.
그림 2- 조직의 효율성에 영향을 미치는 데이터 사일로
그림 2: 조직의 효율성에 영향을 미치는 데이터 사일로
Lisa는 데이터 사일로의 만연한 문제를 강조하며, "모든 기업은 이 질문을 해결하려고 노력하고 있습니다. ‘전체 조직에서 데이터의 운영 일관성을 어떻게 만들 수 있을까?’"라고 언급했습니다. 이는 팀이 전 세계에 분산되어 있고 서로 다른 데이터 저장소로 작업할 때 특히 어렵습니다.
서로 다른 팀 간에도 사일로가 존재합니다. 예를 들어, BI 분석가와 데이터 엔지니어는 종종 서로 다른 도구를 사용하며 효과적인 커뮤니케이션이 부족할 수 있습니다. 일부 팀은 사용 가능한 데이터에 접근하고 처리하는 데 필요한 프로그래밍 지식이나 기술 역량을 보유하지 못할 수 있습니다. 예를 들어, DevOps 엔지니어는 ML 엔지니어의 코드베이스를 이해하는 데 어려움을 겪을 수 있습니다.
데이터 사일로는 조직 전반의 원활한 데이터 흐름을 방해하기 때문에 효과적인 RAG 파이프라인을 구축하고 유지하는 능력에 직접적인 영향을 미칩니다. 이러한 통합 부족은 데이터 소스의 파편화, 데이터 사용의 불일치, 그리고 궁극적으로 포괄적이고 최신의 데이터에 의존하는 RAG 시스템 배포의 어려움으로 이어질 수 있습니다.
Metadata Lake: 통합 데이터 관리를 위한 격차 해소
위에서 언급한 RAG 과제를 해결하기 위해 기업은 조직 전반에서 데이터를 통합, 표준화, 운영화할 수 있는 데이터 아키텍처 솔루션이 필요합니다. Metadata lake는 소스, 구조, 형식, 사용량, 계보 등에 대한 정보인 메타데이터를 저장하고 관리하기 위한 유연한 아키텍처를 제공합니다.
Metadata lake란 무엇인가?
메타데이터 레이크, 또는 데이터 레이크 메타데이터 관리는 조직 내 다양한 소스의 메타데이터를 저장하는 중앙 집중식 저장소입니다. 메타데이터는 데이터 레이크에 있는 데이터의 맥락과 이해를 제공하는 설명 정보입니다. 일반적으로 데이터 소스, 품질, 계보, 소유권, 콘텐츠, 구조 및 맥락과 같은 세부 정보를 포함합니다.
Figure 3- A unified metadata management .png
그림 3: 통합 메타데이터 관리
원시 데이터를 저장하는 기존 데이터 레이크와 달리, 메타데이터 레이크는 서로 다른 시스템, 데이터베이스 및 애플리케이션 전반의 데이터 자산과 관련된 메타데이터를 관리, 구성하고 접근 가능하게 만드는 데 중점을 둡니다.
Figure 4- Comparing different data architecture designs
그림 4: 다양한 데이터 아키텍처 설계 비교
메타데이터 레이크의 이점
향상된 데이터 검색 가능성: 메타데이터 레이크는 중앙 집중식 카탈로그 역할을 하여 모든 메타데이터를 저장하고, 팀과 사용자가 조직 전반의 데이터 자산을 더 쉽게 발견할 수 있도록 합니다.
액티브 메타데이터: 이러한 레이크는 액티브 메타데이터를 가능하게 하며, 이는 작업을 트리거하고 오케스트레이션된 파이프라인과 통합되어 작업을 자동화하고 수동 개입의 필요성을 줄일 수 있습니다.
임베디드 메타데이터: 메타데이터는 다양한 애플리케이션에 임베드될 수 있어 데이터 생태계 전반에서 원활한 통합과 상호작용을 촉진합니다.
향상된 AI 거버넌스: 메타데이터 관리를 중앙 집중화하면 일관된 거버넌스 정책을 더 쉽게 구현할 수 있어 규정 준수와 데이터 품질을 보장할 수 있습니다. 메타데이터 레이크는 또한 상세한 데이터 계보 추적, 접근 제어 및 감사 기능을 지원합니다.
풍부한 메타데이터 활용: 통합 메타데이터 관리는 보강, 데이터 마스킹 및 분류와 같은 더 풍부한 메타데이터 활용을 가능하게 하여 데이터 품질, 보안 및 사용성을 향상시킵니다.
전반적으로 메타데이터 레이크는 데이터 수명 주기 관리를 단순화하고 자동화하여 기술 팀 간의 협업을 더 쉽게 만들고 RAG 개발을 방해하는 데이터 사일로를 제거하는 데 도움이 됩니다.
데모: Gravitino를 사용한 메타데이터 레이크 구축
Lisa는 Gravitino를 사용해 메타데이터 레이크를 개발한 오픈 소스 프로젝트에서 작업한 경험을 공유했습니다. 이 프로젝트는 AWS, Azure 및 GCP를 포함한 여러 클라우드 서비스 제공업체를 지원하는 데이터 카탈로그를 만드는 것을 목표로 했습니다. 사용자는 S3 버킷, Milvus vector database, HiMetastores 및 기타 데이터 저장소와 같은 다양한 데이터 소스를 메타데이터 레이크에 등록할 수 있습니다. Gravitino는 또한 데이터 계보를 추적하고 감사를 용이하게 하기 위한 접근 제어 및 도구를 제공합니다.
Figure 5- The metadata lake architecture built with Gravitino
그림 5: Gravitino로 구축한 메타데이터 레이크 아키텍처
이 아키텍처는 REST API를 사용하여 다양한 애플리케이션에 메타데이터를 제공합니다. 연결 계층은 모든 데이터를 공통 스키마로 변환한 후 메타데이터 레이크에 저장합니다. Gravitino는 테이블형 및 비테이블형 데이터 형식을 모두 지원하며, 데이터 보안을 보장하기 위해 태그 기반 마스킹을 허용합니다.
AI 팀은 또한 메타데이터 관리 프레임워크 내에서 지식 그래프와 vector stores를 통합하여 통합 카탈로그를 만들 수 있습니다. 카탈로그의 연합형 특성으로 인해, 쿼리는 소스 데이터를 이동하지 않고도 메타데이터에 접근할 수 있습니다. 조인 작업은 메모리 내 또는 정의된 위치에서 발생하여 성능을 최적화하고 분산 환경 전반에서 데이터 무결성을 유지합니다.
결론
메타데이터 레이크는 메타데이터를 관리하고 AI 및 ML 워크플로와 통합되는 AI 카탈로그로 진화하고 있습니다. 이러한 레이크는 RAG 개발, 모델 등록, AI 거버넌스, 고급 분석 구현을 지원할 수 있습니다. 데이터 운영을 위한 통합 평면을 제공함으로써, 메타데이터 레이크는 팀이 메타데이터 분석에서 관찰 가능성을 유지하고, 다양한 클라우드 환경과 Milvus vector database 같은 데이터 소스 간의 원활한 전환을 보장하며, 거버넌스 프레임워크를 매끄럽게 유지할 수 있도록 지원합니다. AI 기술이 발전함에 따라, 메타데이터 레이크는 차세대 AI/ML 애플리케이션을 지원하는 데 핵심적인 역할을 하게 될 것입니다.
추가 자료
계속 읽기

Zilliz Cloud On-Demand Compute: Pay Only for What You Use
The customer case behind Zilliz Cloud On-Demand: how a $10K vector search bill came down to under $500, and the engineering changes that made it possible.

8 Latest RAG Advancements Every Developer Should Know
Explore eight advanced RAG variants that can solve real problems you might be facing: slow retrieval, poor context understanding, multimodal data handling, and resource optimization.

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.



