■ LLM은 뛰어난 reasoning capability를 보이며, 다양한 tasks에서 SOTA 성능을 달성하고 있다. 그러나 LLM은 수십억 개의 parameter로 인해 계산량과 memory 요구량이 매우 크며, 이 때문에 resource-constrained environment에서 배포하기 어렵다.
■ promising solution은 knowledge distillation으로, LLM이 자신의 reasoning capability를 SLMs (≤ 1B parameters)로 transfer시키는 것이다.
■ 기존 방법들은 주로 distillation dataset을 위해 고품질 reasoning rationale을 생성하는 데 집중하지만, 데이터의 양과 quality가 갖는 역할을 종종 과한다.
■ 이러한 문제를 해결하기 위해, 저자들은 SLM의 mathematical reasoning capability를 향상시키는 Feedback-Driven Distillation (FDD) framework를 제안한다.
■ Initialization stage에서는 LLM에게 prompt를 주어 mathematical problem과 그에 대응하는 reasoning rationale을 짝지은 distillation dataset을 구축한다.
■ 저자들은 SLM의 성능을 기준으로 문제를 easy category와 hard category로 분류한다. 즉 난이도를 student model의 실제 수행 결과로 정의하는 것이다.
■ easy problems에 대해서는 LLM이 complex한 variations을 생성하게 하고, hard problems에 대해서는 비슷한 complexity의 새로운 question을 synthesize한다.
■ 추가로, distillation dataset을 반복적으로 풍부하게 만들기 위해 multi-round distillation paradigm을 제안하며, 이를 통해 SLM의 mathematical reasoning ability를 점진적으로 향상시킨다.
■ 실험 결과는 저자들의 방법이 SLM으로 하여금 SOTA mathematical reasoning performance를 달성하게 할 수 있음을 보여 준다.
Improving Mathematical Reasoning Capabilities of Small Language Models via Feedback-Driven Distillation
Large Language Models (LLMs) demonstrate exceptional reasoning capabilities, often achieving state-of-the-art performance in various tasks. However, their substantial computational and memory demands, due to billions of parameters, hinder deployment in res
arxiv.org
1. Introduction
■ 현재 LLM은 수백억에서 수천억 개의 파라미터를 가지고 있으며, 이는 deployment를 위해 여러 대의 고성능 GPU가 필요하다는 것을 의미한다. 이러한 문제들은 low-resource environments.에서 LLM을 배포하는 데 큰 장애물이 된다.
■ 대규모 배포를 가능하게 하기 위한 현실적인 방법은 knowledge distillation을 활용하여 large LLM의 reasoning capabilities을 SLM (≤ 1B)에 transfer함으로써 SLM의 reasoning performance를 향상시키는 것이다. SLM은 크기가 작기 때문에 자원이 제한된 장치에 더 널리 배포될 수 있다.
■ 기존의 많은 연구들은 LLM을 사용하여 mathematical distillation datasets을 구축했다. distillation dataset의 각 problem은 해당 problem에 대응하는 CoT 또는 PoT 형태의 reasoning rationale과 함께 짝을 이뤄 구성된다.
■ 이러한 datasets은 SLM을 파인튜닝하는 데 사용되며, 이를 통해 SLM의 mathematical reasoning abilities이 크게 향상된다.
■ 이러한 접근법들은 SLM의 mathematical reasoning abilities을 효과적으로 향상시킬 수 있지만, 하나의 잠재적인 단점이 있다. 성공적인 distillation을 위해서는 충분한 양의 distillation data가 필요하다는 점이다.
■ 기존 연구들은 high-quality reasoning rationales을 생성하는 데 초점을 맞추지만, mathematical distillation에서 데이터의 양이 미치는 영향을 간과한다.
■ 반면, 추가 데이터를 구축하는 일은 비용과 시간이 많이 소요될 수 있다. 그러므로 distillation을 위한 충분한 양의 high-quality data를 어떻게 효율적으로 생성할 것인지 탐구하는 것은 연구할 가치가 있는 문제이다.
■ 많은 연구들이 LLM이 기존 original data를 바탕으로 high-quality data를 효과적으로 생성할 수 있음을 보여주었다.
■ 그러나 이러한 접근법들은 모든 original data에 동일한 생성 전략을 적용하며, original data에 대한 student 모델의 성능 차이를 간과한다.
■ 일부 연구는 synthetic data를 생성할 때 original data에 대한 student의 성능을 고려한다. 그러나 student가 성능을 잘 내지 못하는 original data에만 초점을 맞추며, LLM이 그러한 부분에 맞춰 데이터를 synthesize하도록 유도한다.
■ 이는 student가 잘 수행하는 original data에 대한 잠재력을 간과한다. 즉, student가 맞춘 문제도 그냥 버릴 것이 아니라 활용할 수 있다는 주장이다.
■ 이 문제를 해결하기 위해, 저자들은 SLM의 수학적 추론 능력을 향상시키기 위한 Feedback-Driven Distillation (FDD) 프레임워크를 제안한다.
■ 초기화 단계에서 LLM에게 mathematical dataset을 바탕으로 mathematical distillation dataset을 구축하도록 프롬프트를 제공한다. 증류 데이터셋의 각 question은 해당 question에 대응하는 PoT rationale과 함께 구성된다.
■ 그런 다음, 이 distillation dataset을 사용해 SLM을 파인튜닝하고, 이를 통해 SLM의 mathematical reasoning abilities을 향상시킨다.
■ 다음으로, distillation dataset 내의 questions에 대해 SLM의 성능을 평가하고, 이를 hard questions과 easy questions으로 분류한다.
■ easy questions은 SLM이 올바르게 풀 수 있는 questions임을 의미하고, hard questions은 SLM이 풀지 못하는 questions임을 의미한다.
■ easy questions에 대해서는, LLM에게 이러한 questions을 바탕으로 더 complex한 questions을 생성하도록 프롬프트를 제공한다.
■ hard questions의 경우, LLM에게 동일한 도메인과 task type 안에서 비슷한 complexity 수준을 가진 questions을 만들도록 프롬프트를 제공한다.
■ 이렇게 새롭게 생성된 questions은 distillation dataset에 포함되며, 이를 통해 distillation dataset의 scale, complexity, diversity가 확장된다.
■ 마지막으로, 확장된 distillation dataset을 사용하여 SLM을 처음부터 다시 파인튜닝함으로써 mathematical reasoning capabilities을 더욱 향상시킨다.
■ 추가적으로, SLM의 수학적 추론 능력을 반복적으로 향상시키기 위한 multi-round distillation paradigm을 제안한다.
■ 각 라운드에서 이전 라운드의 hard questions과 생성된 questions을 통합하고, 해당 라운드에서 파인튜닝된 SLM을 활용하여 이 questions을 다시 hard 및 easy categories로 재분류한다.
■ 그 후, 어려운 hard 및 easy questions을 바탕으로 LLM이 새로운 questions을 생성하도록 하고, 이렇게 생성된 questions을 distillation dataset에 포함한다.
■ 이렇게 확장된 distillation dataset은 이후 SLM을 처음부터 다시 파인튜닝하는 데 사용되며, 이를 통해 SLM의 mathematical reasoning abilities이 점진적으로 향상된다.
■ 실험 결과, 저자들의 접근법은 SLM의 in-domain 수학 추론 성능을 향상시킬 뿐만 아니라, out-of-domain 수학 추론 능력도 크게 개선한다.
2. Related Work
2.1 Reasoning Distillation
■ reasoning distillation은 LLM의 reasoning abilities을 SLM으로 transferring하는 process를 말한다. 점점 더 많은 연구들이 이러한 reasoning distillation 분야에 주목하고 있다.
■ Distilling Step-by-Step!에서는 LLM으로부터 rationales을 추출하고, SLM이 answers과 rationales을 모두 학습하도록 유도하는 multi-task learning framework를 사용하여 SLM의 추론 성능을 향상시키는 방법을 제안했다.
■ 이를 바탕으로, Large language models are reasoning teachers에서는 LLM이 생성한 CoT를 사용해 SLM을 파인튜닝하면 SLM의 reasoning 능력이 크게 향상될 수 있음을 발견했다.
■ PaD: Program-aided Distillation에서는 CoT 대신 PoT를 사용하여 SLM을 파인튜닝함으로써 이 접근법ㅇ르 더욱 발전시켰고, reasoning 성능에서 추가적인 향상을 달성했다. 이러한 향상은 PoT가 reasoning 과정의 계산 단계 일부를 외부 Python interpreter에 맡기고, SLM은 문제를 해결하기 위한 Python 프로그램을 생성하는 데만 집중할 수 있게 해주기 때문으로 설명된다.
■ Specializing smaller language models towards multi-step reasoning에서는 distribution matching distillation을 도입했는데, 이는 LLM과 SLM의 output distribution 사이의 Kullback-Leibler (KL) divergence를 최소화하여 SLM의 mathematical reasoning abilities을 향상시키는 방법이다.
■ Distilling reasoning capabilities into smaller language models에서는 두 개의 distilled models: problem decomposer and a subproblem solver를 학습시켰다. problem가 주어지면, problem decomposer는 그것을 더 작은 하위 문제들로 분해하고, subproblem solver는 이러한 하위 문제들을 해결하기 위한 CoT를 생성하여 최종적으로 정답을 산출한다.
■ Distilling mathematical reasoning capabilities into small language models은 SLM의 mathematical reasoning capabilities을 더욱 향상시키기 위해 다양한 reasoning format을 활용하는 distillation 프레임워크를 설계했다. 이 프레임워크는 다양한 reasoning formats을 포함하는 distillation dataset을 구축하여 SLM을 효과적으로 파인튜닝한다.
■ 이러한 방법들은 SLM의 reasoning 성능을 효과적으로 향상시킬 수 있지만, 데이터가 부족한 상황이 SLM의 추론 능력에 미치는 영향을 간과하고 있다.
■ 이 문제를 해결하기 위해, 저자들은 추가적인 questions을 생성하고, 이를 사용해 distillation dataset을 확장하도록 설계된 feedback-driven distillation framework를 제안한다. 이렇게 확장된 데이터셋은 이후 SLM의 reasoning 성능을 향상시키는 데 활용된다.
2.2 Data Generation for LLMs
■ "Data Generation for LLMs"는 LLM을 활용하여 데이터를 생성하고, 이를 통해 이후 파인튜닝 tasks에 사용할 데이터셋을 확장하는 것을 의미한다.
■ 예를 들어, Self-Instruct는 LLM이 생성한 출력을 활용하여 instruction-following 데이터셋 구축을 부트스트랩하고, 이를 통해 LLM 자신의 instruction-following 능력을 향상시킨다.
■ MetaMath는 기존 수학 문제를 여러 관점에서 다시 작성함으로써 새로운 데이터셋을 만든다. 이 데이터셋은 open-source LLM을 파인튜닝하는 데 사용되며, 이를 통해 해당 모델들의 수학적 추론 능력이 크게 향상된다.
■ MuggleMath는 data augmentation 전략이 open-source LLM의 수학적 추론 능력과 일반화 능력에 어떤 영향을 미치는지 탐구한다.
■ WizardLM은 기존 instructions을 단계적으로 더 복잡한 instructions으로 다시 작성한다.
■ student LLM의 피드백을 바탕으로 instructions 생성을 customizing함으로써 파인튜닝 데이터셋을 확장하는 접근법도 있다.
■ 이러한 방법들은 student LLM이 강한 성능을 달성하도록 만들 수 있지만, student LLM이 낮은 성능을 보이는 instructions에만 초점을 맞추며, student LLM이 잘 수행하는 instructions이 가진 잠재력을 간과한다.
■ 이러한 접근법들과 달리, 저자들의 방법은 두 유형의 instructions을 모두 고려하며, 각 유형에 대해 서로 다른 생성 전략을 사용한다. 이러한 dual focus 전략은 결과적으로 생성되는 instructions의 complexity, scale, diversity을 향상시킨다.
3. Methodology
■ FDD 프레임워크는 세 단계로 구성된다.
- (1) SLM에게 기초적인 수학적 추론 능력을 갖추게 하는 "initialization stage"
- (2) LLM이 새로운 questions을 생성하여 distillation dataset을 확장하고 다양화하는 "question generation stage"
- (3) 풍부해진 distillation dataset을 사용하여 SLM을 파인튜닝함으로써 수학적 추론 능력을 더욱 향상시키는 "fine-tuning stage"

