Skip to content

Commit

Permalink
Update 2024-12-30-rag-paper.md
Browse files Browse the repository at this point in the history
  • Loading branch information
losskatsu authored Dec 30, 2024
1 parent 0f4caed commit a925b6f
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions _posts/machine-learning/2024-12-30-rag-paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -214,10 +214,31 @@ $p_{\eta}(z\|x) \propto exp(\textbf{d}(z)^{T}\textbf{q}(x))$

$\textbf{d}(z) = BERT_{d}(z), \textbf{q}(z) = BERT_{q}(z)$

여기서 $\textbf{d}(z)$는 $BERT_{BASE}$ 문서 인코더가 생성한 문서의
밀집 표현(dense representation)을 나타내며,
$\textbf{q}(x)$ 또한 $BERT_{BASE}$에 기반한 쿼리 인코더가 생성한 쿼리 표현을 나타낸다.
상위 $k$개의 문서 $z$ 목록을 계산하는 $top-k(p_{\eta}(\cdot\|x))$는
사전 확률 $p_{\eta}(z\|x)$가 가장 높은 문서들을 찾는 문제로,
이는 최대 내적 검색(Maximum Inner Product Search, MIPS) 문제에 해당한다.
이 문제는 서브 선형 시간(sub-liear time)으로 근사적으로 해결할 수 있다.
우리는 DPR의 사전 학습된 바이엔코더를 사용해 검색기를 초기화하고 문서 인덱스를 구축한다.
이 검색기는 TriviaQA 질문과 Natural Question에 대한 답을 포함하는 문서를
검색하도록 학습되었다.
우리는 이 문서 인덱스를 non-parametric 메모리라고 부른다.


### 2-3. Generator: BART

생성기 구성 요소 $p_{\theta}(y_i \| x, z, y_{1:i-1})$는 종류에 상관없이 어떠한 인코더-디코더 구조를 사용하여도 모델링 할 수 있다.
우리는 BART-large를 사용하는데, 이는 4억개의 파라미터를 가진 사전 학습된
seq2seq 트랜스포머에 해당한다.
BART에서 인풋 데이터 $x$와 검색된 콘텐츠 $z$를 결합하여 생성할 때,
우리는 단순히 이들을 연결(concatenate)한다.
BART는 노이즈 제거 목적(denoising objective)와
다양한 노이즈 생성 함수(noising function)를 사용하여 사전 학습되었다.
BART는 다양한 생성 작업에서 최첨단 성능을 달성했으며,
유사한 크기의 T5 모델을 능가하는 성능을 보여준다.
우리는 BART 생성기 파라미터 $\theta$를 이후 파리미터 메모라라고 지칭할 것이다.

<br/>

Expand All @@ -227,6 +248,21 @@ $\textbf{d}(z) = BERT_{d}(z), \textbf{q}(z) = BERT_{q}(z)$

### 2-4. Training

우리는 어떤 문서를 검색해야 하는지에 대한 직접적인 감독 없이
검색기와 생성기 구성 요소를 공동으로 학습한다.
주어진 인풋/아웃풋 쌍 $(x_j, y_j)$으로 구성된 파인튜닝 학습 말뭉치(corpus)를 사용하여,
우리는 각 대상에 대한 부정적 주변 log-likelihood(negative marginal log-likelihood)를 최소화 한다.
이를 수식으로 표현하면 다음과 같다.

$\sum_{j}-\log{p(y_j \| x_j)}$

이를 Adam 옵티마이저를 사용한 확률적 경사 하강법(stochastic gradient descent)로 최적화 한다.
학습 중에 문서 인코더 $BERT_d$를 업데이트 하는 것은 비용이 많이 든다.
이는 REALM이 사전 학습 중 수행하는 것처럼 문서 인덱스를 주기적으로 업데이트 해야하기 때문이다.
우리는 강력한 성능을 위해 이러한 단계가 필요하지 않음을 발견했으며,
문서 인코더(및 인덱스)는 고정된 상태로 유지하고,
쿼리 인코더 $BERT_q$와 BART 생성기만 파인튜닝 한다.


### 2-5. Decoding

Expand Down

0 comments on commit a925b6f

Please sign in to comment.