본문 바로가기
AI/Paper Review

[논문 리뷰] V-STaR: Training Verifiers for Self-Taught Reasoners

by 벵자민 2024. 2. 14.
728x90

논문 링크 : https://arxiv.org/abs/2402.06457

 

V-STaR: Training Verifiers for Self-Taught Reasoners

Common self-improvement approaches for large language models (LLMs), such as STaR (Zelikman et al., 2022), iteratively fine-tune LLMs on self-generated solutions to improve their problem-solving ability. However, these approaches discard the large amounts

arxiv.org

 

기존 LLM들의 Self-Taught 방법론들은 스스로 생성한 해결책을 통해 반복적으로 Fine-tuning하여 문제 해결 능력을 향상시키는 방식을 사용했습니다. 그러나 이러한 접근 방식은 잘못된 해결책들, 즉 오답들을 대량으로 생성하고 버리면서 오답들이 가지고있는 유용한 정보를 활용하지 못한다는 단점이 있습니다. 

 

 이 논문 V-STaR에서는 정답과 오답을 모두 활용하는 방식을 도입합니다. 생성된 해결책의 정답 여부를 판단하는 검증자(Verifier)를 DPO(Differential Privacy Optimization) 기법을 사용해 학습합니다. 이 Verifier는 추론 시 여러 후보 해결책 중 최적의 해결책을 선택하는 데 사용됩니다. V-STaR를 반복 실행함으로써, 점차 개선된 문제 해결자와 검증자를 얻을 수 있으며, 이는 코드 생성문제(MBPP) 와 수학 추론문제(GSM8K) 벤치마크에서 기존 방법보다 4~17% 까지 정확도를 향상시키는 결과를 보여줬습니다.

 

Introduction

논문에서는 실수를 인식하고 수정하는 인간의 지능적 특성을 LLM 학습에 적용하는것에 초점을 맞추고 있습니다. 복잡한 작업인 코딩이나 수학 문제를 해결할 때, 인간은 추론 과정에서 오류를 인식하고 해결책을 찾기 위해 대안을 모색합니다. 이 생각은 LLM의 추론 성능을 향상시키기 위한 해결 방법으로 제시되며, LLM의 자가 개선 과정에서 모든 생성된 해결책들이 훈련에 사용되는 V-STaR 을 제안하고 있습니다.

V-STaR을 사용한 생성자(Generator)와 검증자(Verifier)의 훈련 과정

 

위 그림처럼, 각 훈련과정에서 사전학습된(Pretrained) LLM으로부터 미세조정된(Fine-tuned) 생성자 Gt는 현재 문제 인스턴스와 정답 솔루션의 버퍼 DGEN에 대해 미세 조정됩니다. 정답을 제공한 생성된 솔루션은 향후 반복에 사용될 DGEN에 추가되며, 생성된 모든 솔루션(정답 및 오답)은 DVER에 추가됩니다. 검증자 VtDVER에서 정답과 오답 쌍으로 구성된 선호 데이터셋을 사용하여 DPO로 훈련됩니다. 추론 시간에, 검증자는 생성자가 생산한 솔루션들을 순위 매기고 최적의 솔루션을 선택하는 데 사용됩니다. 이러한 반복적인 훈련과 추론 시간 순위 매김생성자만을 사용한 자가 개선에 비해 정확도를 크게 향상시켰습니다.

훈련 작업에 대한 테스트 정확도. GSM8K와 MBPP 훈련 모델을 MATH 부분 집합과 HumanEval에서 전이 평가한 결과

 

Preliminaries

V-STaR를 소개하기에 앞서, 사전 훈련된 언어 모델을 활용한 문제의 설명과 해결책을 포함한 훈련 데이터로 모델을 미세 조정하는 기본 접근 방식을 소개하고있습니다.

 

1) Self-improvement approaches

자기 개선 방식에서는 3가지를 소개하고있습니다. 

 

1. Self-Taught Reasoner (STaR; Zelikman et al., 2022) : 언어 모델이 정확도 피드백을 받아 스스로를 반복적으로 개선하는 방식으로, 모델이 각 문제에 대해 하나의 해결책을 생성하고 이를 정확도에 따라 평가하여 정확한 해결책만을 다음 반복학습 데이터셋에 포함시키는 방식

2. Rejection Sampling Fine-tuning (RFT; Yuan et al., 2023) : 문제마다 여러 해결책을 생성하고 정확한 것만을 선택하여 원본 데이터셋을 강화하는 방식

3. STaR† : STaR과 RFT 방식을 유사하게 적용하지만, 각 STaR 반복에서 문제당 여러 올바른 해결책을 샘플링할 수 있는 가능성을 추가하는 방식으로, RFT를 여러번 수행하는 것

2) Test-time verification