3.1 Initialization Stage
■ 먼저, SLM이 기초적인 수학적 추론 능력을 갖추도록 하기 위해 distillation dataset을 만든다.
■ primary goal은 SLM이 어려운 질문과 쉬운 질문을 구별할 수 있게 하여, 이후 question generation stage에서 LLM에게 유용한 피드백을 제공하도록 만드는 것이다.
■ 구체적으로, question \( q \)와 \( q \)에 대한 gold answer \( a \)로 구성된 mathematical dataset \( \mathcal{D} \)가 주어졌을 때, LLM에게 데이터셋의 각 mathematical question에 대한 rationale을 생성하도록 프롬프트를 제공한다. 이때, LLM이 CoT 형식이 아니라 PoT 형식으로 rationale을 생성하도록 유도한다.
■ 이렇게 외부 Python interpreter가 계산 실행을 담당하는 역할 분담은 모델의 계산 부담을 줄여준다. 반대로 CoT는 모델이 전체 추론 과정과 계산 과정을 모두 처리해야 하므로, 모델의 작업 부담을 크게 증가시킨다.
■ 또한 PoT는 표현 방식이 자연어인 CoT에 비해 비교적 출력 형식이 제한적이므로, 예측 공간을 좁혀 모델의 표현 복잡도를 낮추고, 모델이 task를 더 쉽게 처리할 수 있게 만든다.
■ 저자들은 primary goal을 위해 mathematical dataset에서 \( k \)개의 questions을 선택하고, 이 questions에 대해 수작업으로 PoT를 작성했다. 이렇게 작성된 questions-PoTs은 demonstration으로 사용된다.
■ mathematical dataset의 각 question에 대해 이 demonstration dataset과 해당 question을 결합하여 instruction을 만들고, 이를 사용해 LLM이 그 question에 대응하는 PoT를 생성하도록 프롬프트를 제공한다.
■ PoT 생성 과정은 다음과 같이 표현될 수 있다.

