AI바라기의 인공지능
LLM : 논문리뷰 : V-STaR: Training Verifiers for Self-Taught Reasoners 본문
V-STaR: Training Verifiers for Self-Taught Reasoners 논문 정리 노트
Purpose of the Paper (논문의 목적)
기존의 Self-Improvement 방법론 (STaR, RFT, ReSTEM 등)은 Large Language Models (LLMs)의 문제 해결 능력을 향상시키기 위해 self-generated solution을 활용하지만, 오직 "정답" solution만 사용하고 "오답" solution은 버리는 데이터 비효율성 문제를 지적합니다. 이 논문에서는 이러한 단점을 극복하고 self-improvement 과정에서 생성된 정답과 오답 solution 모두를 활용하여 LLM의 reasoning 능력을 더욱 효과적으로 향상시키는 새로운 방법론 **V-STaR (Verification for Self-Taught Reasoners)**를 제안합니다. V-STaR은 오답 solution에 숨겨진 valuable information을 활용하여 verifier를 학습시키고, inference 시점에 verifier를 통해 더 나은 solution을 선택하도록 유도하는 것을 목표로 합니다. 즉, data efficiency를 높이고, verifier 학습을 self-improvement loop에 통합하여 성능 향상을 극대화하는 것이 핵심 목표입니다.
Key Contributions (핵심 기여)
- V-STaR 방법론 제안: Iterative self-improvement 과정에서 생성된 correct 및 incorrect solution 모두를 활용하여 generator와 verifier를 동시에 학습시키는 새로운 framework를 제시했습니다. 특히, verifier 학습에 DPO (Direct Preference Optimization)를 적용하여 효율성을 높였습니다.
- Verifier 학습 데이터 효율성 증대: 기존 self-improvement 방법론에서 버려지던 incorrect solution을 verifier 학습에 활용함으로써 data inefficiency 문제 해결에 기여했습니다. 오답 데이터는 verifier가 error pattern을 학습하고 correct solution을 더 잘 식별하도록 돕는 valuable signal로 작용합니다.
- Self-Improvement Loop에 Verifier 통합: Verifier를 inference 시점에만 사용하는 기존 방식과 달리, V-STaR은 verifier 학습을 self-improvement iterative process에 통합하여 generator와 verifier가 상호 보완적으로 발전하는 구조를 구축했습니다. 이는 점진적인 성능 향상을 가능하게 합니다.
- Empirical Validation 및 성능 향상 입증: GSM8K, MBPP, MATH subset, HumanEval benchmark에서 LLaMA2 model을 사용하여 V-STaR을 평가했습니다. 실험 결과, V-STaR은 기존 self-improvement (RFT, STaR), verification (ORM) 방법론 대비 math reasoning에서 6-17%, code generation에서 4-12%의 test accuracy 향상을 달성했습니다. 특히, 7B V-STaR model이 LLaMA2 70B (8-shot) 성능을 능가하는 결과를 보여주며, V-STaR의 effectiveness를 입증했습니다.
- Best-of-k 평가 방식 개선: Verification 기반 방법론의 test performance 평가를 위해 기존 Best-of-k 방식의 variance 문제를 개선한 **새로운 Best-of-k 평가 공식 (Eq. 3)**을 제안하여 평가의 신뢰성을 높였습니다.
Novelty (논문의 참신성)
- Incorrect Solution 활용 Verifier 학습: Self-improvement 과정에서 생성된 incorrect solution을 적극적으로 활용하여 verifier를 학습시키는 아이디어는 기존 연구와 차별화됩니다. 이는 data efficiency를 높이고 verifier 학습에 새로운 direction을 제시합니다.
- DPO 기반 Verifier 학습: Verifier 학습에 DPO (Direct Preference Optimization)를 적용하여 기존 ORM (Outcome-Supervised Reward Model) 방식 대비 더 효과적인 verifier 학습을 가능하게 했습니다. DPO는 reward model을 별도로 학습시키는 과정 없이 preference data를 직접 최적화하여 학습 효율성을 높입니다.
- Iterative Generator-Verifier Co-training: Generator와 verifier를 iterative self-improvement loop 안에서 함께 학습시키는 framework는 기존 self-improvement 방법론과 verification 방법론을 효과적으로 결합한 새로운 접근 방식입니다. 이는 generator와 verifier가 서로의 performance 향상에 기여하는 synergistic effect를 창출합니다.
- Adaptive Test-time Compute: V-STaR은 inference 시점에 verifier를 사용하여 candidate solution을 rank하고 best solution을 선택함으로써 additional test-time compute를 활용하여 성능을 향상시키는 adaptive computation 전략을 효과적으로 구현합니다.
Experimental Highlights (실험 결과 하이라이트)
- Math Reasoning (GSM8K, MATH subset):
- V-STaR은 STaR+, Verification 대비 6-17% test accuracy 향상
- 7B V-STaR은 base LLaMA2 70B (8-shot) 능가
- Iterative V-STaR (V-STaR)이 1-iteration V-STaR (V-STaR [1 Iter]) 대비 성능 우위 입증 (iterative 학습 효과 확인)
- Code Generation (MBPP, HumanEval):
- V-STaR은 RFT, Verification 대비 4-12% test accuracy 향상
- 7B V-STaR은 CodeLLaMA 34B (zero-shot) 성능에 근접
- Out-of-domain transfer evaluation (GSM8K -> MATH subset, MBPP -> HumanEval)에서도 V-STaR의 효과 입증
- DPO Verifier Effectiveness: DPO 기반 verifier가 ORM style verifier 대비 더 효과적인 candidate solution ranking 성능을 보임 (Fig. 5).
- Best-of-k Performance: V-STaR은 Best-of-k를 늘릴수록 성능 향상 지속, Majority Voting 대비 우수한 성능 (Fig. 6).
- Iterative Gain: V-STaR iteration을 반복할수록 generator와 verifier 모두 성능 향상 (Fig. 7).
Limitations (논문의 한계)
- Compute Cost: Iterative self-improvement 방법론의 inherent limitation으로, V-STaR 역시 iteration을 반복할수록 compute cost가 증가합니다. 특히 verifier 학습 및 inference 과정에서 additional compute가 요구됩니다.
- Task Dependency: 실험은 주로 math reasoning 및 code generation task에 집중되어 있습니다. V-STaR의 효과가 다른 유형의 reasoning task (e.g., common sense reasoning, natural language understanding)에도 general하게 적용될 수 있는지 추가적인 연구가 필요합니다.
- LoRA Adapter 사용: 실험에서 compute constraint 때문에 LoRA adapter를 사용하여 fine-tuning을 진행했습니다. Full parameter fine-tuning을 사용할 경우 V-STaR의 성능 향상폭이 더 커질 가능성이 있습니다.
- Verifier in Training Loop 효과 미미: Verifier를 training loop에 포함시키는 시도가 성능 향상에 큰 영향을 미치지 못했습니다 (Section 4.7). 더 큰 k 값 (solution sampling 수) 또는 다른 task에서 verifier in training loop의 효과를 추가적으로 탐색할 필요가 있습니다.
Future Work (향후 연구 방향)
- 다양한 Reasoning Task 및 Dataset에 대한 V-STaR 적용: Math reasoning, code generation 외에 다양한 reasoning task (e.g., knowledge-intensive QA, commonsense reasoning) 및 dataset에 V-STaR을 적용하여 generalization ability 및 robustness를 평가하고 개선할 수 있습니다.
- Verifier in Training Loop 효과 심층 분석: Verifier를 training loop에 통합하는 다양한 전략 (e.g., sampling strategy, verifier score 활용 방식)을 탐색하고, 특정 task나 setting에서 효과적인 verifier in training loop 방법을 연구할 수 있습니다.
- V-STaR과 다른 Self-Improvement 방법론 결합: V-STaR을 Re-STaR, Self-Correction 등 다른 self-improvement 방법론과 결합하여 synergistic effect를 창출하고, 더욱 강력한 reasoning model을 개발할 수 있습니다.
- Verifier Architecture 및 학습 방법 개선: DPO 외에 다른 preference learning 방법론 (e.g., IPO, PPO)을 verifier 학습에 적용하거나, verifier architecture 자체를 개선하여 (e.g., step-level verifier, auxiliary information 활용) verifier 성능을 더욱 향상시킬 수 있습니다.
- Compute Efficiency 향상 연구: V-STaR의 compute cost를 줄이기 위한 연구 (e.g., verifier pruning, knowledge distillation, efficient inference 방법)를 통해 practical applicability를 높일 수 있습니다.
Abstract
STaR과 같은 large language models (LLMs)의 일반적인 자체 개선 접근 방식은 문제 해결 능력을 향상시키기 위해 자체 생성된 해답에 대해 LLMs를 반복적으로 fine-tuning합니다. 그러나 이러한 접근 방식은 이 과정에서 생성된 다량의 부정확한 해답을 폐기하여, 잠재적으로 그러한 해답에 있는 가치 있는 정보를 간과합니다. 이 단점을 해결하기 위해, 우리는 자체 개선 과정에서 생성된 정확한 해답과 부정확한 해답을 모두 활용하여 model-generated solutions의 정확성을 판단하는 DPO를 사용하여 verifier를 train하는 V-STaR을 제안합니다. 이 verifier는 추론 시에 다수의 후보 해답 중에서 하나의 해답을 선택하는 데 사용됩니다. V-STaR을 여러 번 반복 실행하면 점진적으로 더 나은 reasoners와 verifiers를 얻을 수 있으며, LLaMA2 models을 사용한 일반적인 코드 generation 및 수학 reasoning benchmarks에서 기존 자체 개선 및 verification 접근 방식에 비해 테스트 정확도가 4%에서 17% 향상됩니다.
1 Introduction
실수를 인식하고 수정하는 법을 배우는 것은 인간 지능의 한 특징입니다 (Metcalfe, 2017). 코딩이나 수학 문제 해결과 같은 복잡한 작업을 다룰 때, 우리는 reasoning의 오류를 인식하고 해결책을 찾기 위한 대안 경로를 탐색할 수 있습니다. LLMs의 reasoning 성능을 향상시키기 위해, 여러 접근 방식이 training 중에 LLMs가 해답을 생성하고 이러한 해답의 정확성을 확인하는 능력을 활용합니다. 예를 들어, 코드 generation을 위한 테스트 케이스를 사용하는 것입니다. STaR Zelikman 등 (2022), RFT (Yuan 등, 2023), ReSTEM (Singh 등, 2023)과 같은 이러한 자체 개선 접근 방식은 LLMs를 자체 생성된 해답에 대해 fine-tuning하고 선택적으로 이 과정을 반복적으로 실행하여 LLMs를 개선합니다. 그러나 이러한 모든 접근 방식은 정확한 해답만 사용하고 부정확한 해답은 폐기한다는 점에서 데이터 비효율적입니다. 부정확한 해답은 특히 까다로운 reasoning 작업의 경우, model-generated solutions의 많은 부분을 차지합니다.
자체 개선과 직교하는, LLM reasoning을 개선하는 또 다른 유망한 방향은 테스트 시에 학습된 LLM verifiers를 사용하는 것입니다 (Cobbe 등, 2021; Wang 등, 2023b). 구체적으로, LLM은 여러 후보 해답을 생성하고 verifier는 이러한 해답의 순위를 매기고 가장 좋은 해답을 선택합니다. 이러한 verifiers는 고정된 LLM에서 생성된 해답 datasets에 대해 LLM을 fine-tuning하여 trained됩니다. 이 datasets은 최종 정확성 (ORM, Cobbe 등, 2021) 또는 단계별 인간 주석 (Lightman 등, 2024)으로 레이블이 지정됩니다. 이러한 verifiers를 사용하면 LLMs가 더 나은 성능을 위해 추가적인 테스트 시간 계산을 절충할 수 있습니다.
우리는 Verification for Self-Taught Reasoners (V-STaR)를 제안합니다. V-STaR의 핵심 idea는 반복적인 자체 개선 과정에서 정확한 해답과 부정확한 LLM-generated solutions을 모두 활용하여, DPO (Rafailov 등, 2023)를 사용한 verifier를 train하는 것입니다. 추가로 정확한 해답을 사용하여 generator로서의 LLM을 train합니다 (그림 1). 반복적인 자체 개선 프로세스는 증강된 데이터로 trained된 점진적으로 개선된 generators를 산출하며, 이는 verifier training을 위한 더 높은 품질의 완료와 더 까다로운 부정적인 예제로 이어집니다. 테스트 시에, verifier는 generator에서 생성된 여러 후보 해답의 순위를 매기고 가장 좋은 해답을 선택합니다.

