Harsh Trivedi 1, Niranjan Balasubramanian 1, Tushar Khot 2, Ashish Sabharwal 2
1 Stony Brook University, Stony Brook, U.S.A. 2 Allen Institute for AI, Seattle, U.S.A.
Abstract
- (LLM and Weakness ) 최근 LLM 이 natural language reasoning 혹은 Multi-step QA 를 위한 Chain-of-Thought (CoT) 에 매우 강력한 성능을 보인다. 그러나, 이들은 necessary knowledge 가 unavailable 하거나, up-to-date 하지 않은 경우 parameter 속에 그 것을 가지고 있기 힘들다.
- (One-step retrieval and Weakness ) 이에 따라 최근, external knowledge 로 부터 relevant text 를 retrieve 해서 활용하는 one-step retrieve-and-read approach 가 연구되었지만, 이는 multi-step QA 를 풀기에는 부족하다.
- (IRCoT) 이에 저자들은 what to retrieve 는 what has already been derived 에 depend 한다는 점에 착안하여, CoT 에 retrieval 을 interleave(끼우는) 하는 IRCoT 를 제안한다.
- (Experiment) IRCoT 를 GPT-3 에 적용하였을 때, retreival 성능이 매우 향상되었으며, downstream QA dataset 4 개: HotpotQA, 2WikiMultihopQA, MuSiQue, and IIRC 에 대하여도 매우 큰 성능 향상을 보인다. 추가적으로, out-of-domain(OOD) setting 에서도 smaller model 에 적용했을 때 매우 좋은 성능을 보인다.
Introduction
최근 Large Language Model (LLM) 은 complex question 에 대하여 step-by-step 으로 natural language reasoning 을 하는, 이른바 Chain-of-Thoughts (CoT)https://openreview.net/pdf?id=_VjQlMeSB_J를 수행할 수 있다. 이 접근법은 질문에 답을 할 수 있는 모든 정보가 parameter 내에 존재해야만 적용가능하다. 그러나 많은 open-domain quesition 에 대하여, 대부분의 required knowledge 는 model 의 parameter 속에 존재하지 않는다.([1], [2])
How can we augment chain-of-thought prompting for open-domain, knowledge-intensive tasks that require complex, multi-step reasoning?
one-shot retrieval 을 통해 LM 을 augment 하는 방법이 relevant knowledge 를 활용하고 많은 factoid(뇌피셜) task 를 해결하였지만 ([3], [4], 이 방법들은 complex multi-step reasoning question 들을 푸는데는 분명한 한계점이 존재한다. 몇몇의 question 에 대하여 이러한 방법들은 partial knowledge 를 추출하거나, partial reasoning 을 수행하거나, partial reasoning 에 의한 outcome 에 필요한 additional 정보를 추출해오고 반복한다. 예를 들어, 위의 Figure 1 에서 “In what country was Lost Gravity manufactured?” 라는 질문에 대하여 한 번만 retrieval 해 올 경우, Mack Rides 라는 company 까지는 가져오지만 어느 나라인지는 가져올 수가 없다.
따라서, retrieval 과 reasoning step 은 반드시 함께 가야한다. retrieval 없이는 model 은 incorrect reasoning step 을 할 수 밖에 없어 hallucination 이 발생한다. 마찬가지로, first reasoning step 을 거치지 않으면, second step 이 identify 되지 않는다. 다시 말해, 우리는 correct reasoning step 을 위해 retreived fact 가 필요하고, relevant fact 를 retrieve 하기 위해 reasoning step 이 필요하다.
이 intuition 을 통해 저자들은 Interleaving Retrieval to CoT (IRCoT) 를 제안한다. Figure 1 이 IRCoT 의 overview를 잘 나타낸다. 우선, question 을 query 로 하여 base paragraph set 을 retrieval 한다. 이후, (i) extent CoT : question, 지금까지의 paragraph, 그리고 지금까지 생성된 CoT sentence 를 통해 다음 CoT sentence 를 생성하고, (ii) exapnd retreived information : 마지막 CoT sentence 를 통해 최종적으로 information retrieval 을 해와 collected set 을 구성한다. CoT 문장이 정답을 추출하거나, maximum allowed number of reasoning step 이 될 때 까지 이 행동을 반복하다가, termination 과 함께 collected paragraph 가 retrieval outcome 으로 함께 나오고, 이 것들을 모두 context 로 활용하여 QA prompting (GPT-3) 혹은 CoT prompting (Zero-shot CoT)을 통해 결과를 도출한다.
4 개의 multi-step reasoning dataset 인 HotpotQA, 2WikiMultihopQA, MusSiQue, 그리고 IIRC 에 대해 code-davinci-002 를 활용하였을 때, 매우 큰 성능향상을 보인다. 또한, Flan-T5 11B, 3B, 700M 같은 작은 모델에 대하여도 비슷한 성능을 보인다. 특히, Flan-T5-XL (3B) 모델에 대하여, IRCoT 를 적용할 경우, 58배 큰 GPT-3 with one-step retrieval 방법보다 더 좋은 성능을 보인다. 게다가, 이 성능향상은 out-of-distribution (OOD) 에서도 같은 경향을 보인다. 마지막으로, 최근 few-shot open-domain QA (ODQA) 의 그 어떤 모델들 보다도 훨씬 QA score 가 높다. (DecomP, Self-ask, ReAct)
Chain-of-Thought-Guided Retrieval and Open-Domain QA
Goal 은 Knowledge-intensive multi-step reasoning question Q 를 few-shot setting 으로 해결하는 것이다.
이를 위해 retreive-and-read paradigm 을 활용한다. 이는 retriever 가 먼저 knowledge source 로 부터 document 를 retrieval 해온 뒤, QA model 이 answer 를 생성한다. IRCoT 방법론은 주로 retrieve step 에 치중되어 있고, read step 에서는 standard prompting startegy 를 활용한다.
Interleaving Retrieval with Chain-of-Thought Reasoning
IRCoT 은 세 가지로 구성되어 있다. (i) base retriever : query 를 받아 knowledge source 로 부터 paragraph 를 추출한다. (ii) zero/few-shot CoT 가 가능한 LLM (iii) reasoning step 을 통해 answer 에 도달할 수 있는 annotated CoT question 들이다. 우선, 위의 그림처럼 base retriever 가 query Q 를 통해 K 개의 paragraph 를 retrieval 해 온다. 이후 reason 과 retrieve 라는 two step 를 iteratively interleave 한다. (termination criterion 이 될 때 까지)
Retireval-guided reasoning step (““REASON””) 은 question, 지금까지 추출된 paragraph 그리고 지금까지의 CoT 문장들을 통해 next CoT 문장을 생성한다. prompt 는 아래와 같다.
In-context learning (ICL)을 위해 위의 full prompt 를 demonstration 으로 활용하고, Test (inference) 과정에서는 CoT 를 채워나가게 한다. Reason-step 에서 여러 문장이 생성될 수 있지만, 첫 번째 문장만 취하고 나머지는 버린다. ICL demonstration 을 위한 full prompt 에서 paragraph 는 ground-truth 를 하나 넣은 후 M 개의 randomly sampled paragraph 를 concat 한다. Test instance 에서는 모든 paragraph 를 활용한다. 만약, 생성된 CoT 문장이 “answer is “ 로 시작하거나, 지정해놓은 maximum number step (8) 에 도달하면, process 를 종료하고, 모든 retrieval result 를 return 한다.
CoT-guided retrieval step(““RETRIEVE””) 는 마지막에 생성된 CoT 문장을 query 로 하여 paragraph 를 추출하고, 이 것을 collected set 에 추가한다.
QA model
최종적으로 retrieval 되어온 collected set 과 question 을 활용하여 QA reader 가 answer 를 추출한다. 두 가지 잘 알려진 QA prompting 을 활용하는데, 첫 번째는 CoT prompting (zero-shot/few-shot CoT) 이고 두 번째는 GPT-3 prompting 이다. CoT prompting 은 위에서 봤던 prompt 와 동일하며, 만약 마지막 CoT 문장이 “answer is…” 였다면 programmatically 정답이 추출된다. 그렇지 않다면, full generation 을 통해 answer 를 return 한다. GPT-3 prompting 에 대하여는 CoT prompt 전체를 answer field (“A: “) 으로 대체한다.
Experimental Setup
4 개의 데이터셋 : HotpotQA, 2WikiMultihopQA, answerable subset of MuSiQue, 그리고 answerable subset of IIRC 를 통해 open-domain multi-step QA 를 평가한다. HotpotQA 에는 Knowledge source 로 Wikipedia 를 활용하였고, 나머지는 원래 associated 된 knowledge source 를 활용한다.
Models
Retriever 로는 Elasticsearch 에 구현되어 있는 BM25 를 활용한다. 아래의 두 가지 retriever system 을 비교한다: (i) One-step Retriever (OneR) : question 을 query 로 하여 K 개 paragraph 를 추추랗ㄴ다. K 는 {5,7,9,11,13,15} 에서 고른다. (ii) IRCoT Retriever : CoT generator 모델로는 OpenAI GPT3 (code-davinci-002) 와 Flan-T5-*를 활용한다.
In-context demonstration 을 위해서 각 데이터셋 마다 20 개의 CoT question 을 작성하였고, 그 중 15 개를 sampling 하여 3 개의 training demonstration 을 만들었다. 모든 실험에서, dev set 에서 best hyperparamter 를 찾은 뒤 test set 에 대하여 실험하였다. Test 단계에서는 최대한 많은 demonstration 을 pack 하여 입력으로 하였고, GPT-3 의 경우 8K word piece limit 을 전부 활용하고, Flan-T5-* 의 경우 GPU 용량 (80G A100) 문제로 6K word piece 를 활용한다. IRCoT retriver 은 K 는 {2,4,6,8} 에서 고르고, M 은 {1,2,3} 에서 고른다.
Retriever Metric 으로는 최종적으로 추출되는 15 개의 paragraph 에 대하여, gold paragraph 에 대한 recall 값을 측정한다. dev set 에서 recall 이 최대가 되게 하는 K 를 고르고, test set 에서 그 K 값을 활용한다.
QA Reader 로는 reason-step 에서 활용한 LM 과 같은 LM 을 활용한다. Flan-T5-* 의 경우, direct prompting strategy 가, GPT3 의 경우 CoT prompting 이 더욱 효과적이었다. 따라서, Flan-T5-* 로 QA 할 때는 Direct prompting 을, CoT with GPT3 로 QA 할 때는 CoT prompting 을 활용하였다.
Open-domain QA (ODQA) model : 최종적으로 비교대상이 되는 ODQA model 은 다음과 같다. OneR QA, IRCoT QA, 그리고 retrieve-less QA reader 인 NOR QA 을 통해 closed-book 으로 LM 이 얼마나 잘하는지 본다.
Results
IRCoT retrieval is better than one-step.
Figure.3 에서 Retreival Recall 값에 대해Flan-T5-XXL 과 GPT3 에 대해 OneR 과 IRCoT 를 비교한다. 두 모델에 모두 IRCoT 가 확실한 성능 우위를 가져간다.
IRCoT QA outperforms NoR and OneR QA.
Figure.4 에서 ODQA performance 를 NoR, OneR, 그리고 IRCoT 를 비교한다. 마지막 IIRC 에서의 GPT3 모델을 제외하고 IRCoT 가 성능향상을 보였는데, Figure.3 에서 21 점이나 앞선 것에 대비하면, 놀라운 결과이다. 그 이유는 바로 GPT3 의 학습에 이미 IIRC relevant knowledge 가 존재하기 때문이다.
IRCoT is effective in OOD setting.
CoT 가 new dataset 에 대해서 항상 잘하는 것은 아니기 때문에, NoR, OneR, IRCoT 에 대해서 OOD setting 에 대해서 실험을 한다. OOD setting 을 위해 prompt demonstration 을 하나의 dataset 에 대해서 진행하고, 나머지 dataset 으로 evaluate 한다. Figure.5 의 Recall 값과 Figure6. 에서 Answer F1 에서 모든 경우에 대해서 같은 경향성으로 IRCoT 가 우세하다.
IRCoT generates CoT with fewer factual errors.
Generated CoT 의 factuallity 를 assess 하기 위해, 40 개의 radnomly sampled question 을 통해 factual error 를 검사해보았다. Figure.7 에서 볼 수 있듯이, NoR 이 가장 많은 factual error 를 보였고, OneR 은 더 적은, IRCoT 는 가장 적은 error 를 보였다. 아래에서 정성적인 결과 (Qualitative Result) 를 볼 수 있다.
IRCoT is also effective for smaller models.
Smaller model 에 대한 IRCoT 의 성능은 위에서 볼 수 있다. 심지어 Figure.9 에서 IRCoT 의 3B 모델이 58배 큰 GPT3 모델 OneR 혹은 NoR 보다 훨씬 강력하다.
IRCoT is SOTA for few-shot multistep ODQA.
Different Method 와 Different API 가 활용되었기 때문에, Apple-to-Apple 비교는 어렵지만, 그럼에도 불구하고 IRCoT 가 기존의 DecomP, ReAct, Self-Ask 같은 State-of-the-Art 모델보다 훨씬 좋은 성능을 보였다.
Conclusion
Chain-of-thought prompting has significantly improved LLMs’ ability to perform multi-step reasoning. We leveraged this ability to improve retrieval, and in turn, improve QA performance for complex knowledge-intensive open-domain tasks in a few-shot setting. We argued that one-step questionbased retrieval is insufficient for such tasks, and introduced IRCoT, which uses interleaved CoT reasoning and retrieval steps that guide each other step-by-step. On four datasets, IRCoT significantly improves both retrieval and QA performance when compared to one-step retrieval, for both large and relatively smaller-scale LMs. Additionally, CoTs generated by IRCoT contain fewer factual errors.