본문 바로가기

자연어처리/Reasoning

Large language models are reasoning teachers

■ CoT prompting은 LMs이 complex reasoning tasks을 step-by-step으로 해결하도록 이끌어낼 수 있음을 보여주었다. 그러나 CoT prompting은 GPT-3 175B와 같은 매우 큰 모델들에서 효과가 있었고, 이러한 large models은 대규모로 배포하기에는 비용이 지나치게 크다. 

■ 논문에서는 이러한 large models을 reasoning teacher로 사용하여 smaller models에서도 complex reasoning이 가능하도록 만드는 것을 목표로 한다. 

■ 이를 위해 매우 큰 teacher model로부터 reasoning sample을 생성하고, 이를 사용해 smaller models을 파인튜닝하는 Fine-tune-CoT 방법을 제안한다. 

■ 추가로, teacher model이 각 original sample에 대해 서로 다른 여러 rationales을 생성할 수 있는 능력을 활용하여 방법을 확장한다. 

■ 이러한 다양한 reasoning으로 fine-tuning data를 풍부하게 만들면, 매우 작은 모델에서도 여러 데이터셋 전반에 걸쳐 상당한 성능 향상이 나타난다. 

[2212.10071] Large Language Models Are Reasoning Teachers

 

Large Language Models Are Reasoning Teachers

Recent works have shown that chain-of-thought (CoT) prompting can elicit language models to solve complex reasoning tasks, step-by-step. However, prompt-based CoT methods are dependent on very large models such as GPT-3 175B which are prohibitive to deploy

arxiv.org

 

1. Introduction

■ LLMs은 in-context generalization 능력을 보여주었다. 이는 few in-context exemplars나 단순히 자연어로 구성된 task descriptions만을 조건으로 주어도 downstream tasks을 수행할 수 있다는 의미이다. 

■ 이러한 발전에도, 가장 큰 LLM들조차 multiple reasoning steps을 요구하는 complex tasks에서는 어려움을 겪는 것으로 밝혀졌다. 

■ 이 문제를 해결하기 위한 방법으로, LLM에게 CoT reasoning을 수행하도록(즉, intermediate reasoning steps을 생성하도록) 프롬프트를 주면(프롬프트 안에 CoT demonstration을 exemplars로 제공함으로써) reasoning abilities을 이끌어낼 수 있음을 보여주었다.  

■ 이후에는 think step-by-step는 자연어 instruction만 제공해도 CoT reasoning을 수행하도록 프롬프트할 수 있음을 발견했다. (Zero-shot CoT) 

■ prompt-based CoT reasoning 방법의 주요 한계는 수천억 개의 파라미터를 가진 극도로 큰 모델에만 잘 작동한다는 것이다. 이러한 모델들은 막대한 계산 요구량과 추론 비용 때문에 대규모로 배포하기 어렵다. 

■ 이에 논문에서는 Fine-tune-CoT라는 접근법을 제안한다. 대규모 배포에 더 적합한 작은 모델에서도 complex reasoning이 가능하도록 하는 것을 목표로 한다. 

■ Fine-tune-CoT는 very large LMs의 reasoning capabilities을 활용하여 small models이 complex tasks을 해결하는 방법을 배우도록 한다. 

■ 기존의 zero-shot CoT prompting을 very large teacher models에 적용하여 rationales을 생성하고, 이를 사용해 smaller student models을 파인튜닝한다. (Fig 2) 

■ small models을 hand-annotated한 reasoning steps로 파인튜닝하려는 시도들이 있었지만, 이러한 방법들은 대게 task-specific training setups과 high-quality rationales을 필요로 하며, 이런 rationale을 annotate하는 데는 많은 비용이 든다. 

■ 반면, 저자들의 접근법은 hand-crafted reasoning이나 task engineering 없이도 새로운 downstream task에 쉽게 적용될 수 있다. 

■ 추가로, Fine-tune-CoT의 teaching effect를 극대화하기 위해 diverse reasoning이라고 부르는 새로운 방법을 제안한다. 

■ complex tasks은 서로 다른 여러 해결 방법을 가질 수 있다는 직관에서 영감을 받아, stochastic sampling을 사용해 teacher model로부터 여러 reasoning solutions을 생성하고, 이를 통해 student model의 training data를 증강한다. 

■ 저자들은 이것이 student model의 성능을 극대화하는 간단하면서도 매우 효과적인 접근법이라는 것을 발견했으며, CoT reasoning을 이용한 fine-tuning에 관한 동시대 연구들에서는 이 점이 명시적으로 인식되지 않았다고 본다.  



2. Chain-of-Thought Fine-Tuning

■ 저자들은 Fine-tune-CoT가 small LMs에서도 CoT reasoning을 가능하게 하기 위한 task-agnostic 접근법이라고 소개한다. 

