• ETL, ECL and vector DB
    DEV 2024. 11. 13. 20:29

    사진: Unsplash 의 BATCH by Wisconsin Hemp Scientific

    이전글

    2024.11.12 - [DEV] - Chunking in RAG application

     

    Chunking in RAG application

    이전글2024.11.08 - [DEV] - simple RAG pipeline simple RAG pipelineRAGRetrieval augmented generation (RAG: 검색 증강 생성)할루시네이션, 학습되지 않은 최신 데이터, 메모리 이슈해결RAG의 간단한 인덱싱 파이프라인 4

    developer-as-job.tistory.com

     

    ETL → ECL

    • 이전글 같은 청킹 전략들이 나오는 이유는 문서에서 컨텍스트를 찾아서 semantic, contextual(의미론적, 맥락적) search을 하기 위함
    • 현재 일어나는 AI의 가장 큰 변화는 from data processing to semantic processing
    • Extract-Transform-Load (ETL) → Extract-Contextualize-Load (ECL)
    • 기존 배치의 trnasform 단계에서 LLM을 이용해 문서의 의미와 맥락등을 추출하여 적재하는 방식

    ETL
    ETL

    • 기본 문서 → 청크 → 메타데이터 레이어에 따라 맥락화(contextualize) → 저장 
    • 기존의 data를 의미와 문맥을 나타내어 연결된 형태로 적재하기 위한 배치 프로세스가 필요한 것이 아닐까?
    • https://ko.upstage.ai/feed/tech/dataverse-preprocessing-open-source
    • ETL이 덜 중요하다는 의미도 아니고 아직 ECL이라는 것이 메인스트림으로 보이진 않지만, 데이터 사용에 따른 변화를 고려할 때 이와 같은 프로세스를 재고할 필요

    지식그래프와 LLM

    ECL
    ECL

    • 지식 그래프와 LLM을 연결하기 위한 여러 연구들이 있었음, ECL 방법 중 하나로 보임
    • 지식 그래프는 LLM을 더 나은 정확도로 안내, LLM은 지식그래프 구축을 위한 지식 추출과정에서 지식그래프를 지원, 품질 향상
    • LLM을 정보 추출기로 사용해 자동 지식 그래프 구성을 돕도록 ECL 배치를 작성 → 지식 그래프 저장 → RAG 추론단계에서 검색기로 사용
    • 지식그래프는 관계를 포착하는데 탁월하고 추론능력이 뛰어나지만 구성하기 어렵고 비용이 많이 듬
    • 반면 LLM은 광범위한 지식을 갖추고 있지만, 편견, 환각 및 기타 문제 발생하기 쉬움

    Knowledge

    data - information - knowledge - wisdom
    data - information - knowledge - wisdom

    • 데이터는 사물이나 사건에 대한 묘사(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의 Google trends
    vectorDB Google trends
    RAG Google trends
    RAG Google trends

    vectorDB의 두 가지 유형

    기존 DB에서 기능을 확장 벡터데이터 저장, 유사도 검색을 지원

    • Cassandra, ElasticSearch, Postgresql

     

    맞춤형 상용, 오픈소스 벡터 데이터베이스

    • Pinecone, Chroma

     

    langchain 지원 vectorDB

    vectorDB type

     

    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
go.