- 여기서 \( \mathcal{R} \)은 demonstration dataset, \( p \)는 PoT, \( M \)은 LLM, \( \mathcal{F} \)는 decoding function을 나타내며, \( i \)는 question의 index를 의미한다.
■ LLM이 각 질문에 대응하는 PoT를 생성한 후, 외부 Python interpreter를 사용해 해당 PoT를 실행하고 답을 산출한다. 그런 다음 이 산출된 답을 수학 데이터셋에 있는 gold answer와 비교한다.
■ 두 답이 일치하면 해당 PoT는 올바른 것으로 간주되고, 그렇지 않으면 잘못된 것으로 판단되어 폐기된다. 이 과정은 생성된 PoT의 품질을 보장하는 데 도움을 주며, 더 높은 품질의 distillation dataset을 구축할 수 있게 하고, 궁극적으로 파인튜닝된 SLM의 수학적 추론 성능을 향상시킨다.
■ 마지막으로, 각 항목이 mathematical question과 그에 대응하는 PoT solution으로 구성된 mathematical distillation dataset \( \mathcal{D}_p \)를 얻는다.
■ 그런 다음, 이 mathematical distillation dataset을 사용해 SLM을 파인튜닝하고, 이를 통해 SLM이 기초적인 수학적 추론 능력을 습득하도록 한다.
■ 각 mathematical question에 대해, 그 question을 prompt \( pr \)인 "Let’s generate a python program to solve the question."과 결합하여 입력 instruction을 만들고, 그에 대응하는 PoT를 출력으로 사용한다.
■ fine-tuning loss function은 다음 식 (2)로 나타낼 수 있다.

