+) span = token
RAG는 ODQA와 KIT task를 연결하는 방법론이다.
ODQA = Open Domain Q&A
e.g.) Q: 양조의 과정은 어떤 것이 있나요?
ODQA는 passage(=검색 결과)에서 answer만 가져온다.
즉, 위키백과에서 “양조가 이루어지는 데에는 제맥아, 제분, 담금, 끓임 등의 과정을 거친다.”라는 passage를 검색했다면 여기서 “제맥아, 제분, 담금, 끓임”이라는 부분만 가져온다.
KIT = Knowledge Intensive Task (=fact checking)
e.g.) Q: 기생충은 2015년에 개봉한 영화이다.
위키백과에서 “기생충 개봉일: 2019년 5월 30일 (대한민국)”이라는 결과를 얻었다면 Q,A를 같이 판단하여 Query가 사실인지 아닌지 판단한다.
특징
+) answer가 연속된 토큰으로 존재한다고 보장할 순 없지만 그렇다고 가정한다.
+) Reader와 Generator는 병렬적으로 사용할 수도 있고, 둘 중 하나만 사용할 수도 있다.
Retriever
Reader
🔻MLE (Maximum Likelihood Estimation) - 최대우도법 에 의해 passage와 question의 분포에서 정답을 찾아낸다.
⇒ Passage라는 Latent Variable(잠재 변수)을 추가함으로써 해결 가능