시험 시간 검증은 주어진 문제에 대해 후보 해결책의 정확성을 평가하는 검증자를 훈련시켰습니다. 언어모델은 다수의 후보 해결책을 생성하고, 검증자가 가장 높게 평가한 해결책을 최종 답으로 선택합니다. 검증자 모델은 언어 모델링과 이진 분류의 조합을 사용해 훈련됩니다.

3) Preference learning with DPO

인간의 피드백에서 학습된 LLM의 미세 조정은 하류 작업 성능을 크게 향상시킬 수 있습니다. Rafailov et al. (2023)은 별도의 보상 모델을 사용하지 않고 직접 선호도 최적화(DPO)를 제안했습니다. DPO는 선호도 데이터셋과 GSFT를 기반으로, 선호되는 해결책에 대한 상대적 로그 확률을 증가시키는 것을 목표로 합니다.

 

V-STaR: Verifiers for self-taught reasoners

기존 Self-improvement 방식의 한계를 넘어서 잘못된 Solution 까지도 활용하여  언어 모델의 학습 및 검증 과정을 개선하는 V-STaR라는 새로운 방법을 제시합니다. 기존의 자기 개선 방식이 오답을 버리는 반면, V-STaR은 이러한 오답에서 얻은 정보를 통해 모델이 정확하고 부정확한 해결책 사이의 차이를 학습하고, 오류 패턴을 식별하여 정확도를 향상시키는 방법을 사용합니다. 이 과정은 반복적으로 수행되어, 각 반복마다 더 나은 생성기와 검증자를 훈련시키며, 최종적으로 더 정확한 해결책을 제공할 수 있는 모델을 얻습니다.

 

Training verifiers with DPO

DPO를 이용한 검증자 훈련에서는 DPO(Direct Preference Optimization) 방법을 도입하여 검증자를 훈련시킵니다. 이 방법은 정확한 해결책과 잘못된 해결책 사이의 선호도 쌍을 사용하여, 모델이 정확한 해결책을 선호하도록 학습합니다. 이 과정의 목적은 올바른 해결책의 확률을 증가시키고, 잘못된 해결책의 확률을 감소시키는 것입니다.

여기서, r̂(x, y) = β log(V(y|x) / GSFT(y|x)), σ는 로지스틱 함수, β는 참조 정책 GSFT에 대한 근접성을 조절하는 하이퍼파라미터입니다. DPO 목적은 검증자가 문제 에 대해 올바른 해결책의 확률을 증가시키고 잘못된 해결책 의 확률을 감소시키도록 유도합니다.

 

추가로 ORM(Outcome-Supervised Reward Model) 스타일의 검증자와 DPO기반의 검증자와 성능을 비교한 내용을 언급합니다. DPO 기반 검증자는 LoRA 어댑터를 사용해 훈련하고 ORM 스타일 검증자에 비해 상대적으로 더 나은 성능을 보여준다는 것을 실험으로 보였고, 따라서 V-STaR에서는 ORM 방식 대신 DPO 방식을 채택하여 검증자를 훈련시켰다고 합니다.

DPO와 ORM 비교

 

Empirical result

이 섹션에서는 V-STaR의 효과를 보여주기 위해 GSM8K(수학 문제 해결)와 MBPP(코드 생성) 데이터셋에서의 실험 결과를 소개하면서, Hendrycks’ MATH와 HumanEval을 사용하여 V-STaR의 전이 일반화 성능도 평가했습니다.

 

1. Models :실험은 LLaMA2와 CodeLLaMA 7B 및 13B 모델을 LoRA 어댑터와 함께 훈련하여 진행되었습니다. 생성기는 인과적 언어 모델링 목표로, V-STaR 검증자는 DPO를 사용하여 훈련되었습니다. DPO의 참조 정책 GSFT는 GSM8K와 MBPP 데이터셋에 대해 각각 2회와 3회 에폭으로 훈련되었습니다.

 

2. Data generation : 각 반복에서는 이전 생성기에서 쿼리당 16개의 완성을 샘플링했습니다. GSM8K의 경우, 첫 번째 반복 샘플은 오리지널 GSM8K 훈련 데이터에서 가져온 것이고, MBPP의 경우에는 사전 훈련된 CodeLLaMA 모델에서 가져온 것입니다. 완성된 작업은 정확성에 따라 레이블링되었습니다.

 

3. Baselines and metrics : V-STaR은 3회 반복 실행되며, 각 반복에서는 DGEN과 DVER를 증가시키기 위해 16개의 해결책을 샘플링했습니다. Baseline으로는 SFT, STaR†, RFT, 검증(SFT + 검증자), 그리고 V-STaR[Iter 1]이 있습니다. 추론 시, 생성기에서 각 테스트 문제당 128개의 후보 해결책을 생성하고 검증자를 사용하여 평가합니다.

 