- 여기서 \( N \)은 mathematical distillation dataset 안의 데이터 수를 나타내며, \( p:_{T} \)는 PoT의 시퀀스를 의미한다.
■ 새로운 mathematical question이 주어지면, 파인튜닝된 SLM은 PoT를 생성하고, 이후 Python interpreter를 사용해 이를 실행함으로써 답을 산출한다.
3.2 Question Generation Stage
■ 기존 연구들은 파인튜닝 데이터셋의 complexity와 diversity가 SLM의 reasoning 성능을 형성하는 데 중요한 역할을 한다는 것을 보여주었다.
■ 이러한 통찰을 바탕으로, 저자들은 SLM의 수학적 추론 능력을 향상시키기 위해 mathematical distillation dataset의 complexity와 diversity를 높이고자 한다.
■ 구체적으로, initialization stage에서 파인튜닝된 SLM을 사용하여 mathematical distillation dataset의 각 데이터에 대해 추론을 수행하고, 그에 대응되는 answer를 생성한다. 그런 다음 생성된 답을 gold answer와 비교한다.
■ 생성된 답이 gold answer와 일치하지 않으면, 해당 데이터(즉, question)를 hard question으로 분류한다. hard로 분류되는 questions은 SLM이 아직 그 문제를 완전히 익히지 못했다는 것을 의미한다.
■ 인간 교육 방식에서 학생들이 특정 문제를 푸는 방법을 익히면, teacher는 종종 원래 문제를 바탕으로 더 도전적인 문제를 만든다. 이러한 접근은 학생들이 관련 지식에 대한 이해를 심화하는 데 도움을 준다.
■ 반대로, 학생이 어떤 문제를 어려워한다면, teacher는 일반적으로 유사한 지식 범위와 난이도를 가진 추가 문제를 만들어, 학생이 관련 문제들을 반복적으로 접하면서 학습할 수 있게 한다.
■ 이러한 접근에서 영감을 받아, feedback-driven question generation strategy를 도입한다.
■ easy question의 경우, LLM에게 question의 complexity를 높여 새로운 question을 생성하도록 프롬프트를 제공한다.
■ 반대로, hard question의 경우에는 self-instruct 접근법과 유사한 방법을 사용하여, LLM이 그 hard question과 유사한 질문을 생성하기 위한 seed로 다루도록 프롬프트를 제공한다.
■ question generation process는 다음과 같이 표현될 수 있다.

