RAG - 검색 증강 생성
검색 증강 생성 - Retrieval Augmented Generation
RAG란? 기초 모델의 외부에서 데이터를 검색해서 가져와서 문맥으로 사용하는 방법이다. 여기에서 retrieval이란 검색이라는 뜻이다. 여담이지만 골든 리트리버 (Golden Retriever) 라는 개의 이름도 잡은 사냥감을 가져오는데 (retrieve) 에서 유래했다. 프리 트레이닝이나 파인튜닝보다 저렴해서 각광받고 있는 분야이다.
보통 다음과 같은 과정으로 진행된다. 먼저 임베딩 모델을 활용해서 임베딩을 얻는다. 이 임베딩은 텍스트를 벡터 공간에 숫자로 표현하는 기법이다. 이렇게 생성된 임베딩은 벡터 데이터베이스에 저장한다. 그리고 사용자가 질문을 할 때 이 질문에 연관된 정보들을 시맨틱 검색으로 가져온다. (retrieval) 이 시맨틱 검색이 기존 검색과 다른 부분이다. 임베딩을 활용해서 의미가 유사한 정보를 가져올 수 있기 때문이다. 그리고 여기에서 가져온 정보를 바탕으로 질문에 문맥으로 추가를 하는 방식이다.
RAG는 비교적 최신 분야로 다양한 기법들이 개발되고 있다. 유사성 검색 외에도 다양성을 위한 최대 한계 관련성 (Maximum marginal relevance), 메타 데이터 반영, 압축 등의 기법이 있다.
RAG란 단어가 외우기 어려울 때는 retrieval (리트리벌) 이라는 단어 하나만 알아두자!
공유하기
조회수 : 4116