■ 핵심 아이디어는 CoT prompting을 사용하여 very large teacher models로부터 reasoning samples을 생성하고, 이 samples을 사용해 small student models을 파인튜닝하는 것이다. 

■ 범용성을 극대화하고 teacher inference costs의 비용을 최소화하기 위해, teacher model에 task-agnostic Zero-shot-CoT prompting 방법을 사용한다. Zero-shot-CoT는 reasoning examples이나 long inference context를 필요로 하지 않기 때문이다.  

Step 1. Reasoning generation

■ 먼저 주어진 task에 대해 CoT reasoning explanations을 생성하기 위해 large teacher model을 활용한다.

■ sample \( S_i \)가 question \( q_i \)와 그것의 answer \( a_i \)로 구성된다고 하자.

■ Zero-shot-CoT를 사용하여 \( q_i \)를 풀기 위한 reasoning explanation, 즉 rationale \( \hat{r}_i \)를 생성하고, final answer prediction \( \hat{a}_i \)를 만든다.  

■ 프롬프트와 생성 결과를 포함한 최종 텍스트 시퀀스의 form은 다음과 같다: "Q: <\( q_i \)>. A: Let’s think step by step. <\( \hat{r}_i \)> Therefore, the answer is <\( \hat{a}_i \)>"  

Step 2. Curation

■ 다음으로, 생성된 samples을 필터링하고 이를 prompt-completion pairs로 다시 포맷한다.

■ 필터링을 위해, 기존 연구들을 따라 teacher model의 final prediction \( \hat{a}_i \)를 ground-truth answer \( a_i \)와 단순 비교한다. 

■ 단, 이러한 answer-based filtering은 rationales의 정확성을 보장하지 않는다. 다시 말해 final answer만 맞았다고 해서 전체 풀이 과정이 항상 올바르다고 가정할 수 없다.  

