Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon RAG 데이터 수집 파이프 라인에서 ETL이 어떤 역할을합니까?


RAG 데이터 수집 파이프 라인에서 ETL이 어떤 역할을합니까?


ETL (Extraction, Transformation and Loading)은 다양한 데이터 소스의 외부 지식을 통해 LLM (Langues-Buanching)을 향상시키는 기계 학습 아키텍처 인 RAG (Data Insestion Pipeline)에서 데이터 수집 파이프 라인에서 중요한 역할을하여 지식 집약적 작업에 대한 성능을 향상시킵니다. RAG 파이프 라인의 ETL 프로세스에는 다양한 소스에서 원시 데이터를 추출하여 구조화되고 깨끗하며 의미있는 형태로 전환하고 이러한 변환 된 데이터 표현을 생성 단계에서 효율적인 검색을 지원하는 벡터 데이터베이스 또는 스토어로로드합니다. 이 프로세스는 언어 모델을 증강시키는 데 사용되는 입력 데이터가 고품질, 잘 조직되어 있으며 유사성 검색 및 검색을 위해 최적화되도록합니다.
헝겊 파이프 라인의

추출

추출 단계는 웹 페이지, 문서, PDF, 데이터베이스 또는 API와 같은 다양한 외부 지식 소스에서 원시 데이터를 수집하는 데 도움이됩니다. Rag는 업데이트되고 관련 컨텐츠로 LLM을 확대하는 것을 목표로하기 때문에 추출 단계는 이러한 소스에서 많은 양의 이종 데이터를 끌어내는 데 필수적입니다. 데이터는 구조화되지 않은 텍스트, HTML 또는 XML과 같은 반 구조화 된 마크 업 언어 및 데이터베이스의 구조화 된 레코드를 포함하여 형식과 구조가 크게 다를 수 있습니다. 이 데이터를 추출하려면 종종 다양한 데이터 형식과 각 소스의 특정 특성을 처리 할 수있는 특수 파서, 스크레이퍼 또는 커넥터가 필요합니다.

RAG의 맥락에서 추출 된 데이터에는 긴 문서, 웹 아카이브, 회사 기록 또는 모델을 확대하기위한 사실 지식이 포함 된 기술 컨텐츠가 포함될 수 있습니다. 원시 추출 결과에는 일반적으로 HTML 태그, 탐색 헤더 및 바닥 글, 관련없는 메타 데이터 및 기타 비 정보 요소와 같은 노이즈가 포함되어있어 적절하게 처리되지 않으면 후속 프로세스의 정확성과 효율성을 줄일 수 있습니다. Thus, extraction systems in RAG pipelines often include a prefiltering mechanism to discard clearly irrelevant data or to segregate data into chunks suitable for further processing.

헝겊 파이프 라인의

변환

변환은 원시 추출물 데이터를 모델링 및 검색에 선호하는 깨끗하고 정규화되고 구조화 된 형식으로 변환하는 일련의 작업을 말합니다. 대형 언어 모델과 벡터 검색 시스템은 효율적이고 정확한 의미 검색 및 임베딩 생성을 위해 입력을 특별히 형식화해야하기 때문에 RAG 파이프 라인에서 가장 중요한 단계 중 하나입니다.

변환 단계의 주요 활동에는 데이터 청소, 세분화, 정규화, 강화 및 벡터화가 포함됩니다.

- 청소에는 HTML 태그, 코드 스 니펫, 헤더 또는 바닥 글과 같은 관련없는 섹션 및 시끄러운 메타 데이터와 같은 외부 콘텐츠를 제거해야합니다. 이를 통해 임베딩에 사용되는 입력 텍스트는 산만하거나 관련이없는 정보가없는 실제 지식 내용을 나타냅니다.

- 세분화 또는 청킹은 긴 문서를 작고 관리 가능한 텍스트 조각으로 나눕니다. 종종 단락이나 문장과 같은 의미 론적 경계에 따라. 유사성 검색 및 임베딩 기반 검색이 전체 문서보다 짧은 청크에서 더 잘 작동하므로 RAG에 중요합니다.

- 정규화는 문자 인코딩 수정, 날짜 수정, 단위 통합 및 텍스트 케이스 조화와 같은 서식 문제를 표준화하여 문서 전체의 일관성을 향상시킵니다.

- 강화에는 주석, 키워드 태깅 또는 데이터의 일부를 온톨로지에 연결하여 텍스트를 늘리는 것이 포함되며, 이는 검색 관련성과 LLM의 정보를 맥락화 할 수있는 능력을 향상시킬 수 있습니다.

-Vectorization은 신경 모델 (예 : 변압기 기반 임베딩 모델)을 사용하여 정화 및 세분화 된 텍스트를 조밀 한 벡터 표현 (임베딩)으로 인코딩하는 것을 포함합니다. 이 벡터는 벡터 데이터베이스에서 유사성 비교에 필요한 형식으로, 사용자 쿼리와 관련된 효율적인 컨텐츠 검색을 가능하게합니다.

변환은 분산 처리 프레임 워크 및 병렬화를 활용하여 대규모 데이터 세트를 처리하여 수천만 개의 레코드 나 문서에 도달 할 수 있습니다. Ray 또는 Apache Spark와 같은 도구는 종종 임베딩 생성을 확장하고 높은 처리량과 낮은 대기 시간을 유지하기 위해 통합됩니다.

rag 파이프 라인에

로딩