4. Reliable estimation of Verifier@k : Verifier@k 정확도를 추정하기 위해, 여러 번 반복하여 k개의 해결책을 샘플링하고, 검증자를 사용하여 순위를 매긴 후 최고 점수를 받은 것을 예측된 답으로 선택합니다. 이 방법은 Verifier@k를 신뢰할 수 있게 측정하는 데 사용됩니다.

 

5. V-STaR on math and code reasoni  : V-STaR은 GSM8K, MBPP, MATH 부분 집합, 그리고 HumanEval 테스트 세트에서 일관된 성능 개선을 보여줍니다. 수학에서는 STaR†와 검증에 비해 6%에서 17%의 절대적 개선을, 코드 생성에서는 4%에서 12%의 개선되었다고합니다.

RFT 대비 절대적인 개선을 나타내는 결과
각 도메인에서 훈련된 모델들이, MATH와 HumanEval 테스트에서 개선됨을 보여주는 결과
13B V-STaR의 TestAccuracy 비교

 

6. Should the verifier be in the training loop? :선택적으로 각 반복에서 중간 검증자를 훈련시키고, DGEN 및 DVER에 포함시킬 올바른 해결책을 필터링할 수 있습니다. 샘플링 시 충분한 탐색이 있는 경우 더 타당하다고 설명하고있습니다.

 

7. How many completions can V-STaR be extended to? : V-STaR의 성능은 다양한 후보 해결책 수에 대해 검증되며, 대다수 투표 방식보다 훨씬 효과적입니다.

V-STaR 7B의 GSM8K에 대한 테스트 정확도 비교

 

8. Comparing DPO vs. ORM verifiers : 위에서 설명했던 DPO 기반 Verifier를 선택한 이유입니다. DPO 기반 검증자는 ORM 스타일 검증자보다 상대적으로 나은 성능을 보여주며, 특히 GSM8K 작업에서 후보 해결책의 수가 4개 이상일 때와 MBPP 작업에서 후보 해결책의 수가 16개 이상일 때 더 뛰어난 성능을 보입니다.

 

9. Evaluating DPO verifier as a generator : DPO로 미세 조정된 모델이 생성 능력을 평가받으며, DPO 검증자의 해결 능력은 소수의 훈련 업데이트 후에만 저하되는 반면, 검증 목적으로 DPO를 사용하는 것은 샘플 효율이 높아 몇 가지 훈련 업데이트만으로도 Verifier@64가 크게 증가합니다.

V-STaR 7B의 DPO 기반 Generator 및 Verifier 비교

 

Related work

지금까지의 내용에 다 포함된 내용들을 한번 더 언급해주고있습니다. LLMs를 활용한 다단계 추론 작업의 향상을 목표로 하는 연구가 활발히 이루어지고 있다고 하며, 이러한 연구들은 주로 중간 단계의 정확성 개선 및 정답 도출 비용 감소에 초점을 맞추고있다고합니다. 

  1. Self-training and self-improvement : STaR과 같은 자기 훈련 및 자기 개선 방법은 LLM이 자체 생성한 해결책을 사용하여 모델을 업데이트하는 방식에 기반하며, 이는 올바른 답변을 생성한 경우에만 모델을 미세 조정합니다.
  2. Training verifiers : 수학 추론 작업을 위해 도입된 검증자 모델은 성공적인 추론 체인을 선호하도록 점수를 매기거나 순위를 매김을 설명하고있습니다. Cobbe et al. (2021)은 정확한 및 부정확한 추론에서 정보를 수집하여 검증자를 훈련하는 방법을 제안했습니다.

 

Conclusion

마지막으로 V-STaR는 정확한 및 부정확한 해결책을 활용하여 강력한 검증자를 훈련하는 데이터 효율적이고 구현이 간단한 방법 이라고 하며 한번 더 정리하고 있습니다

  • DPO 검증자 훈련은 Cobbe et al. (2021)의 일반적인 방법보다 더 효과적
  • 다양한 문제에 대한 자기 개선 루프 개선 잠재력 보유
  • 정확성 피드백에 접근 가능한 문제에 유용
  • V-STaR는 기존 데이터셋 및 모델의 해결책 생성 능력 활용
  • LLM의 추론 능력 향상
  • 데이터 및 계산 효율성 개선으로 실제 애플리케이션 접근성 및 사용성 증진
  • 향상된 추론 능력을 가진 LLM의 잠재적 오용 주의 필요

 

마치며

사람이 마치 틀린 문제를 통해 배우고 성장하는것처럼, 언어 모델도 잘못된 답변을 통해 더 많이 배울 수 있다는 새로운 접근 방식이 신선했습니다. 기존의 샘플링 방식이 정답만을 추구하는것과 대비되는 매우 혁신적인 접근이었던 것 같습니다. 

728x90