■ \( \hat{a}_i = a_i \)인 모든 instance \( i \)에 대해, \( (S_i, \hat{r}_i, \hat{a}_i) \)를 하나의 prompt-completion pair \( S_i' = (p_i, c_i) \)로 다시 구성한다. 

■ inference-time에서 효율성을 극대화하기 위해, 토큰 사용량을 최소화하도록 special-character based delimiters을 사용한다. 구체적으로, prompt \( p_i \)와 completion \( c_i \)는 각각 "<\( q_i \)> ###"와 "<\( \hat{r}_i \)> --> <\( \hat{a}_i \)>END"의 형태로 만든다. 

Step 3. Fine-tune

■ 마지막으로 이렇게 모인 reasoning samples을 사용하여 small pre-trained student model을 파인튜닝한다.

■ pre-training 때 사용된 것과 같은 학습 objective, 즉 autoregressive language modeling objective, next-token prediction을 사용한다. 

Diverse reasoning

■ Fine-tune-CoT의 teaching effect를 극대화하기 위해, 각 training sample에 대해 여러 개의 reasoning explanation을 생성할 수 있다. 

■ 이 접근법은 complex tasks를 해결하는 데 여러 reasoning path가 사용될 수 있다는 직관에서 영감을 받은 것이다.
- complex task는 하나의 풀이만 존재하지 않는 경우가 많다. 예를 들어 하나의 수학 문제도 다양한 방식의 풀이로 문제를 해결할 수 있다.  

■ 저자들은 complex tasks의 이런 특징이 teacher model의 stochastic generation 능력과 맞물릴 때, 단순히 teacher를 여러 번 inference시키는 것만으로도 "diverse reasoning"이 reasoning supervision을 크게 끌어올릴 수 있다고 가정한다. 

■ 구체적으로, 주어진 sample \( S_i \)에 대해, greedy decoding을 사용하는 Zero-shot-CoT로 하나의 explanation-answer pair \( (\hat{e}_i, \hat{a}_i) \)를 얻는 대신, large temperature \( T \)를 사용하여 샘플링해 \( D \)개의 서로 다른 생성 결과 \( \{(\hat{r}_{ij}, \hat{a}_{ij})\}_{j}^D \)를 얻는다. 이후의 reasoning sample curation과 fine-tuning은 이전과 동일하게 진행된다. 

■ 저자들은 \( D \)를 degree of reasoning diversity라고 부른다. 



3. Experiments

Models

■ Fine-tune-CoT의 teacher로 InstructGPT 175B 기반의 text-davinci-002를 사용한다. student model로는 네 가지 model families을 고려한다. main experiments에서는 OpenAI API를 통해 쉽게 파인튜닝할 수 있기 때문에 GPT-3의 ada, babbage, curie를 사용한다. 

■ 다양한 open-source model도 고려한다. decoder-only architecture의 대표 모델 family로 GPT-2 Small, Medium, Large를 사용하고, encoder-decoder architecture의 대표 모델 family로 T5 Small, Base, Large를 사용한다.  

■ 또한 Fine-tune-CoT를 적용하기 전에 student model에 대한 instruction tuning의 영향을 확인하기 위해, T5의 instruction-tuned version인 Flan-T5 Small, Base, Large도 사용한다. 

■ 이러한 student model들은 teacher model보다 25배에서 2500배 더 작다.

Baseline methods

■ Fine-tune-CoT를 네 가지 baseline 방법과 비교한다. 네 baseline은 standard zero-shot prompting, vanilla fine-tuning, Zero-shot-CoT, Few-shot-CoT이다. 

■ training sample \( \{(q_i, a_i)\}_i \)가 주어졌을 때, zero-shot prompting에는 "Q: <\( q_i \)>"라는 format을 사용한다.  

■ vanilla fine-tuning의 경우, prompt와 completion을 각각 "<\( q_i \)>$ ###" 및 "<\( a_i \)> END" format으로 맞춘다.   

■ teacher에서 diverse reasoning을 수행할 때는 Self-consistency를 따라 \( T=0.7 \)의 temperature sampling을 사용한다.  


3.1 Results

Fine-tune-CoT elicits complex reasoning in small models

Zero-shot-CoT는 175B 모델에서는 뛰어난 성능을 보이지만, 세 개의 smaller models에서는 complex reasoning을 수행하지 못하며 모든 tasks에서 저조한 성능을 보여준다. 

■ Fine-tune-CoT는 상당한 reasoning 성능을 이끌어내며, smaller models을 사용할 때 Zero-shot-CoT보다 큰 성능 향상을 보이고, 절반이 넘는 task에서 fine-tuning과 Few-shot-CoT를 모두 능가한다. 

■ arithmetic에서 Fine-tune-CoT는 MultiArith에서 33% 정확도를 달성한 반면, Zero-shot-CoT는 5%에 그친다. Few-shot-CoT와 fine-tuning은 각각 10%와 15%만 달성한다. 

■ 두 개의 commonsense reasoning task에서, Fine-tune-CoT는 거의 random 수준인 Zero-shot-CoT 성능을 각각 37%와 5% 능가한다. 

■ 더 나아가, Fine-tune-CoT는 CommonSenseQA에서 Few-shot-CoT를 32% 능가하며, StrategyQA에서는 비슷한 성능을 보인다. 

■ GSM8K나 AQUA 같은 task에서는 여전히 어려움을 겪는다. 저자들은 Fine-tune-CoT의 성능이 지나치게 복잡하지 않은 tasks에서 가장 두드러진다고 결론짓는다.  

Small models can outperform very large teachers in reasoning

■ Table 1은 Fine-tune-CoT가 175B teacher model과 비교했을 때 small models에서도 매우 효과적이라는 것을 보여준다.

■ Shuffled Objects 및 Coin Flip에서 Fine-tune-CoT는 1.3B 또는 6.7B 파라미터 모델을 사용해 teacher model보다 더 좋은 성능을 보였으며, 이는 필요한 파라미터 수를 약 25배에서 100배 줄인 것이다. 

■ 또한 0.3B 모델에 Fine-tune-CoT를 적용했을 때, Zero-shot-CoT를 사용한 6.7B 모델보다 일관되게 더 좋은 성능을 보인다. 이는 모델 크기가 크게 줄어들더라도, Fine-tune-CoT가 baseline에 비해 더 넓은 범위의 능력을 이끌어낼 수 있음을 보여준다. 

Diverse reasoning substantially improves Fine tune-CoT performance

■ diverse reasoning의 학습 효과를 확인하기 위해, MultiArith와 SVAMP에서 세 가지 모델 크기에 걸쳐 sample당 1개에서 64개의 reasoning explanation을 사용하여 Fine-tune-CoT를 적용한다. 

■ Figure 3은 diverse reasoning이 Fine-tune-CoT를 사용하는 student model의 성능을 크게 향상시킬 수 있음을 보여준다. 

■ 또한, diverse reasoning이 Fine-tune-CoT의 성능을 끌어올려 모든 모델 크기에서 Few-shot-CoT와 vanilla fine-tuning의 성능을 모두 능가하게 할 수 있음을 볼 수 있다. 

Fine-tune-CoT consistently benefits from more data

■ 데이터셋 크기에 따른  Fine-tune-CoT의 성능 확장성을 확인하기 위해 ablation을 수행한다.

■ 6.7B 모델의 성능이 task와 무관하게 데이터셋 크기에 따라 명확하게 확장된다. 반면, vanilla fine-tuning은 항상 이러한 양상을 보이지는 않는다. 

Better reasoners are better teachers

■ Fine-tune-CoT를 사용할 때 teacher의 성능이 student의 성능과 상관관계가 있는지 확인한다.

■ 이를 위해, GPT-3의 서로 다른 version들을 teacher model로 사용하고, student model의 크기는 6.7B parameters로 고정한다. 

■ student 성능이 실제로 teacher 성능에 따라 함께 증가하며, 특히 덜 복잡한 tasks인 Date Understanding과 Last Letter에서 이러한 경향이 두드러진다. 그러한 tasks에서는 student의 성능이 teacher의 성능과 매우 가깝게 일치한다. 

■ 저자들은 이러한 scaling effect가 knowledge distillation에서는 당연한 것이 아니라는 점에 주목한다. knowledge distillation에서는 더 좋은 teacher가 항상 더 좋은 distillation 결과로 이어지지는 않기 때문이다. 

Fine-tune-CoT performance scales with model size for small LMs

■ Fine-tune-CoT의 성능이 student size에 따라 일관되게 확장된다. 반면, 두 baseline은 항상 같은 양상을 보이지 않는다. Date Understanding에서는 Few-shot-CoT와 vanilla fine-tuning 모두 확장 가능한 성능을 보이지 않는다. 


3.2 Analysis

Sample study

■ Fine-tune-CoT 방법의 강점과 약점을 파악하기 위해, 모든 데이터셋과 방법에 걸쳐 sample study를 수행한다.

■ 모든 arithmetic task에서, 오류의 큰 비중이 계산에서 발생한다는 것을 발견했다. MultiArith와 SVAMP에서도 많은 semantic error가 나타나지만, 이러한 오류들은 diverse reasoning을 사용하면 크게 줄어든다. 

■ GSM8K와 AQUA처럼 어려운 task에서는, 모든 방법들이 대체로 어려움을 겪는다는 것을 발견했다.

■ commonsense reasoning을 제외한 text-based task와, common linguistic patterns을 포함하는 task에서 매우 효과적이라는 것을 발견했다. 

■ 반면, Zero-shot-CoT를 사용하는 student models은 종종 질문을 반복하거나 일관성 없는 문장을 반복 생성한다는 것을 발견했다. 

■ Few-shot-CoT는 step-by-step sentences을 유도하기는 하지만, student models은 질문의 의미를 거의 이해하지 못하는 것처럼 보이며, 생성 결과에는 종종 logical이나 commonsense errors이 포함된다. 

Nuances of fine-tuning on CoT reasoning

■ 첫째, 저자들은 정답을 맞힌 샘플이라도 잘못된 reasoning을 포함할 가능성이 있음을 인정한다. 실제로 Date Understanding에서 정답을 맞힌 teacher completion 중 27.6%가 reasoning error를 포함하고 있음을 발견했다.  

■ 그러나 rationale filtering에 대한 ablation은 이러한 잘못된 rationale도 student supervision에 도움이 될 수 있음을 시사한다. 

■ 둘째, CoT generation에 흔히 사용되는 maximum sequence length가 종종 불완전한 답변을 초래한다는 것을 발견했다. 

■ reasoning length가 데이터셋마다 다르며, 더 긴 generation은 일반적으로 정확도를 향상시키지만, fine-tuning에는 반드시 유익하지 않을 수 있음을 관찰했다. 

■ 마지막으로, 많은 데이터셋이 common template을 공유하는 샘플들로 구성되어 있어, random train-test split의 타당성을 잠재적으로 약화시킬 수 있음을 발견했다. 



4. Discussion


4.1 Tradeoffs of Fine-tune-CoT

Degree of diverse reasoning

■ diverse reasoning을 통한 성능 이점은 teacher inference 비용을 대가로 한다. 그러므로, diverse reasoning은 development cost와 inference cost/quality 사이의 trade-off를 만든다. 

■ 다시 말해, diverse reasoning으로 얻은 성능 향상은 student 성능을 높이는 데 사용될 수도 있고, 더 큰 student model이 필요하다는 부담을 줄이는 데 사용될 수도 있다. 

■ 저자들은 이는 향후 유사한 distillation method들을 공정하게 평가할 때도 고려되어야 한다고 주장한다.  
- 즉 어떤 distillation 방법이 더 좋은지 비교할 때, 단순히 최종 정확도만 고려하는 것이 아니라 다양한 cost(예: teacher inference budget, data generation cost 등)들을 함께 고려해야 한다. 

Data acquisition

■ data annotation과 diverse reasoning은 모두 fine-tuning data를 늘리는 데 사용되며, 각각 관련 비용이 있다.

■ diverse reasoning은 hand-annotating에 대한 비용 효율적인 대안이 될 수 있다.