왼쪽: 각 training 반복에서, generator G<sub>t</sub>는 문제 인스턴스와 올바른 해답 DGEN의 현재 buffer에서 (pre-trained LLM으로부터) fine-tuning됩니다. 정답을 산출한 생성된 해답은 향후 반복에서 사용하기 위해 DGEN에 추가되고, 모든 생성된 해답(정답과 오답)은 DVER에 추가됩니다. Verifier V<sub>t</sub>는 DVER에서 가져온 정답과 오답 쌍으로 구성된 preference dataset을 사용하여 DPO로 trained됩니다.
오른쪽: 테스트 시에, verifier는 generator가 생성한 해답의 순위를 매기는 데 사용됩니다. 이러한 반복적인 training 및 추론 시간 순위는 generator 전용 자체 개선에 비해 큰 개선을 제공합니다.
우리는 LLMs의 reasoning 능력을 향상시키기 위해 V-STaR을 경험적으로 평가합니다: (1) GSM8K (Cobbe 등, 2021) 및 MATH (Hendrycks 등, 2021)의 하위 집합을 사용한 수학 문제 해결, (2) MBPP (Austin 등, 2021) 및 HumanEval (Chen 등, 2021)을 사용한 코드 generation. LLaMA2 (Touvron 등, 2023) 및 CodeLLaMA (Roziere 등, 2023)를 fine-tuning하여, 우리는 V-STaR을 다른 자체 개선 (RFT, STaR) 및 verification 기반 방법 (ORM), self-consistency (Wang 등, 2023a), 그리고 generator와 verifier를 bootstrap하기 위해 동일한 수의 generation 샘플을 사용하는 비반복적 V-STaR baseline (RFT + Verifier)과 비교합니다. V-STaR은 놀랍도록 잘 작동하여, 수학 reasoning의 경우 이전 자체 개선 및 verification 기반 방법에 비해 테스트 정확도가 6%에서 17%의 절대적 향상을 보였고, 코드 generation의 경우 4%에서 12%의 향상을 보였습니다. 특히, 7B V-STaR은 GSM8K에서 기본 LLaMA2 70B (8-shot)를 능가하고, HumanEval에서 CodeLLaMA 34B (zero-shot)와 거의 일치합니다.
우리의 기여는 다음과 같습니다:
- 우리는 반복적으로 생성된 LLM의 정확하고 부정확한 해답을 사용하여 더 나은 generator와 verifier를 train하는 간단하고 효과적인 접근 방식인 V-STaR을 제안합니다. V-STaR은 수학 reasoning 및 코드 generation을 위한 이전 자체 개선 접근 방식 (RFT, STaR)과 ORM verification (Cobbe 등, 2021)을 능가합니다 (그림 2). V-STaR은 강력한 baselines – ORM verification, RFT + verifier (그림 5), self-consistency (그림 6, 왼쪽)보다 성능 향상을 위해 적응형 테스트 시간 계산을 더 잘 활용합니다.
- 2차적인 기여로, 우리는 verifiers를 training하는 데 DPO가 Cobbe 등 (2021)의 일반적인 ORM 접근 방식보다 더 효과적이라는 것을 발견했습니다. 우리는 또한 verification을 사용한 테스트 성능을 안정적으로 평가하기 위해 Pass@k와 유사한 Best-of-k (§4.2) 공식을 제안합니다.
2 Preliminaries
pre-trained language model G와 작업의 원래 training data DSFT = {(x1, y1), (x2, y2), ... (xN, yN)}가 주어집니다. 여기서 x는 일반적으로 문제에 대한 설명이고 y는 chain-of-thought 근거나 생성된 코드와 같은 해답입니다. 이러한 작업에 대한 causal language models을 사용한 사실상의 접근 방식은 training data에 대한 negative log-likelihood 목적 함수를 사용한 supervised fine-tuning (SFT)입니다.
- LSFT(G) = - E(x,y)∼DSFT ∑(t=1 to T) log G(yt | y<t, x) (1)
여기서 G는 reasoning 작업에서 generator라고도 합니다. LLMs는 다양한 작업에 대한 고품질 chain-of-thought 근거 또는 해답을 생성하는 데 사용될 수 있습니다. 이러한 관찰은 문제 해결 및 reasoning 능력을 bootstrap하기 위해 모델 자체에서 생성된 올바른 해답을 사용하도록 동기를 부여했습니다 (Zelikman 등, 2022; Singh 등, 2023; Yuan 등, 2023).
2.1 Self-improvement approaches
Self-Taught Reasoner (STaR; Zelikman 등, 2022) 는 language model이 정확성 피드백을 사용하여 자체적으로 개선하는 반복적인 접근 방식에 해당합니다. 각 반복에서, training dataset D의 각 문제 x에 대해 generator G에서 greedy decoding을 사용하여 하나의 해답 yˆ이 생성됩니다. 테스트 케이스 또는 정답에 접근할 수 있으므로, 생성된 해답은 z = is correct(x, yˆ), z ∈ {0, 1}에 의해 이진 정확성 레이블 z를 확인할 수 있습니다. 완료 yˆ은 수학 문제의 경우 정답과 최종 답이 같거나 코드 generation 문제의 경우 모든 테스트 케이스를 통과하면 정답으로 레이블이 지정됩니다. 정답(z = 1)만 반복 j의 dataset에 포함됩니다. 여기서 Dj = {(x1, yˆ1), (x2, yˆ2), ... (xN, yˆN)}입니다. 그런 다음, generator는 이 새로운 dataset에서 (식 1)을 사용하여 fine-tuning됩니다. 여기서 DSFT = Dj입니다. 이 fine-tuned generator는 후속 반복에서 사용됩니다.
Rejection Sampling Fine-tuning (RFT; Yuan 등, 2023) 은 먼저 training dataset DSFT에서 pre-trained LM을 fine-tuning하여 G를 얻습니다. 각 문제 xi에 대해 k개의 해답이 샘플링됩니다 {yˆi,j ∼ G(y|xi)}(j=1 to k). STaR과 유사하게, 생성된 정답(z = 1)만 유지됩니다. RFT에서는 원래 dataset이 정답 완료로 Dj에 추가되고, G는 새로운 Dj에서 fine-tuning되어 GRFT를 얻습니다. STaR과 달리 RFT는 반복적인 접근 방식이 아닙니다.
STaR†. 각 STaR 반복은 ReSTEM (Singh 등, 2023)과 유사하게 RFT와 유사하게 수행될 수 있습니다. 문제에 대한 여러 정답이 있을 수 있으므로, 각 STaR 반복에서 문제당 k개의 해답을 샘플링할 수 있지만, 이는 원래 STaR 논문에서는 규정되지 않았습니다. 이를 나머지 논문에서는 STaR†로 표시합니다.

