논문 링크 : https://arxiv.org/abs/2002.08909
- 내가 이 논문을 선택한 이유는, 지원을 고려 중인 대학원 대부분이 LLM을 기반으로 하고 있으며 RAG를 그 핵심 배경으로 두고 있기 때문임
- 따라서 관련 연구를 이해하기 위해서는 LLM과 RAG의 근본 원리를 먼저 익히는 것이 중요하다고 판단했음
- 그중 RAG의 기초가 되는 REALM 논문을 통해 이 분야의 근간을 확실히 다지고자 했음
언어모델에 latent knowledge retriever 추가함
Wikipedia 같은 대규모 문서를 검색·참조 가능해짐
Pre-training, Fine-tuning, Inference 모든 단계에서 retrieval 사용함
최초로 retriever를 unsupervised하게 학습시킴
Masked Language Modeling(MLM) 신호 활용함
수백만 개 문서를 대상으로 backpropagation 진행함
이 그림은 REALM의 전체 작동 흐름을 보여줌
먼저 모델은 [MASK] 토큰이 포함된 문장(x) 을 입력으로 받고, Neural Knowledge Retriever가 대규모 지식 말뭉치(Z) (예: Wikipedia)에서 관련 문서(z)를 검색함
검색된 문서와 원문을 결합해 Knowledge-Augmented Encoder에 함께 입력하면, 모델은 문맥과 외부 지식을 활용해 [MASK]의 정답(y) 을 예측함
이 과정 전체는 end-to-end 학습으로 이루어지며, 예측 결과의 손실이 retriever까지 역전파(backpropagation) 되어 함께 학습된다는 점이 핵심임
2020년도 당시 LM(BERT, RoBERTa, T5 등)은 대규모 텍스트에서 학습해 놀라운 수준의 세계 지식을 담고 있었음
하지만 이 지식은 모델 파라미터 속에 암묵적으로 저장되며 어디에 어떤 지식이 있는지 알기 어려움 (비해석성)
지식을 더 담으려면 모델 크기를 키워야 함 (비효율, 고비용)
지식을 파라미터 속에 묻어두지 말고, retriever를 붙여 외부 지식(예: Wikipedia)에서 검색 → LM이 이를 참조하도록 설계함
모델은 “어떤 지식을 검색해야 할지” 스스로 결정함
기술적 구현:
과거 retrieval을 붙인 모델들(Chen 2017, Asai 2019 등)은 heuristic 기반 / non-learned retriever
Non-learned retriever: 학습으로 최적화되지 않고, TF-IDF나 BM25 같은 규칙 기반(heuristic)으로 문서를 검색하는 방식
kNN-LM(Khandelwal 2019)은 retrieval을 했지만 downstream fine-tuning에 한계
Downstream fine-tuning: 사전학습된 모델을 이후 특정 과제(예: QA, 감정분석 등)에 맞게 추가 학습시키는 단계
REALM은 retriever를 학습 가능하게 설계하고, 다양한 downstream task로 전이 가능함
목표: 언어 표현(representation) 을 학습하기 위해 대규모 비라벨 텍스트로 사전학습
대표 방법: Masked Language Model (MLM, BERT)
예: "The [MASK] is the currency [MASK] the UK"
정답: ("pound", "of")
의미: 문법적 지식(“of”) + 세계 지식(“pound”)을 모두 학습해야 좋은 모델이 됨
정의: 질문 x에 대해, 사전에 특정 문서가 주어지지 않은 상태에서 정답 y를 출력
예: "What is the currency of the UK?" → "pound"
특징:
Reading Comprehension(RC) (예: SQuAD)은 답변 문서가 주어짐
반면 Open-QA는 수백만 개 문서 중 어떤 게 관련 있는지도 알아내야 함
질문 x → 문서 집합 Z에서 관련 문서 z 검색 → 답 y 추출함
대표: Chen et al. 2017, Lee et al. 2019
질문 x → seq2seq 모델이 직접 답 y를 생성함
대표: Lewis et al. 2019 (BART), Raffel et al. 2019 (T5)
REALM은 retrieval-based 접근법을 언어모델 pretraining에 통합함
즉, LM 학습 단계부터 retrieval을 함께 학습해 Open-QA 성능을 크게 올리는 게 목표
REALM은 retrieve → then predict 방식으로 작동함
입력 x가 들어오면 관련 문서 z를 knowledge corpus Z에서 검색
검색된 문서 z와 함께 정답 y를 예측
전체 확률은 이렇게 표현됨
Pretraining 단계에서는 Masked Language Modeling(MLM) 으로 학습
Fine-tuning 단계에서는 Open-domain QA로 학습

