-
ETL, ECL and vector DBDEV 2024. 11. 13. 20:29
이전글
2024.11.12 - [DEV] - Chunking in RAG application
ETL → ECL
- 이전글 같은 청킹 전략들이 나오는 이유는 문서에서 컨텍스트를 찾아서 semantic, contextual(의미론적, 맥락적) search을 하기 위함
- 현재 일어나는 AI의 가장 큰 변화는 from data processing to semantic processing
- Extract-Transform-Load (ETL) → Extract-Contextualize-Load (ECL)
- 기존 배치의 trnasform 단계에서 LLM을 이용해 문서의 의미와 맥락등을 추출하여 적재하는 방식
- 기본 문서 → 청크 → 메타데이터 레이어에 따라 맥락화(contextualize) → 저장
- 기존의 data를 의미와 문맥을 나타내어 연결된 형태로 적재하기 위한 배치 프로세스가 필요한 것이 아닐까?
- https://ko.upstage.ai/feed/tech/dataverse-preprocessing-open-source
- ETL이 덜 중요하다는 의미도 아니고 아직 ECL이라는 것이 메인스트림으로 보이진 않지만, 데이터 사용에 따른 변화를 고려할 때 이와 같은 프로세스를 재고할 필요
지식그래프와 LLM
- 지식 그래프와 LLM을 연결하기 위한 여러 연구들이 있었음, ECL 방법 중 하나로 보임
- 지식 그래프는 LLM을 더 나은 정확도로 안내, LLM은 지식그래프 구축을 위한 지식 추출과정에서 지식그래프를 지원, 품질 향상
- LLM을 정보 추출기로 사용해 자동 지식 그래프 구성을 돕도록 ECL 배치를 작성 → 지식 그래프 저장 → RAG 추론단계에서 검색기로 사용
- 지식그래프는 관계를 포착하는데 탁월하고 추론능력이 뛰어나지만 구성하기 어렵고 비용이 많이 듬
- 반면 LLM은 광범위한 지식을 갖추고 있지만, 편견, 환각 및 기타 문제 발생하기 쉬움
Knowledge
- 데이터는 사물이나 사건에 대한 묘사(description)이며, 가공되지 않은 상태의 사실(facts)
- 그리고 특정한 목적을 위해 데이터가 처리되면(혹은 추상되면) 그 목적에 유용한 정보가 된다.
- 나아가 정보가 체계화되면 지식이 되며, 지식이 고도로 추상화되면 지혜가 된다.
- 그동안 검색이 데이터를 잘 가공(ETL)하여 정보를 제공해 왔다면
- 데이터를 맥락화하여 잘 연결하고 의미론적 검색을 제공한다면 지식을 제공할 수 있을 같다.
ETL의 간략한 역사
초기 (1970~1980년대)
- 다양한 소스에서 수동으로 데이터 추출, 배치 스크립트 사용
- 확장이 어려움
성숙, 도구 개발 (1990년대)
- ETL 도구 개발, GUI 제공
- 데이터 변환, 오류 처리/로깅 표준화 → 프로세스가 더욱 자동화, 안정적
확장/통합 (2000년대)
- 실시간 데이터 처리 지원
- 데이터 관리, 분석 플랫폼과 통합
빅데이터, 클라우드 컴퓨팅 (2010~현재)
- spark, hadoop과 같은 분산 컴퓨팅 프레임워크와 함께 작동
- AWS Glue, GoogleCloud Dataflow 같은 완전 관리형 ETL 플랫폼 제공
시간에 따른 ETL과 도구가 어떻게 발전해 왔는지에 대한 역사를 살펴보면 ECL이 어디로 갈지 대략 감을 잡을 수 있다.
현재 ECL은 1,2단계 사이에 있을 가능성이 높음
LLM이 지식그래프 생성을 간소화하고 속도를 높이는데 도움이 될 수 있다.
ETL 로드맵에 따른 ECL 발전방향 예측
성숙, 도구 개발
- 데이터 변환, 오류처리/로깅 표준화 기능 필요 → 비정형 데이터에 대한 LLM지원 자체 수정 지식 그래프 등장 할 것
확장, 통합
- 실시간 컨텍스트 최적화
- 실시간 데이터 처리 어플리케이션 간 통합
분산 에이전트 → 에이전트 컨텍스트 교환
- 서로 다른 도메인별 에이전트가 상호 작용
- 여러 에이전트의 컨텍스트를 관리하려면 적시에 컨텍스트 주입이 필요
VectorDB
RAG, vectorDB의 Google trends
vectorDB의 두 가지 유형
기존 DB에서 기능을 확장 벡터데이터 저장, 유사도 검색을 지원
- Cassandra, ElasticSearch, Postgresql
맞춤형 상용, 오픈소스 벡터 데이터베이스
- Pinecone, Chroma
langchain 지원 vectorDB
728x90'DEV' 카테고리의 다른 글
AI Agent concept (3) 2024.11.15 Multimodal RAG (2) 2024.11.14 Chunking in RAG application (0) 2024.11.12 RAG 개선, 평가 방법 (0) 2024.11.11 vectorDB 없이 검색api만으로 RAG app만들기 (2) 2024.11.10