Retrieval Augmented Generation 기술은 어떻게 변화하는가?

2025. 6. 15. 12:04업무/데이터과학

728x90
반응형

https://discuss.pytorch.kr/t/rag-1-2/3135

 

대규모 언어 모델을 위한 검색-증강 생성(RAG) 기술 현황 - 1/2편

PyTorchKR​🔥🇰🇷 🤔💬 12/18~24의 주요 ML 논문에 소개된 RAG 기술에 대한 서베이 논문을 정리해보았습니다. LLM의 활용이 늘어나며, RAG에 대한 연구들 또한 계속되고 있습니다. 1부에서는 RAG 기술

discuss.pytorch.kr

  • RAG 패러다임 기술변화 

  • RAG 패러다임 기술 비교

  1. Advanced RAG (pre-retrieval)
    1. Fine-grained Data Cleaning 
    2. Sliding Window / small to Big
    3. Add File Structure
    4. Query Rewriter / Classification
    5. Retriever Router
  2.  Advanced RAG (post-retrieval)
    1. Rerank 
    2. Filter
    3. Prompt Compression
  3. Modular RAG
    1. Search
    2. Predict
    3. Filter
    4. Reflect
    5. Demonstrate
    6. Criticize
  4. 데이터 인덱싱 최적화
    1. 데이터 세분화 강화
      • 불필요한 정보와 특수 문자 제거
      • 엔티티와 용어의 모호성 제거(중복 및 불필요한 정보 최소화)
    2. 인덱스 구조 최적화
      • 청크 크기 조정
      • 인덱스 경로 변경
      • 그래프 구조 정보 도입
    3. 메타데이터 정보 추가
      • 각 데이터 청크에 날짜, 목적 등과 같은 메타데이터 포함시키고 필터링을 통해 검색 효율성 향상
    4. 정렬 최적화
      • 문서간의 불일치 문제를 해결하기 위한 최적화로, 가상의 질문을 생성하고 이를 각 문서와 결합하여 문서 간의 정렬 문제를 해결합니다.
    5. 혼합 검색
      • 키워드 기반 검색, 의미 검색, 벡터 검색과 같은 다양한 검색 기술을 지능적으로 결합하여 검색 전략 강화
  5. 임베딩 (Embedding) 개선 방법 
    1. 정밀 조정 임베딩: 검색된 내용과 질문 간의 관련성을 향상시키기 위해 임베딩 모델을 정밀 조정하는 방법
      • 도메인 특화하여 맥락에 맞게 임베딩을 조정하고 검색 단계를 최적화
    2. 동적임베딩: 단어가 등장하는 맥락에 따라 임베딩을 조정하는 방법
      • 주변 단어에 따라 단어의 임베딩 변경되어 맥락 포착하는데 더 정교함
  6. 검색 후 절차
    1. 순위 다시 매기기 (ReRank)
    2. 프롬프트 압축 (Selective Context)
      • 중요하지 않은 맥락 압축
      • 중요한 문단을 강조
  7. RAG 파이프 라인 최적화
    1. 하이브리드 검색 (키워드 기반 검색, 의미론적 검색, 벡터 검색)
    2. 재귀적 검색 및 쿼리엔진: 초기 검색 단계 작은 문서 블록을 획득하여 주요 의미를 포착한 다음 후반 단계에서 더 많은 맥락적정보를 가진 더 큰 블록을 언어 모델에 제공하는 방법
    3. 역추적 프롬프트: 일반적인 개념이나 원리에 대해 추론하도록 장려하기 위한 방법
    4. 서브쿼리: 트리쿼리, 벡터쿼리, 순차적 청크쿼리 등 다양한 질의 전략을 통해 효율적인 검색 처리
    5. HyDE (Hypothetical Document embeddings) : LLM이 생성한 문장이 사용자의 질의보다 임베딩 공간에서 더 가까울 수 있다는 가정에 기반한 방법론, 즉 LLM을 사용하여 가상의 문서 (LLM 답변)를 생성하고, 이를 임베딩한 후, 이 임베딩을 사용하여 실제 문서를 검색하는 방법입니다. 이 방법은 답변간의 임베딩 유사성에 중점을 두고있음
  8. 새로운 모듈들
    1. 검색 모듈 : 특정 시나리오에 맞춰 LLM이 생성한 코드나 SQL, 사용자 도구 등을 사용하여 직접 검색을 수행하는 모듈
    2. 메모리 모듈: LLM 자체의 메모리 기능을 사용하여 검색을 개선하며, 현재 입력과 가장 유사한 기억을 찾는 모듈, 예를 들어 Self-mem 방법론은 검색 강화 생성기를 반복적으로 사용하여 사용자의 질문과 이중 질문을 결합한 무제한 메모리 풀을 생성하는 과정을 통하여 추론 과정을 향상시킴
    3. 추가생성 모듈: 검색된 내용의 중복 및 잡음 문제에 대응하기 위한 모듈로, LLM을 활용하여 검색을 위한 문서를 별도로 생성한 것으로 검색
    4. 태스크 적응 모듈: 각 세부 작업과 모델의 범용성을 강화하는 것을 목표로, 필요한 제로샷 프롬프트를 검색하여 사용하거나, 제로샷 쿼리를 생성하는 LLM을 별도로 사용하기도 함
    5. 정렬 모듈(Alignment Module): 질의와 텍스트 간의 정렬 문제를 해결하기 위해 검색기에 별도의 학습 가능한 어댑터를 추가하는 모듈
    6. 검증 모듈: 검색된 정보의 신뢰성을 평가하기 위해 도입, 실제 문서와 질의 간의 관련성 평가
728x90
반응형