LLM RAG 개선을 위한 HyDE 활용법: 더 나은 문서 검색

여러분, 데이터 사이언스의 최신 트렌드에 대해 늘 궁금하지 않으신가요?

오늘은 LLM(Large Language Model)과 함께 하는 RAG(Retrieval Augmented Generation) 파이프라인을 어떻게 효율적으로 개선할 수 있는지에 대해 알아보겠습니다.

특히, HyDE(Hypothetical Document Embeddings)라는 새로운 기술을 소개할 텐데요. 많은 데이터 과학자들이 높은 관심을 보이고 있는 만큼 이러한 선진 기술을 활용해 보는 것은 어떨까요?

LLM RAG HyDE 활용법

LLM RAG 개선 요구

최근 진행된 프로젝트에서 LLM을 개선하기 위한 방법을 찾느라 고심했던 경험이 있습니다. LLM은 외부 지식에 접근해 더 정확한 대답을 만들어낼 수 있지만, 이를 위해서는 적절한 문서 검색 단계가 필수적입니다.

그동안 RAG 파이프라인 구성은 간단하기만 한 것은 아니었습니다. 사용자의 질의와 말투나 맞춤법이 불완전한 경우가 많고, 문서는 길고 정교한 반면, 이렇게 서로 형식과 길이가 다른 질의와 문서를 하나의 임베딩 모델에 투입해야 한다는 어려움이 있었죠.

 

HyDE 소개

이러한 상황을 극복하기 위해 제안된 것이 바로 HyDE입니다. 사용자 질문을 더 효과적으로 변환하여 문서 검색 과정에서 더욱 유용하게 활용할 수 있도록 하죠. 한마디로, HyDE는 RAG 시스템의 검색 성능을 향상시키는 혁신적인 방법입니다. 

이는 결국 LLM이 더욱 신뢰성 있는 답변을 생성하는데 기여합니다. 한 예로, “로널드 레이건은 민주당원이었나”라는 짧고 단순한 질문과, 같은 정보를 포함하고 있는 잘 작성된 긴 문서를 생각해 봅시다. HyDE는 이 간격을 극복하게 해줍니다.

HyDE는 사용자의 질문(Query)을 직접 검색하는 대신, LLM을 활용해 가상의 문서를 먼저 생성하고 이를 기반으로 검색을 수행하는 방식입니다. 이는 실제 문서들과의 유사도 비교에서 더 정확한 결과를 얻을 수 있다는 장점이 있습니다.

 

HyDE의 구현

HyDE를 파이썬으로 구현하는 것은 간단합니다. 임베딩 모델을 통해 텍스트를 고차원 수치 벡터로 변환하고, 사용자 쿼리에 대해서 보다 정확한 문서를 찾아내는 것이 가능합니다.

이렇게 검색된 문서들은 LLM의 생성을 위한 기초 자료로 사용되죠. 이로 인해 LLM은 더 질 높은 결과물을 생산할 수 있게 됩니다.  자 이제 HyDE의 작동 프로세스를 보시죠.

1. 가상 문서 생성
  • 사용자의 질문을 입력받음
  • Instruction-following LLM을 통해 가상의 문서를 생성
  • 보통 각 질문당 5회 정도의 가상 문서를 생성
2. 임베딩 변환
  • 생성된 가상 문서들을 임베딩 벡터로 변환
  • 여러 개의 가상 문서 임베딩의 평균값을 계산
  • Unsupervised contrastive learning을 통해 학습된 인코더 사용
3. 유사도 검색
  • 평균 임베딩 벡터를 기반으로 실제 문서들과 유사도 비교
  • Vector DB에서 가장 관련성 높은 문서들을 검색

 

HyDE의 효과와 장점

HyDE 사용이 효과적인 경우는 RAG 파이프라인의 Retriever 성능이 충분하지 않을 때나 특수한 도메인의 데이터를 다룰 때입니다. 검색 모델이 학습하지 않은 새로운 영역의 데이터를 다룰 때도 좋겠죠. 

HyDE의 장점은  Zero-shot 환경에서도 높은 성능 발휘합니다. 레이블링된 데이터 없이도 효과적인 검색 가능하고 도메인 특화된 검색에서도 우수한 성능을 보입니다. 마지막으로 Hallucination 현상을 임베딩 평균화를 통해 감소할 수 있습니다. 

 

마무리

오늘 우리는 HyDE를 활용해 RAG 파이프라인을 개선하는 방법에 대해 알아보았습니다. 문서 검색 단계의 향상은 LLM의 성능을 대폭 개선하는 데 필수적입니다.

이러한 기술들은 데이터 사이언스의 현장에서 더욱 많은 문제를 해결하는 데 도움을 줄 것으로 기대됩니다. 여러분도 다양한 데이터 분석 프로젝트에서 이와 같은 최신 기술들을 적용할 수 있길 바랍니다. 

Leave a Comment