로딩은 변환 및 벡터화 된 데이터가 확장 가능한 k-nearest 이웃 (K-NN)을 지원하는 벡터 데이터 스토어 또는 벡터 데이터베이스로 섭취하는 최종 ETL 단계입니다. 로드 된 데이터는 RAG의 검색 단계에서 액세스하여 언어 모델이 정확하고 지식이있는 출력을 생성하는 데 도움이되는 가장 맥락 적으로 관련된 청크를 찾습니다.

로딩 프로세스는 스케일에서 빠른 유사성 검색을 지원하기 위해 데이터가 올바르게 인덱싱되도록해야합니다. RAG 파이프 라인에 사용되는 벡터 데이터베이스에는 벡터 플러그인이있는 Amazon OpenSearch Service, PGVECTOR EXTENSION, PENECONE, MILVUS, WEAVIET 등이있는 Amazon RDS가 포함됩니다. 이 서비스는 수백만에서 수십억의 벡터 임베드를 저장할 수 있으며 대화식 AI 응용 프로그램에 필요한 빠른 검색 시간을 제공합니다.

로드에는 데이터 수집 병목 현상 및 데이터베이스 용량 모니터링 및 관리도 포함됩니다. 파이프 라인은 종종 하류 검색 워크 플로 및 전반적인 시스템 성능을 방해하지 않고 연속 데이터 도착 및 스키마 변경을 처리하기 위해 결함 장애, 병렬 실행 및 증분 로딩 기능으로 설계됩니다.

Rag Data Insestion 파이프 라인에서 ETL의

통합

RAG 파이프 라인의 ETL 작업은 클래식 데이터 파이프 라인 접근 방식을 반영하지만 생성 AI 및 유사성 기반 정보 검색의 요구에 따라 특화되어 있습니다. 단계는 다음과 같이 흐릅니다.

1. 추출은 외부 소스에서 원시 텍스트와 문서를 수집하고 수집합니다.
2. 변환은 텍스트 데이터를 유사성 일치에 적합한 벡터 임베딩으로 청소, 청크, 정규화, 강화 및 변환합니다.
3. 로딩은이 벡터를 검색하기 위해 확장 가능한 벡터 데이터베이스에 저장합니다.

이 ETL 프로세스는 RAG 파이프 라인이 대규모 이종 데이터 세트를 수집하고 효율적이고 정확한 검색 증강 생성을 준비 할 수 있도록합니다. 사실상, Rag의 데이터 수집은 분석에 사용되는 기존 ETL 파이프 라인과 유사하지만 의미 검색 및 자연어 처리에 최적화되었습니다. Rag ETL은보고 또는 대시 보드를 위해서만 데이터를 준비하는 대신 LLMS가 동적으로 레버리지를 활용하여 응답을 개선 할 수있는 지식 표현을 준비합니다.

도전 및 최적화

Rag의 ETL 파이프 라인은 규모, 다양성 및 성능과 관련된 문제에 직면합니다.

- 다양하고 구조화되지 않은 소스에서 추출을 관리하려면 강력한 스크래핑 및 섭취 프레임 워크가 필요합니다.
- 변환에는 소음을 줄이고 표현을 최적화하기 위해 강력한 청소 알고리즘과 효율적인 청킹이 필요합니다.
- 임베딩 생성은 계산 집중적이므로 분산 된 GPU 클러스터가 필요한 처리량을 유지해야합니다.
- 로딩은 최소한의 대기 시간으로 대량의 벡터를 처리해야하며 벡터 작동 및 인덱싱에 최적화 된 데이터베이스를 요구합니다.

몇 가지 최적화가 적용됩니다.

- Ray와 같은 분산 컴퓨팅 프레임 워크를 사용하여 추출 및 임베딩 생성을 병렬화합니다.
- 완전히 재 처리없이 새로운 데이터로 임베딩을 업데이트하는 증분 ETL 메커니즘.
- AI/ML 기술을 사용하여 자동화 된 데이터 정리 및 이상 탐지를 위해 변환 품질을 향상시킵니다.
- 쿼리 속도 및 수집 속도의 균형을 맞추기 위해 벡터 데이터베이스의 동적 인덱싱 및 분할 전략.

요약

Rag Data Insestion 파이프 라인의 ETL 프로세스는 원시 외부 문서를 벡터 데이터베이스에 저장된 고품질의 벡터 화 된 지식 표현으로 변환하는 데 필수적입니다. This enables RAG systems to retrieve and augment relevant information for large language models, enhancing their factual accuracy and contextual awareness. 추출은 원시 데이터 수집을 처리하고 변환은 텍스트를 청소하고 벡터화하며 이러한 벡터를 신속하게 검색하기 위해 확장 가능한 최적화 된 벡터 저장소에 삽입합니다. 전체 ETL 프로세스는 RAG 응용 프로그램이 데이터 볼륨 및 복잡성으로 확장 할 수 있도록하면서 효과적인 생성 AI 응답에 필요한 검색의 품질과 속도를 유지할 수 있도록합니다.

RAG 파이프 라인에 맞게 맞춤화 된 ETL의 통합은 텍스트 추출, 시맨틱 청소, 청킹 및 벡터 임베딩에 중점을 두어 기존 ETL 파이프 라인과 차별화되며, RAG 아키텍처를 구성하는 검색 모델을 공급하도록 설계되었습니다. 이 파이프 라인은 일반적으로 분산 처리 및 GPU 가속도를 사용하여 벡터 생성 및 인덱싱의 계산 요구를 처리하며, 이는 다운 스트림 언어 모델 생성에 적시에 관련된 컨텍스트를 제공하는 데 핵심입니다. 따라서 ETL 파이프 라인은 광대 한 고품질 외부 지식에 신뢰할 수있는 액세스를 가능하게함으로써 래그의 백본을 형성합니다.