- 여기서 \( q_{new} \)는 새로 생성된 question, \( q_{old} \)는 original question, \( \mathcal{I} \)는 LLM이 새로운 question을 생성하도록 유도하는 instruction (Appendix A)을 의미한다.
■ 새로운 question을 얻은 후, 섹션 3.1에서 설명한 접근법을 따라 LLM에게 해당 question에 대한 PoT를 생성하도록 프롬프트를 제공한다.
■ 그런 다음, Python interpreter를 사용하여 이 PoT로부터 answer를 추출한다. PoT와 answer의 품질을 모두 보장하기 위해, 모델이 여러 개의 PoT를 생성하도록 프롬프트를 제공한다.
■ 그런 다음, 이러한 PoT들로부터 answers을 추출하고, voting mechanism을 적용하여 가장 많은 표를 얻은 answer를 gold answer로 선택한다.
- 새로 생성된 문제에는 원래 정답이 없다.
- 저자들은 새롭게 생성된 문제의 정답을 신뢰성 있게 설정하기 위해, 단일 PoT의 output을 gold answer로 채택하는 대신, 여러 개의 PoT를 생성해서 도출된 answers 간의 다수결 투표를 통해 가장 많은 선택을 받은 answer를 gold answer로 사용한다.
■ gold answer에 대응되는 PoT들은 올바른 것으로 간주되며, 해당 question과 함께 distillation dataset에 추가된다. 이 접근법은 distillation dataset의 complexity와 diversity를 향상시키는 데 도움을 준다.
3.3 Fine-tuning Stage
■ distillation dataset을 확장한 후, 이 데이터셋을 사용하여 SLM을 파인튜닝한다. 이를 통해 SLM의 수학적 추론 능력을 향상시킨다. SLM의 파인튜닝 과정은 섹션 3.1에서 설명한 방법을 따른다.
■ distillation dataset의 각 question에 대해, 해당 question을 "Let’s generate a Python program to solve the question."라는 프롬프트와 결합하여 input instruction을 구성한다.
■ 이 input instruction은 SLM을 파인튜닝하는 데 사용되며, 이를 통해 SLM이 각 question에 대응하는 PoT를 생성할 수 있게 된다.
■ catastrophic forgetting을 피하기 위해 distillation dataset을 사용하여 SLM을 처음부터 파인튜닝한다.
3.4 Multi-Round Distillation Paradigm
■ SLM의 수학적 추론 능력을 반복적으로 향상시키기 위해 multi-round distillation paradigm을 추가로 제안한다.
■ multi-round distillation paradigm은 LLM이 SLM의 학습 상태를 최신 상태로 반영할 수 있게 하며, 이를 통해 SLM의 현재 학습 진도에 더 잘 맞는 questions을 생성할 수 있게 한다.
■ 구체적으로, 먼저 Initiation stage의 방법을 적용하여 초기 distillation dataset을 구축한다. 그런 다음 이 데이터셋을 사용하여 SLM을 파인튜닝하고, 이를 통해 SLM이 기초적인 수학적 추론 능력을 습득하도록 한다.
■ 결과적으로 이는 SLM이 LLM에게 유용한 피드백(easy 및 hard question)을 제공할 수 있게 하며, LLM이 그 정보를 바탕으로 맞춤형 questions을 생성하도록 가이드한다.
■ SLM을 초기화한 후, 초기 distillation dataset의 모든 데이터를 다음 라운드의 seed pool에 추가한다. 그런 다음 초기화된 SLM을 사용하여 seed pool의 데이터를 hard question 또는 easy question으로 분류하고, 그에 따라 hard pool과 easy pool에 각각 배치한다.
■ hard pool에 있는 데이터에 대해서는 LLM이 비슷한 유형과 난이도의 questions을, easy pool에 있는 데이터에 대해서는 더 challenging한 questions을 생성한다.
■ 이렇게 새롭게 생성된 questions은 증류 데이터셋에 추가되며, 이후 확장된 이 데이터셋을 사용해 SLM을 처음부터 다시 파인튜닝한다.
■ 이후 각 라운드에서는 이전 라운드의 easy question을 seed pool에서 제외한다. 대신, 새롭게 생성된 questions과 hard questions만 seed pool에 추가한다.
■ 이를 통해 중복을 피한다. 모델은 이전 라운드의 easy question에서 관련 지식을 이미 학습했으며, 그 easy question으로부터 파생된 더 복잡한 질문들은 이미 seed pool에 포함되어 있기 때문이다.
- 예를 들어 어떤 easy question A에서 더 복잡한 question A'이 생성되었다면, 다음 라운드에서는 A를 다시 seed로 사용하지 않는다. A는 이번 라운드에서 SLM이 학습했으며, A에서 파생된 A'이 있기 때문이다.
■ 이러한 전략은 데이터셋 크기를 줄이고, 데이터 생성 비용을 낮추며, 파인튜닝 효율성을 향상시킨다.
■ 위와 같은 과정이 multi-round로 진행된다. LLM은 새로운 questions을 생성하고, 생성된 questions은 distillation dataset에 추가되며, 이 데이터셋으로 SLM을 scratch부터 다시 파인튜닝한다.
4. Experiments
4.1 Dataset
■ 7,473개의 examples로 구성된 GSM8K training set을 실험을 위한 수학 추론 데이터셋으로 사용한다. 이 GSM8K training set을 바탕으로 LLM이 mathematical distillation dataset을 구축하도록 프롬프트를 제공한다.
■ 얻어진 mathematical distillation dataset으로 SLM을 파인튜닝하여 SLM의 수학적 추론 능력을 향상시킨다.
■ 1,319 examples의 GSM8K test set에서 SLM의 수학적 추론 성능을 평가한다. 추가로, SLM의 수학적 추론 능력의 전이 가능성을 확인하기 위해 ASDiv 2,300 samples, SVAMP 1,000 samples, MultiArith 180 samples에서도 평가한다.
4.2 Implementation Details
■ mathematical distillation dataset을 구축하기 위한 LLM으로 ChatGPT (gpt-3.5-turbo)를 사용한다.
■ SLM으로는 60M부터 760M까지의 파라미터 수를 가진 FlanT5 모델들을 사용한다.
■ initialization stage에서 LLM에게 GSM8K training dataset의 각 question에 대해 4개의 PoT를 생성하도록 프롬프트를 제공하고, 이를 통해 mathematical distillation dataset의 기반을 만든 뒤, 이 데이터셋을 사용해 SLM을 파인튜닝한다.
■ SLM을 10 epoch 동안 파인튜닝하며, learning rate는 5e-4, batch size는 32로 설정한다.
■ 그리고 SLM의 수학적 추론 능력을 더욱 향상시키기 위해, 3라운드의 multi-round distillation paradigm을 사용한다.
■ 각 라운드에서도 새로 생성된 각 question에 대해 4개의 PoT를 생성하며, SLM의 파인튜닝 설정은 initialization stage에서 사용한 설정과 동일하게 유지한다.
■ math questions을 생성할 때는 LLM의 temperature를 1로 설정하고, PoT를 생성할 때는 0.7로 설정한다.
4.3 Main Results

