본문 바로가기
Paper review

STaR: Self-Taught ReasonerBootstrapping Reasoning With Reasoning(2022) 리뷰

by Yonghip 2024. 10. 8.

최근 o1이 등장하고 직접 써보니 무언가 기존과는 확실히 다른 inference과정을 거친다는게 느껴졌다. 찾아보니 self correctetion이라는 개념이 적용됐을 거라고 추측하는 글이 몇몇 있어 관련 논문을 리뷰해 보기로 했다.

 

https://github.com/teacherpeterpan/self-correction-llm-papers?tab=readme-ov-file#post-hoc-correction

 

GitHub - teacherpeterpan/self-correction-llm-papers: This is a collection of research papers for Self-Correcting Large Language

This is a collection of research papers for Self-Correcting Large Language Models with Automated Feedback. - GitHub - teacherpeterpan/self-correction-llm-papers: This is a collection of research p...

github.com

self correction 레포 중 1등인데 생각보다 종류가 다양해서 정확히 어떤기법이 적용됐는지는 파악이 어려웠다. 가볍게 개념만 알아보는 느낌으로 봐주면 좋을 것 같다.

Abstract&Introduction

작은 양의 rationale example과 raionale이 없는 상대적으로 큰 데이터셋을 사용해 모델을 반복적으로 학습해 복잡한 추론을 가능하게 하는 방법을 고안함

  • rationale: 이론적 근거, 해설 이 논문에서는 intermediate reasoning(사고 과정)

몇개의 rationale만을 이용해 in-context learning을 수행, 모델이 large dataset에 대해 rationale을 생성할 수 있게 학습하며, 이 rationale을 이용해 원하는 모델을 학습시킴

 

rationalization: 모델이 정답을 못 맞힐 때마다 정답이 포함된 새로운 rationale를 사용한다(rationale을 사용하는건 기존에도 있었고 이게 저자의 contribution임)

 

Method

Rationale Generation Bootstrapping (STaR Without Rationalization)

기존 데이터셋에 rationale을 promt로 추가하여 few shot prompt 생성, 이를 통해 학습된 모델은 이 후에도 rationale이 포함된 답변을 줌. 그중에 정답만 필터링하여 claen한 rationale로 새로운 모델 학습함.

 

이 과정을 원하는 성능에 도달하기까지 반복함

M→M_1→M_2가 아니라 동일한 가중치를 사용한걸 반복함

Rationalization

위의 방식은 결국 맞춘것에 대한 학습을 반복하는 과정이므로 결국 새로운 문제에 대한 대응력은 약해지며 이를 극복하기 위해 틀린 예측에 위의 그림처럼 힌트를 넣어줌(rationale 생성보다는 상대적으로 적은 prompt cost)

이후 틀렸지만 힌트고 포함된것들과 맞춘 것들 전부 합해서 iterate하며 학습함.

위의 사진에서 검은 줄이 기존에 사용하는 rationale 파란색이 rationalization을 적용한 데이터셋을 의미

Example

이러한 self correction이 진짜 쓸모가 있을까? 개인적으로 모델을 학습하기는 어렵고 ChatGPT와 o1으로 어려운 질문을 던져주고 이에 대해 추론하는 과정에 원하는 답을 줄 가능성이 높아지는지 확인해 보았다.

왼쪽이 chatGPT4, 오른쪽이 o1-preview이다. strawberry에서 "r"의 개수를 세는 문제는 기존 LLM이 어려워 하던 문제인데 o1은 이런 문제도 쉽게 대응했고 수학 문제에 대한 해설 역시 길게 제공해준다.

 

openAI는 모델 구조나 예측 파이프라인을 제공하지 않으므로 확신할 수는 없지만 그래도 개인적으로는 self correction이 해설 혹은 난제를 푸는데 도움은 줄 수 있다고 생각한다.

 

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