[논문리뷰|NLP]Specializing Smaller Language Models towards Multi-step Reasoning

1

논문리뷰

목록 보기
29/29

https://arxiv.org/pdf/2301.12726.pdf

Main RQ

일반적으로 query가 주어지고 그에 대한 answer를 주는 QA와 달리 multi-step reasoning은 LM에게 해당 정답이 나올 때까지의 추론 과정을 요구한다. mult-step 자체를 평가하기는 어렵기에 대부분의 benchmark에서 accuracy와 함께 perplexity를 보는 task이다. 해당 task가 쉽지 않기에 LLM 역시 완벽하지는 않으나 어느 정도의 성능을 발휘하는 반면, SLM의 성능은 매우 낮다.

논문은 SLM이 LLM만큼 general한 능력은 없으나 특정 domain dataset에서는 강점을 보일 수 있지 않을까라는 질문에서 시작한다. 해당 질문을 만족한다는 것을 가설로 내세우고 SLM이 general한 능력을 잃는 대신 target domain dataset에 대해서는 높은 성능을 보일 수 있음을 보였다.

Method

가설 증명을 위해서 학습시킬 모델은 T5에 Instruction tuning을 거친 FlanT5의 4가지 모델(250M ~ 11B)을 사용했으며 teacher model로는 GPT-3.5(Code-Davinci-002)를 선택해 사용했다. 학습에 사용한 dataset은 GSM8K이며, OOD data에 대한 general 성능을 측정하기 위해 MultiArith, ASDiv, SVAMP를 추가적인 test dataset으로 활용했다.

학습에 사용되는 데이터는 총 4가지 유형으로 In-context answer only, In-context chain-of-thought, Zero-shot answer-only, Zero-shot chain-of-thought이며 chain-of-thought를 만들기 위해 GPT-3.5를 활용했다.

Knowledge Distillation 방법으로는 일반적인 학습 방법으로 볼 수 있는 sample matching과 log-likelihood를 계산하고 그것을 보정해주는 distribution matching이 있는데 논문은 후자를 선택했다. GPT API가 top5에 대한 log likelihood 밖에 보여주지 않으나 대체로 1에 수렴하기에 top5에 들지 않는 token의 likelihood는 0으로 만들었다.

마지막으로 GPT와 T5의 tokenizer가 달라서 생기는 문제를 DP로 해결했다. tokenizer를 matching하는 과정에서 이미 알고 있는 distance와 각각의 생성된 token을 1씩 전진시킬 때의 cost의 합이 최소화되는 방향으로 matching을 진행했다. 이에 따라 각 token은 1:1 matching이 아닌 다:다 matching이 진행될 수 있었다.

주요 Results

Trading generic abilities for math CoT reasoning

논문의 가장 중요한 결과로 11B의 SVAMP 데이터셋을 제외하고 task domain에 대한 성능이 올랐으나 general 성능으로 볼 수 있는 BigBech-Hard에서는 model 성능이 떨어졌다. GSM8K 하나의 데이터셋에 대해서만 학습을 진행했으나 다른 dataset에서도 성능 상승이 있다는 점에서 dataset에 대한 over-fitting이 아니라고 볼 수 있다. 하지만 그만큼 general한 성능은 떨어졌으며 특히나 과정을 제시해야 하는 CoT에 대해서는 성능 저하가 매우 컸다.

Smaller models have log-linear, but not flat scaling curve

일반적으로 SLM은 reasoning을 전혀하지 못하는 모델로 평가되며 LLM으로 parameter가 증가함에 따라 급격한 성능 상승을 얻는 phase change가 있을 것이라는 community의 믿음이 있었으나 CoT 데이터를 통해 log-linear한 성능 상승 그래프를 보여주었다. 즉, SLM 역시 multi-step reasoning이라는 task에 대해 target doamin을 잡는다면 어느 정도의 성능을 보일 수 있음을 증명했다.

In-context data preserves zero-shot ability; Zero-shot data loses in-context ability

data에 대한 ablation study를 했을 때에 in-context data로만 학습했을 때에 zero-shot에 대해서는 성능이 유지되었으나 zero-shot으로만 학습했을 때에는 in-context data에 대해서는 성능을 보이지 못함.

발전방향

최근의 SLM에 대한 수요와 연구가 증가하고 있으며 general한 task보다 내가 원하는 domain에 대한 성능을 보다 효율적으로 뽑아내고자 하는 연구가 많이 진행되고 있다. 그러한 연구의 시작점이 되는 논문으로써 이전에도 읽어본 적이 있었다.

model의 parameter 개수를 dimension이라고 생각하고 학습 과정을 해당 dimension에서 task를 잘 하는 지점에 대한 점진적 접근이라고 볼 수 있다. 이때, general한 성능을 얻기 위해서는 더 많은 dimension이 필요하지만 domain specific할 경우 parameter의 개수가 적더라도 어떤 방식으로 어떻게 학습시키는가를 통해 지점에 접근할 수 있다는 것을 보여주었다. 이러한 지점의 연장선에서 architecture는 dimension자체를 조작하는 것이므로 architecture와 모델의 변화를 통해 보다 효율적인 SLM을 찾는 연구에 대해 생각해보게 되었다. 그러한 연구의 연장선 상에서 "Knowledge is a Region in Weight Space for Finetuned Language Models"와 같은 논문을 발견했고 찾아보고 싶다.

profile
프리미어와 IDE만 있다면 무엇이든 만들 수 있어

0개의 댓글