이 그림은 REALM의 학습 과정 전체 흐름을 보여줌
왼쪽은 비지도 사전학습 (Unsupervised Pre-training) 단계
오른쪽은 지도 미세조정 (Supervised Fine-tuning) 단계
모델은 [MASK] 토큰이 포함된 문장을 입력받고 Neural Knowledge Retriever 가 위키피디아 같은 지식 코퍼스 에서 관련 문서를 검색함
검색된 문서와 원래 문장 을 함께 Knowledge-Augmented Encoder 에 넣어 [MASK]를 채우는 단어를 예측함
이미 학습된 retriever와 encoder를 이용해 “정삼각형의 각도는 몇 도인가?” 같은 질문 을 입력받으면 관련 문서를 찾아보고, 그 내용을 참고해 정답 ( = 60 degrees) 를 예측함
즉 REALM은 retrieval(검색) 과 language modeling(생성) 을 결합 한 구조로지식이 외부 문서에 저장되어 있고, 필요한 순간에 꺼내 쓰는 형태로 동작함
문서와 쿼리를 dense embedding으로 바꿔 relevance score 계산
이 score를 softmax로 변환해서 를 구함
탐색 과정은 MIPS (Maximum Inner Product Search) 알고리즘을 이용해 빠르게 top-k 문서를 찾음
MIPS(Maximum Inner Product Search)는 벡터 간 내적값이 최대인 항목을 빠르게 찾는 알고리즘
Retriever와 Encoder를 end-to-end로 함께 학습함
하지만 p(y|x)는 수백만 개 문서를 모두 합산해야 하므로 계산량이 매우 큼
이를 해결하기 위해 top-k 근사를 사용함
retriever의 embedding이 계속 바뀌면 MIPS 인덱스가 오래돼서 일관성이 깨짐
그래서 trainer job(학습)과 index builder job(인덱스 재구성)을 비동기적으로 병렬 실행함
- Trainer job은 모델을 학습시키는 작업
- Index builder job은 학습된 벡터들을 효율적으로 검색하기 위해 인덱스를 재구성하는 작업
Warm start는 이전 학습 결과(가중치 등)를 초기값으로 사용해 학습을 이어가는 방식
Ablation Study는 모델의 구성요소나 입력을 하나씩 제거해가며 각 요소의 성능 기여도를 분석하는 실험

REALM은 학습 중 자동으로 “문맥-문서 간 비지도 정렬(unsupervised alignment)”을 수행
→ 즉, 언어모델이 학습 도중 스스로 “어떤 문서가 어떤 문장과 관련 있는지”를 학습함
이를 통해 자연스럽게 텍스트와 지식 간의 연결 구조를 형성
사실 LLM은 내가 원래 깊게 관심을 두던 분야는 아니었는데 비타민에서 프로젝트를 진행하면서 LLM을 활용하긴 했지만 제대로 파고들어 공부한 건 마지막 프로젝트가 처음이었음
그 프로젝트에서 처음으로 RAG를 접했고 이를 이용해 프로젝트를 완성했지만 그 당시엔 단순히 “RAG를 쓰면 LLM이 더 잘 작동한다” 정도로만 이해했었음
최근 대학원을 알아보면서 보니 대부분의 연구실이 LLM을 기본적으로 활용하고 RAG 또한 기본 배경으로 깔고 가는 경우가 많았음 그래서 이번 기회에 RAG의 원리를 제대로 이해해보고 싶어 기초가 되는 논문을 리뷰하게 되었음
AI나 모델을 단순히 사용하는 것도 좋지만 원리를 알고 쓰면 훨씬 더 잘 활용할 수 있다고 생각하여서 지금처럼 시간이 있을 때 이런 기초를 다져두면 앞으로 큰 도움이 될 것 같음
이번에는 LLM과 RAG 관련 기본 논문을 리뷰했지만 앞으로는 추천 시스템 분야에서도 기초 논문부터 최신 연구까지 차근차근 리뷰해볼 계획임
- 논문 만족도 : ⭐️⭐️⭐️
- 논문 이해도 : ⭐️⭐️⭐️
- RAG 관심도 : ⭐️⭐️