본문 바로가기

LLM

RAG (Retrieval-Augmented Generation) 심화 개념

RAG의 주요 구성 요소

검색기(Retriever)

검색기는 사용자의 질문에 가장 적합한 문서를 찾아내는 역할을 합니다. 주요 기능은 다음과 같습니다:

1. 정확한 의미론적 표현 추출

  • 청크 최적화(Chunk Optimization): 문서를 의미 있는 단위로 나누어 검색 효율을 극대화합니다. 너무 길거나 짧은 청크는 검색 정확도를 떨어뜨릴 수 있기 때문에 최적의 크기로 분할하는 것이 중요합니다.
  • 임베딩 모델의 미세 조정(Fine-tuning Embedding Models): 도메인 특화된 임베딩 모델을 학습시켜 검색 정확도를 높입니다.

2. 사용자의 질의(Query)와 검색 대상 문서들의 의미론적 공간 일치

  • 질의 재작성(Query Rewrite): 질문을 더 명확하고 검색에 적합하게 변환하여 검색 정확도를 높입니다.
  • 임베딩 변환(Embedding Transformation): 질의와 문서 간 의미 공간을 더 잘 일치시키기 위해 임베딩을 변환하는 기법입니다.

3. 검색기 출력과 대규모 언어 모델(LLM)의 선호도(Preference) 일치시키기

  • LLM 감독 학습(LLM Supervised Training): 검색 결과를 기반으로 좋은 답변을 생성할 수 있도록 LLM을 추가 학습시킵니다.
  • 어댑터 플러그인(Plug in an adapter): 별도의 경량 모듈을 삽입하여 검색 결과 최적화에 특화된 성능을 강화합니다.

증강 방법(Augmentation Methods)

검색과 생성 프로세스 양쪽 모두를 강화하기 위한 다양한 기법들을 통칭합니다.

1. Retrieval-augmented Reranking
검색기의 초기 검색 결과를 그대로 사용하는 것이 아니라, 별도의 정교한 재정렬 과정을 추가하여 최종적으로 더 정확하고 관련성 높은 정보를 선택하는 방법입니다.

기존의 검색기는 주로 임베딩 유사도 기반으로 문서들을 1차 정렬합니다. 이 방식은 빠르지만 질문과 문서 간 문맥적 연결을 깊이 고려하지 못할 수 있기 때문에, Retrieval-augmented Reranking은 여기에 추가로 문맥 기반 의미 연결을 고려하여, 질문과 진짜 연관성이 높은 문서 순서로 다시 재정렬합니다.

구체적으로는 Cross-encoder 모델처럼 질문과 문서를 함께 입력해 상호작용(Interaction)을 학습한 모델이 사용될 수 있으며, 이를 통해

  • 더 정확한 검색 결과 확보
  • 생성기(Generator)가 더 질 높은 답변을 생성할 수 있도록 지원하는 효과를 얻을 수 있습니다.

2. Multi-hop Retrieval
하나의 검색만으로는 질문에 대한 답을 얻기 어려운 경우, 여러 단계를 거쳐 필요한 정보를 순차적으로 찾아가는 검색 방법입니다.

예를 들어, 사용자가 "삼성전자 1분기 실적이 테슬라 공급망에 어떤 영향을 미쳤는가?"라는 질문을 한다고 가정해보겠습니다.
이 질문을 풀기 위해서는

  • 먼저 삼성전자의 1분기 실적 정보를 찾고,
  • 이어서 이 실적이 테슬라의 공급망과 어떻게 연결되어 있는지를 추가로 탐색해야 합니다.

이처럼 중간 결과를 기반으로 추가 질의를 생성하고, 이를 반복하는 과정이 Multi-hop Retrieval의 핵심입니다.

Multi-hop Retrieval이 제대로 동작하기 위해서는

  • 검색 중간 결과를 기억하고 활용하는 능력,
  • 각 단계에서 적절한 새로운 질의를 동적으로 만들어내는 능력이 중요합니다.

생성기(Generator)

생성기는 검색된 문서를 바탕으로 최종 답변을 생성하는 역할을 합니다.

1. 검색 결과의 후처리를 통한 개선 방법

  • 정보 압축(Information Compression): 검색된 문서 중 핵심 정보만 요약하여 입력 데이터의 품질을 높입니다.
  • 순위 다시 매기기(ReRank): 검색된 문서들을 재정렬하여 가장 관련성 높은 정보를 우선 반영합니다.

2. 입력 데이터에 적응하도록 생성기를 최적화

  • 일반적인 최적화 과정(General Optimization Process): 다양한 검색 결과를 바탕으로 자연스럽고 정확한 답변을 생성할 수 있도록 생성 모델을 훈련합니다.
  • 대조 학습 활용(Utilizing Contrastive Learning): 좋은 답변과 나쁜 답변을 비교 학습시켜 생성 품질을 높입니다.

RAG의 장점

1. 비용 효율성
모든 데이터를 모델에 직접 학습시키지 않고, 필요한 순간 외부에서 검색해오기 때문에 트레이닝 및 운영 비용을 절감할 수 있습니다.

2. 최신 정보
모델 학습 이후에 발생한 최신 정보도 외부 검색을 통해 즉시 반영할 수 있습니다.

3. 신뢰성 향상
신뢰할 수 있는 출처 기반으로 답변을 생성하여, 사용자가 답변의 근거를 확인할 수 있도록 합니다.

4. 부정확한 응답 및 환각 현상 감소
모델이 모르는 내용을 억지로 생성하는 환각(hallucination) 문제를 현저히 줄일 수 있습니다.

 

RAG의 단점

1. 외부 의존성
검색 품질에 따라 전체 답변 품질이 결정되므로, 검색 인프라에 대한 관리와 최적화가 필수적입니다.

2. 개인정보 보호 문제
외부 검색 데이터에 민감 정보가 포함될 경우, 개인정보 유출 가능성이 존재합니다.

3. 창의성 제한
검색된 정보에 기반하여 답변을 생성하기 때문에, 완전히 새로운 아이디어나 독창적 발상이 다소 제한될 수 있습니다.

'LLM' 카테고리의 다른 글

검색 증가 생성 (RAG, Retrieval-Augmented Generation) 란?  (0) 2024.11.01