■ FlanT5-Small 60M, FlanT5-Base 250M, FlanT5-Large 760M을 in-domain GSM8K test set에서 평가한 결과, FDD를 적용했을 때 각각 정확도를 29.87%, 40.25%, 49.43%까지 향상시켰다.
■ 1B 이하 파라미터를 가진 SLM에 초점을 둔 다른 distillation methods과 비교했을 때, 저자들의 접근법은 mathematical reasoning에서 SOTA 성능을 달성했으며, 일부 open-source LLMs을 능가한다.
■ 그리고 ASDiv, SVAMP, MultiArith를 포함한 out-of-domain mathematical reasoning test set에서 추가로 평가한 결과, FlanT5-Small이 ASDiv에서 52.86%, SVAMP에서 43.4%, MultiArith에서 77.16%의 정확도를, FlanT5-Base는 각각 58.44%, 54.3%, 87.83%, FlanT5-Large는 각각 64.88%, 61.9%, 94.0%를 달성했다.
■ 저자들의 방법은 이러한 out-of-domain datasets에서도 다른 distillation techniques을 능가하며, 이는 강한 transferability을 보여준다.
■ 마지막으로, SLM의 모델 크기는 저자들의 방법으로 달성되는 mathematical reasoning 성능에 영향을 미친다.
■ 0.06B 파라미터를 가진 FlanT5-Small은 mathematical reasoning datasets 전체에서 평균 정확도 50.85%, 0.25B는 60.20%, 0.76B는 67.55%를 달성한다.
■ 이러한 결과는 저자들의 방법에서 모델 크기가 mathematical reasoning performance에 상당한 영향을 미치며, 더 큰 모델이 일관되게 더 좋은 결과를 달성한다는 것을 나타낸다.
■ 이러한 결과는 SLM의 수학 추론 성능을 향상시키는 데 있어 저자들이 제안한 방법의 effectiveness, transferability, scalability을 보여준다.
4.4 Effect of Question Generation Strategies
■ 이 섹션에서는 서로 다른 question generation 전략들이 SLM의 mathematical reasoning performance에 미치는 영향을 확인한다.
■ 이를 위해, 먼저 LLM에게 initial mathematical distillation dataset을 구축하도록 프롬프트를 제공한다. 그런 다음 이 initialization dataset을 사용하여 FlanT5-base를 처음부터 파인튜닝한다.
■ 다음으로, 파인튜닝된 FlanT5-base 모델을 사용하여 distillation dataset의 questions을 easy question과 hard question으로 분류한다.
■ easy question에 대해서는, LLM에게 그것들을 바탕으로 더 complex한 questions을 생성하도록 한다. hard question은, LLM에게 original questions을 바탕으로 다양한 questions을 생성하도록 한다.
■ 그런 다음 distillation dataset을 구성하기 위해 세 가지 전략을 사용한다.
- (1) complex questions을 distillation dataset에 추가하는 전략
- (2) diverse questions을 distillation dataset에 추가하는 전략
- (3) easy question과 hard question에서 생성된 모든 questions을 dataset에 추가하는 전략
■ 이렇게 확장된 distillation dataset은 다시 FlanT5-base를 처음부터 파인튜닝하는 데 사용된다.
■ 그 결과로 얻어진 SLM들의 수학적 추론 성능을 평가함으로써, 서로 다른 question generation 전략들이 성능에 미치는 영향을 분석한다.
■ 분석을 단순화하기 위해, 이 실험에서는 distillation dataset의 각 question이 하나의 PoT만 포함하도록 한다.