Figure 2: 자체 개선 및 verification baselines과 비교한 7B V-STaR의 테스트 정확도
verification 기반 방법에 대해서는 Best-of-64를, 다른 방법에 대해서는 Pass@1을 보고합니다. SFT를 제외한 모든 방법은 SFT baseline model과 문제당 K = 48개의 output generations에 접근할 수 있습니다. STaR† 및 V-STaR은 3회 반복 실행되며, 각 반복은 K/3 = 16개 샘플을 사용합니다. Verification은 SFT generator에서 생성된 K개의 완료로 trained된 test-time verifier를 사용하는 것에 해당합니다. 각 막대 위의 숫자는 SFT 대비 절대적인 개선을 보여줍니다.
(왼쪽) V-STaR training에 사용된 작업에 대한 테스트 정확도. (오른쪽) GSM8K 및 MBPP trained models을 각각 MATH 하위 집합 및 HumanEval에 대한 전이 평가.
2.2 Test-time verification
Cobbe 등 (2021)은 verifiers를 trained했습니다. 이들은 후보 해답이 주어진 문제에 대해 정답일 확률을 평가하는 outcome-supervised reward model (ORM)이라고 합니다. 테스트 시에, language model G는 많은 후보 해답을 생성하고 verifier에 의해 가장 높은 순위가 매겨진 해답이 선택됩니다. 이를 Best-of-k라고도 합니다. verifier V를 train하기 위해, RFT와 유사하게, 각 training 문제에 대해 generator G에서 k개의 후보 해답이 샘플링되고 정확성 z에 대해 레이블이 지정되어 verifier training data DVER = {(xi, yˆi,j, zi,j)}(i=1 to N)가 생성됩니다. 여기서 zi,j는 yˆi,j가 정답인지 오답인지를 나타내는 이진 레이블입니다.
verifier V를 train하기 위해, Cobbe 등 (2021)은 language modeling (식 1)과 이진 분류의 조합을 사용하여 DVER에서 LLM을 fine-tuning합니다. 모델은 xi가 주어졌을 때 yˆi,j를 예측하고 {xi; yˆi,j}가 주어졌을 때 zi,j를 예측하도록 trained됩니다. 각각 language modeling과 분류 목적 함수를 사용합니다. 자세한 내용은 §5를 참조하십시오.
2.3 Preference learning with DPO
human feedback을 사용하여 pre-trained LLMs를 fine-tuning하면 downstream 작업에서 큰 성능 향상을 가져올 수 있습니다(Ouyang 등, 2022; Bai 등, 2022). 이를 수행하는 일반적인 framework는 입력 프롬프트 집합에 대한 쌍으로 된 인간 선호도를 수집하고 Dpref = {(xi, y+i, y-i)}(i=1 to N), Dpref를 사용하여 reward model을 train하고, 이 보상을 사용하여 LLM을 fine-tuning하는 것입니다 (Stiennon 등, 2020). 보다 최근에, Rafailov 등 (2023)은 fine-tuning 중에 별도로 trained된 reward model을 사용하지 않는 Direct Preference Optimization (DPO)을 제안했습니다. DPO는 참조 정책으로도 사용되는 GSFT를 얻기 위해 downstream 작업에서 pre-trained LLM을 supervised fine-tuning (SFT)해야 합니다. preference dataset Dpref와 GSFT가 주어지면, DPO의 목적 함수는 선호되는 y+가 선호되지 않는 y- 완료보다 상대적으로 참조 정책에 비해 log likelihood를 증가시킵니다. verifiers를 training하는 맥락에서 DPO 손실은 나중에 식 2에 제시됩니다.
핵심 사전 지식: V-STaR 이해를 위한 기반 다지기
이 섹션에서는 V-STaR을 이해하기 위해 필요한 기본적인 개념들을 짚고 넘어갑니다.
- Supervised Fine-Tuning (SFT):
- Pre-trained language model을 특정 task에 맞게 추가 학습시키는 방법입니다.
- 일반적인 language modeling objective (negative log-likelihood)를 사용합니다.
- V-STaR에서는 generator를 초기화하는 데 사용됩니다.
-
LSFT(G) = − E(x,y)∼DSFT ∑(t=1 to T) log G(yt | y<t, x)
- Self-Improvement Approaches:
- STaR (Self-Taught Reasoner):
- 모델 스스로 생성한 정답 데이터를 활용하여 반복적으로 자신을 fine-tuning하는 방법입니다.
- Greedy decoding으로 생성된 해답 중 정답만 사용하여 다음 반복 학습에 사용합니다.
- 이 논문에서는 STaR의 변형으로 각 반복에서 여러 개의 해답을 샘플링하는 STaR†를 제안합니다. (기존 STaR 논문에는 명시되지 않음)
- RFT (Rejection Sampling Fine-Tuning):
- SFT 이후, 여러 개의 해답을 샘플링하여 정답만 골라 추가로 fine-tuning합니다.
- STaR과 달리 반복적인 학습을 진행하지 않습니다.
- STaR (Self-Taught Reasoner):
- Test-Time Verification:
- Verifier를 사용하여 생성된 여러 해답 중 가장 좋은 것을 선택하는 방법 (Best-of-k)입니다.
- ORM (Outcome-Supervised Reward Model): Cobbe et al. (2021)에서 제안한 Verifier로, 해답의 정확성을 예측하도록 학습됩니다.
- 이 논문에서는 ORM 학습 방법을 구체적으로 다룹니다 (5절 참조).
- Preference Learning with DPO (Direct Preference Optimization):
- 인간의 선호도를 기반으로 모델을 학습시키는 방법입니다.
- 별도의 reward model을 학습시키지 않고, 선호/비선호 쌍을 비교하여 직접 모델을 최적화합니다.
- 이 논문에서는 Verifier 학습에 DPO를 사용합니다.
V-STaR의 핵심 열쇠: STaR†, Best-of-k, DPO
- STaR†: V-STaR은 STaR의 개선 버전인 STaR†를 기반으로 합니다. 각 반복에서 여러 개의 해답을 샘플링하는 것이 핵심입니다.
- Best-of-k: V-STaR은 추론 시 Verifier를 사용하여 여러 해답 중 가장 좋은 것을 고릅니다.
- DPO: V-STaR은 Verifier 학습에 DPO를 사용합니다.
한 줄 요약:
V-STaR은 **STaR†**를 기반으로 DPO를 사용해 학습된 Verifier를 활용하여 Best-of-k 방식으로 추론하는 새로운 LLM 자체 개선 방법의 기초를 다집니다.
3 V-STaR: Verifiers for self-taught reasoners
RFT, STaR, ReSTEM과 같은 기존의 자체 개선 방법들은 부정확한 model-generated solutions을 버립니다. 그러나 부정확한 해답은 또한 가치 있는 정보를 포함할 수 있습니다. language model은 주어진 문제에 대한 정확한 해답과 부정확한 해답 사이의 불일치로부터 학습하고, generations에서의 오류 패턴을 식별하여 더 정확한 해답을 제공하는 능력을 향상시킬 수 있습니다. 본 연구에서, 우리는 더 나은 generator와 verifier를 train하기 위해 반복적인 프로세스에서 부정확하고 정확한 생성된 해답을 모두 활용하는 V-STaR을 제안합니다 (부록의 알고리즘 1 참조).
- 먼저, 우리는 원래 training data DSFT에 대해 pre-trained LLM Gbase를 fine-tuning하여 generator GSFT를 얻습니다.
- 다음으로, 우리는 training data의 각 문제에 대해 generator {yˆi,j ∼ G(y|xi)} (j=1 to k) 에서 k개의 완료를 샘플링합니다. 여기서 x ∈ Dquery입니다 (예시는 §D 참조).
- 생성된 해답은 정답 또는 테스트 케이스를 사용하여 정확성 z에 대해 레이블이 지정됩니다. 우리는 generator training data DGEN을 (xi, yˆi,j)로 보강하기 위해 정확한 생성된 해답(z = 1)만 사용합니다. 정확하고 부정확한 생성된 해답은 모두 정확성 레이블 (xi, yˆi,j, zi,j)과 함께 verifier data DVER에 추가되므로, verifier는 generator의 실수로부터 학습할 수 있습니다.
- 다음 반복 t에서, generator Gt는 증강된 DGEN에 대해 pre-trained model Gbase를 fine-tuning하여 얻어집니다. 우리는 이 generator Gt에서 다시 해답을 샘플링할 수 있습니다. 이 프로세스는 DGEN과 DVER을 반복적으로 보강하기 위해 최대 T회 반복됩니다.
- 최종 generator GT는 DGEN을 사용하여 pre-trained model Gbase를 fine-tuning하여 얻어집니다. Verifier VT는 DVER을 사용하여 원래 DSFT에서 fine-tuned된 model GSFT를 추가로 train하여 얻어집니다.
우리의 접근 방식에서, 원래 training data는 generator data와 verifier data 모두에 정답으로 포함됩니다. V-STaR training과 Cobbe 등 (2021)의 차이점은 우리의 verifier training data가 반복적으로 수집되고, 각 반복은 더 나은 generator로부터 온다는 것입니다. 반면 ORM은 원래 SFT 데이터에서만 fine-tuned된 고정된 generator에서만 데이터를 수집합니다. 우리는 이 ORM 접근 방식을 baseline으로 비교합니다. §4.1에서 논의된 바와 같습니다.
각 막대 위의 숫자는 RFT 대비 절대적인 개선을 나타냅니다. V-STaR [1 Iter] baseline은 쿼리당 3 x 16개의 완료로 구성된 데이터로 한 번의 반복만으로 trained됩니다. STaR† 및 V-STaR은 반복적인 데이터 수집(즉, 각 반복에서 쿼리당 16개의 완료 생성)을 사용하여 trained됩니다. 테스트 시에, Best-of-64는 문제당 generator에서 샘플링된 128개의 후보 답변에 대해 식 3을 사용하여 계산됩니다. V-STaR 7B는 MBPP에서 zero-shot Pass@1이 55%인 CodeLLaMA 34B와 동등한 성능을 보입니다.
3.1 Training verifiers with DPO
Cobbe 등 (2021)에 따라, 현재 LLM verifiers는 language modeling과 이진 분류 손실의 조합으로 trained됩니다 (§2.2). 이 두 가지 목적 함수는 DPO (Rafailov 등, 2023)와 같은 오프라인 선호도 학습 방법을 통해 통합될 수 있습니다. 여기서 참조 정책과의 근접성은 language modeling 목적 함수에 대한 프록시이고 분류 손실은 reward modelling에 대한 프록시입니다. 경험적으로, 우리는 LoRA adapters (Hu 등, 2022)를 사용할 때 DPO verifiers가 ORM 스타일 verifiers보다 더 낫다는 것을 발견했습니다 (§4.4).
DPO를 사용하여 verifiers를 train하기 위해, 우리는 DVER에서 수집된 해답을 사용하여 선호도 쌍 dataset을 구성합니다. 우리는 주어진 문제에 대해 정답을 선호되는 완료로, 오답을 선호되지 않는 완료로 취급합니다. 구체적으로, DVER = {(xi, y+i,1, y-i,1), ... ,(xi, y+i,m, y-i,m)} (i=1 to N)입니다. 여기서 m은 정답과 오답의 카테시안 곱에서 나온 선호도 쌍의 수입니다. 우리는 구성된 DVER과 SFT 정책 GSFT를 사용하여 DPO 목적 함수 LDPO(V; GSFT)를 사용하여 verifier V를 train합니다.
- LDPO(V; GSFT) = - E(x,y+,y-)∼DVER [ log σ ( rˆ(x, y+) - rˆ(x, y-) ) ]
- with rˆ(x, y) = β log ( V(y|x) / GSFT(y|x) )
여기서 σ는 로지스틱 함수이고, β는 참조 정책 GSFT에 대한 근접성을 제어하는 하이퍼파라미터입니다. DPO 목적 함수는 verifier가 문제 x에 대해 정답 y+의 가능성을 높이고 오답 y-의 가능성을 줄이도록 유도합니다. 추론 시에, 우리는 훈련된 DPO verifier 하에서 문제에 대해 주어진 생성된 해답의 가능성 (즉, V(yˆ|x))을 사용하여 후보 해답의 순위를 매깁니다.
V-STaR: 틀린 답도 활용하는 똑똑한 학습
- 핵심 아이디어: 기존의 자체 개선 방법들(RFT, STaR)은 모델이 생성한 오답을 버렸지만, V-STaR은 오답까지 활용하여 Generator와 Verifier를 모두 학습시킵니다.
- 학습 과정:
- 초기 Generator 학습: Pre-trained LLM (G<sub>base</sub>)을 원래 데이터(D<sub>SFT</sub>)로 fine-tuning하여 초기 Generator (G<sub>SFT</sub>)를 얻습니다.
- 데이터 수집:
- Generator를 사용하여 각 문제에 대해 여러 개의 해답을 생성합니다.
- 정답 여부(z)를 판별합니다.
- Generator 학습 데이터 (D<sub>GEN</sub>): 정답만 포함합니다.
- Verifier 학습 데이터 (D<sub>VER</sub>): 정답과 오답 모두 포함하며, 정답 여부(z)를 레이블로 사용합니다.
- 반복 학습:
- D<sub>GEN</sub>으로 G<sub>base</sub>를 fine-tuning하여 새로운 Generator (G<sub>t</sub>)를 얻습니다.
- 새로운 Generator로 다시 데이터를 수집합니다. (2단계)
- 이 과정을 T번 반복합니다.
- 최종 모델:
- 최종 Generator (G<sub>T</sub>): D<sub>GEN</sub>으로 G<sub>base</sub>를 fine-tuning하여 얻습니다.
- 최종 Verifier (V<sub>T</sub>): D<sub>VER</sub>로 G<sub>SFT</sub>를 추가 학습(fine-tuning)하여 얻습니다.
3.1 Training Verifiers with DPO: Verifier 학습, 어떻게 다를까?
- 기존 방법: Cobbe et al. (2021)은 language modeling과 이진 분류 loss를 결합하여 Verifier를 학습시켰습니다. (ORM 방식)
- V-STaR: DPO (Direct Preference Optimization) 를 사용하여 Verifier를 학습시킵니다.
- 장점: (경험적으로) LoRA를 사용할 때 ORM 방식보다 DPO verifiers가 더 우수함을 보였습니다.
- DPO 학습 데이터: D<sub>VER</sub>에서 정답을 선호(y<sup>+</sup>), 오답을 비선호(y<sup>-</sup>) 쌍으로 구성합니다.
- DPO 목적 함수:
- Verifier가 정답의 가능성을 높이고, 오답의 가능성을 낮추도록 학습합니다.
-
LDPO(V; GSFT) = - E(x,y+,y-)∼DVER [ log σ ( rˆ(x, y+) - rˆ(x, y-) ) ] with rˆ(x, y) = β log ( V(y|x) / GSFT(y|x) )
V-STaR vs. ORM (Cobbe et al., 2021)
- 데이터 수집:
- V-STaR: 반복적으로 개선되는 Generator로부터 데이터를 수집합니다.
- ORM: 초기 SFT 모델(고정)로부터 데이터를 수집합니다.
- Verifier 학습:
- V-STaR: DPO 사용
- ORM: Language modeling + 이진 분류 loss
핵심 요약:
- V-STaR은 오답까지 활용하여 Generator와 Verifier를 반복적으로 학습시킵니다.
- Verifier 학습에 DPO를 사용하여 기존 ORM 방식보다 개선했습니다.
- 반복적으로 개선되는 Generator로부터 데이터를 수집하는 것이 핵심 차별점입니다.
추가 정보:
- 자세한 알고리즘은 부록의 Algorithm 1을 참조하세요.
- 실험 결과 및 분석은 4절을 참조하세요.
'논문리뷰' 카테고리의 다른 글
LLM : 논문리뷰 : Self-Rewarding Language Models (0) | 2025.01.24 |
---|---|
VLM : 논문리뷰 : V∗: Guided Visual Search as a Core Mechanism in Multimodal LLMs (1) | 2025.01.24 |
LLM : 논문리뷰 : Iterative Reasoning Preference Optimization (0) | 2025.01.21 |
LLM : 논문리뷰 : Evolving Deeper LLM Thinking (2) | 2025.01.21 |
LLM : 논문리뷰 : SCALING RELATIONSHIP ON LEARNING MATHEMATICAL REASONING WITH LARGE LANGUAGE MODELS (0) | 2025.01.20 |