RAG 논문 공개 (2020)
RAG는 모델 가중치에 담긴 파라메트릭 기억과 별도 저장소에 두는 비파라메트릭 기억을 결합한다. 2020년 5월 22일 arXiv에 공개된 논문의 구조와 사실 지식이 필요한 과제에서 보고한 결과를 설명한다.
개정 2판 · 최근 고침: 독자에게 보이는 문장과 용어를 다듬고 기존 근거 연결을 유지했다. · 고침 기록 보기
arXiv 최초 제출일(2020-05-22)에 공개된 논문을 다루는 과거 연구 기록이다. 이후 RAG라는 용어는 원 논문보다 넓은 의미로 쓰이고 있다.
모델 내부 지식만 사용할 때의 한계
사전학습 언어모델은 가중치에 사실 지식을 담고 있었지만 이를 정확히 찾아 활용하는 능력에는 한계가 있었다. 사실 지식이 많이 필요한 과제에서는 특정 과제에 맞춘 구조보다 성능이 낮았고, 판단의 근거를 설명하거나 세계 지식을 갱신하는 문제도 해결되지 않았다. 외부 기억에 미분 가능한 방식으로 접근한 시도는 있었으나 추출형 과제에 한정됐다.
RAG 논문 공개
2020년 5월 22일, Lewis 등은 arXiv에 Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks를 공개했다. 입력 시퀀스를 출력 시퀀스로 바꾸는 사전학습 seq2seq 모델을 파라메트릭 메모리로, Wikipedia 문서를 수치 벡터로 표현한 dense vector 인덱스를 비파라메트릭 메모리로 사용하고 신경망 기반 검색기인 사전학습 neural retriever로 둘을 연결한 생성 모델을 제안했다. 검색한 구절을 생성 과정 전체에서 고정해 참고하는 방식과 토큰마다 다르게 참고하는 두 방식을 비교했다.
사실 지식이 필요한 과제의 평가 결과
초록은 다양한 사실 지식이 필요한 자연어 처리(NLP) 과제의 데이터로 모델을 추가 학습하는 파인튜닝을 거쳐 평가한 결과, 특정 분야에 한정하지 않는 세 개의 open-domain 질의응답 과제에서 당시 최고 성능을 기록했다고 보고한다. 비교 대상은 파라메트릭 seq2seq 모델과 검색한 문서에서 답을 추출하는 과제별 retrieve-and-extract 구조였다. 외부 기억을 결합한 생성 모델이 파라메트릭 기억만 사용하는 모델보다 좋은 성능을 낼 수 있음을 보인 사례다.
원 논문과 넓어진 용법 구분하기
이 결과는 2020년의 실험 설정에서 나온 것이며 인덱스 구성, retriever의 품질, 평가 과제의 영향을 받는다. 이후 RAG라는 말은 원 논문의 구조뿐 아니라 검색과 생성을 결합하는 방식을 넓게 가리키게 됐다. 원 논문을 읽을 때는 이 두 용법을 구분해야 한다. 검색 실패가 오답으로 이어진다는 부담 역시 고려해야 한다.
외부 지식의 운영도 함께 설계하기
외부 기억을 사용하려면 운영도 함께 설계해야 한다. 인덱스를 최신 상태로 유지하고 오래된 문서를 가려내며, 검색 실패를 감지하고 대응해야 한다. 검색으로 확보할 정보와 모델이 판단할 부분의 경계도 정해야 한다. 이 구조를 실무에 적용할 때는 검색과 생성을 결합하는 방법뿐 아니라 그 결합을 유지하는 데 드는 작업까지 살펴봐야 한다.
근거 출처 1건
- [1] RAG의 결합 구조와 세 open-domain QA 과제에서 보고한 최고 성능
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (외부)
arXiv:2005.11401 · 2020-05-22
함께 읽기
- AI의 기억과 컨텍스트 (개념 뼈대 · 관련 개념: AI의 기억과 컨텍스트)
- 검색 증강 생성(RAG)의 구조와 한계 (개념 뼈대 · 관련 개념: 검색 증강 생성)
- AI 기억의 발전: Transformer에서 에이전트 메모리까지 (발전 과정 · AI 기억의 발전 과정)
- AI 기억의 발전: Transformer에서 에이전트 메모리까지 (발전 과정 · 이 글을 가리킴)
- AI의 기억과 컨텍스트 (개념 뼈대 · 이 글을 가리킴)
- 검색 증강 생성(RAG)의 구조와 한계 (개념 뼈대 · 이 글을 가리킴)