■ Table 2에서 initialization stage가 SLM의 수학적 추론 성능을 크게 향상시킴을 볼 수 있다. 저자들은 initialization distillation dataset의 questions이 수작업으로 만들어졌기 때문에, high quality와 diversity가 보장되기 때문이라고 주장한다.
■ complex question generation strategy와 diverse question generation strategy는 모두 SLM의 수학적 추론 능력을 향상시킬 수 있다.
■ 그리고 complex question generation strategy와 diverse question generation strategy를 결합하면 SLM의 수학적 추론 성능이 더욱 향상된다.
■ 저자들은 이러한 성능 향상이 두 전략을 결합하여 확장된 데이터셋이 더 높은 complexity, 더 나은 diversity, 그리고 더 큰 scale을 갖기 때문이라고 본다.
■ 그래서 저자들은 새로운 questions을 생성하고 distillation dataset을 확장하기 위해 두 전략을 결합해서 사용했다.
4.5 Effect of the Number of Rounds
■ 이 섹션에서는 라운드의 수가 SLM의 수학적 추론 성능에 미치는 영향을 확인한다.
■ 구체적으로, 먼저 initialization stage에서 SLM을 파인튜닝하여 기본적인 수학적 추론 능력을 갖추게 한다. 이 실험에서 initialization stage는 "round 0"으로 지칭된다.
■ 다음으로, 최대 3라운드까지 multi-round distillation paradigm을 적용하여 수학적 추론 성능을 더욱 향상시킨다. 그리고 실험을 위해 각 라운드에서 SLM의 수학적 추론 성능을 기록한다.
■ 분석을 단순화하기 위해, 이 실험에서는 FlanT5-base를 SLM으로 사용하고, distillation dataset의 각 question이 하나의 PoT만 갖도록 한다.

■ Fig 2는 multi-round distillation paradigm의 효과성을 보여주며, 추가적인 라운드가 SLM의 수학적 추론 성능을 더욱 향상시킨다는 것을 보여준다. 이 결과에 대해 저자들은 다음과 같이 주장한다.
■ (1) 더 많은 라운드는 SLM의 in-domain 수학적 추론 성능을 향상시킨다. round 0에서 round 3으로 진행될수록 FlanT5-base의 GSM8K test set 수학 추론 성능이 점진적으로 증가한다.
■ 저자들은 이러한 결과가 추가 라운드가 진행될 때마다 더 많은 questions이 distillation dataset에 추가되어, 데이터셋의 size, diversity, complexity가 증가하기 때문이라고 본다.
■ (2) 더 많은 라운드는 SLM의 out-of-domain 수학적 추론 성능도 향상시킨다. ASDiv, SVAMP, MultiArith와 같은 out-of-domain 데이터셋을 사용하여 SLM을 평가했을 때, 라운드 수가 증가함에 따라 수학적 추론 성능이 향상된다.
■ 이는 추가적인 라운드가 SLM의 전반적인 수학 추론 성능을 더 좋게 만든다는 것을 보여준다.
4.6 Effect of the Number of Reasoning Paths
■ 이 섹션에서는 question generation stage 동안 각 question에 대해 생성되는 reasoning path의 개수가 SLM의 수학적 추론 성능에 미치는 영향을 확인한다.
■ 분석을 쉽게 하기 위해, 이 실험에서는 initialization stage 동안 distillation dataset의 각 question이 하나의 reasoning path만 포함하도록 하는 것에서 시작한다.
■ 그런 다음 이 distillation dataset을 사용하여 FlanT5-base 모델을 파인튜닝한다. 그 후, 파인튜닝된 FlanT5-base를 바탕으로 math questions을 생성한다.
■ 생성된 각 question에 대해, 1개에서 4개까지의 reasoning path 집합을 만들고, questions과 그에 대응하는 reasoning path들을 함께 distillation dataset에 추가한다.
■ 이후, 확장된 distillation dataset을 사용하여 FlanT5-base 모델을 처음부터 다시 파인튜닝한다.
■ 파인튜닝된 FlanT5-base의 수학적 추론 성능을 GSM8K, ASDiv, SVAMP, MultiArith 데이터셋에서 평가한다.

■ Fig 3은 더 많은 reasoning path가 SLM의 수학적 추론 성능을 더 좋게 만들 수 있음을 보여준다.
■ (1) reasoning path의 수를 늘리는 것이 SLM의 in-domain 수학적 추론 성능을 향상시킨다. reasoning path의 수가 증가함에 따라 FlanT5-base의 GSM8K 성능이 계속 향상된다는 것을 볼 수 있다.
■ 저자들은 이러한 결과가 distillation dataset의 diversity가 향상되어 SLM이 더 효과적으로 학습할 수 있게 되었기 때문이라고 본다.
■ (2) 더 많은 reasoning path는 SLM의 out-of-domain 수학적 추론 성능도 향상시킨다. reasoning path의 수가 증가함에 따라 FlanT5-base는 ASDiv, SVAMP, MultiArith와 같은 out-of-domain 데이터셋에서 더 좋은 결과를 달성한다.
4.7 Analysis for Data Leakage
■ LLM을 사용하여 데이터를 생성할 때 발생할 수 있는 문제는 data leakage이다.
■ data leakage는 test data가 LLM의 학습 과정에서 의도치 않게 사용되었을 가능성을 의미하며, 이로 인해 모델이 test set에 있는 문제들과 유사한 질문을 생성할 수 있다.
■ 저자들은 제안한 접근법이 data leakage 문제를 겪는지 확인하기 위해 다음과 같은 실험을 설계했다.
■ initialization stage 동안, LLM에게 GSM8K training dataset을 바탕으로 initialization mathematical distillation dataset을 구축하도록 프롬프트를 제공하며, 이 데이터셋에서는 각 question이 그에 대응하는 PoT와 짝지어진다.
■ 그런 다음 이 distilled dataset을 사용하여 FlanT5-base 모델을 파인튜닝한다. 그 후, multi-round distillation paradigm을 3라운드 동안 수행한다.
■ 각 라운드에서, 그 라운드에서 생성된 데이터셋과 test dataset 사이의 유사도를 평가하여 data leakage의 정도를 판단한다.
■ 두 데이터셋에 있는 모든 questions 쌍 사이의 ROUGE-L 유사도를 계산하고, 그 평균값을 두 데이터셋 사이의 전체 유사도로 사용한다. 이 유사도 지표는 다음과 같이 나타낼 수 있다.

■ \( D_g \)와 \( D_T \)는 각각 생성된 questions로 구성된 데이터셋과 test dataset을 의미하며, \( m \)과 \( n \)은 각각 생성된 데이터셋과 test dataset의 크기를 나타낸다.
■ \( L_1 \)과 \( L_2 \)를 각각 두 question의 길이라고 한다면, 이 유사도 지표의 시간 복잡도는 \( O( m \cdot n \cdot L_1 \cdot L_2) \)이다.
- dataset의 모든 question과 test dataset의 모든 question을 서로 비교하므로, \( m \times n \)개의 쌍을 계산해야 한다. 그리고 각 question의 길이가 \( L_1 \), \( L_2 \)이며, 이 길이가 ROUGE-L을 계산할 때 영향을 준다.

■ 저자들은 계산 시간을 절약하기 위해, 생성된 데이터셋의 30%만 샘플링하여 test dataset들과의 유사도를 계산했다.
■ Fig 4는 저자들의 접근법에서 LLM이 생성한 데이터가 test dataset의 데이터와 매우 낮은 상관관계를 보이며, SLM의 수학적 추론 성능에 대한 data leakage의 영향을 효과적으로 제거한다는 것을 보여준다.