-
13. STaR: Self-Taught ReasonerBootstrapping Reasoning With Reasoning논문 2024. 5. 1. 20:23
음 Quiet-STaR을 논문 리뷰하려고 하다보니 이해가 안되는 부분이 좀 있어서 이전 논문인 STaR에 대해서 정리를 해보려고 한다. 쉽진않아..
Generating step-by-step "chain-of-thought" rationales improves language model performance on complex reasoning tasks like mathematics or commonsense question-answering.
However, inducing language model rationale generation currently requires either constructing massive rationale datasets or sacrificing accuracy by using only few-shot inference.
We propose a technique to iteratively leverage a small number of rationale examples and a large dataset without rationales, to bootstrap the ability to perform successively more complex reasoning
This technique, the "Self-Taught Reasoner" (STaR), relies on a simple loop: generate rationales to answer many questions, prompted with a few rationale examples; if the generated answers are wrong, try again to generate a rationale given the correct answer; finetune on all the rationales that ultimately yielded correct answers; repeat.
We show that STaR significantly improves performance on multiple datasets compared to a model fine-tuned to directly predict final answers, and performs comparably to finetuning a 30× larger state-of-the-art language model on CommensenseQA. Thus, STaR lets a model improve itself by learning from its own generated reasoning
Human decision-making is often the result of extended chains of thought
Generating explicit rationales before giving a final answer (“rationale generation”) is valuable for LLMs across diverse tasks including mathematical reasoning, commonsense reasoning, code evaluation, social bias inference, and natural language inference.
However, the two primary methods for inducing rationale generation both have serious drawbacks.
1. Rationale generation is the construction of a fine-tuning dataset of rationales, either manually by human annotators or automatically with hand-crafted templates. Manual methods are expensive, and it is infeasible to construct such a dataset for each interesting problem
2. Template-based methods rely on automatically-generated rationales but only work when a general solution is already known or reasonable hard-coded heuristics can be made.
템플릿 기반 방법은 근거 생성에 있어 미리 정의된 규칙이나 템플릿을 사용하여 자동으로 근거를 생성하는 방식
이 방법은 특정 종류의 문제에 대해 이미 알려진 일반적인 해결책이 있을 때 효과적으로 작동
템플릿은 추론 과정이나 문제 해결 단계를 기술하는 데 사용되며, 언어 모델이 이 템플릿을 따라 근거를 구축
템플릿은 일종의 골격처럼 작동하여 모델이 적절한 문제 해결 방식을 '모방'할 수 있게 함
그러나 이 방식은 해결책이 명확하고, 문제 유형이 비교적 고정적일 때 잘 작동하며, 다양하고 복잡한 문제에는 적용하기 어렵다는 단점이 존재
예시: 예를 들어, 간단한 덧셈 문제를 푸는 경우를 생각해 봅시다. 덧셈 문제에 대한 일반적인 해결책은 각 자릿수를 더하고, 10을 넘을 경우 다음 자릿수로 올림하는 것입니다. 템플릿 기반 방법을 사용하면 다음과 같은 템플릿을 만들 수 있습니다:
문제: 숫자 A와 숫자 B를 더하시오.
근거:
- 첫 번째 단계: A의 일의 자리와 B의 일의 자리를 더합니다.
- 두 번째 단계: A의 십의 자리와 B의 십의 자리를 더하고, 일의 자리의 합이 10을 넘으면 1을 더합니다.
- 마지막 단계: 만약 올림수가 있다면, 이를 최종 합에 더합니다.
답변: A + B = (계산 결과)
이렇게 정의된 템플릿을 사용하여 모델은 다양한 덧셈 문제에 대해 일관된 방식으로 근거를 생성
그러나 만약 문제가 덧셈에서 복잡한 대수 문제로 넘어간다면, 같은 템플릿이 적용되지 않을 수 있으며, 문제 유형에 따라 새로운 템플릿이 필요An alternative is to leverage in-context learning by including only a few rationale examples in the language model prompt. This has been shown to improve accuracy on mathematical and symbolic reasoning tasks relative to prompting without rationales (“direct” prompting). Yet, while few shot techniques with rationales tend to outperform their non-reasoning counterparts, they generally substantially underperform models fine-tuned to directly predict answers using larger datasets.
인컨텍스트 학습(In-context Learning)에 대한 자세한 설명
인컨텍스트 학습은 대형 언어 모델이 주어진 프롬프트나 맥락 안에서 학습하는 방법을 의미
이 방법은 모델에게 작업에 대한 직접적인 지시 없이도 어떻게 작업을 수행해야 하는지를 배우도록 함
특히, few-shot learning이나 zero-shot learning 같은 시나리오에서 주목받고 있는데, 이는 모델이 명시적인 예제를 몇 개만 보고 전체 작업을 추론할 수 있도록 함
언어 모델은 제공된 프롬프트의 예제들로부터 패턴을 학습하고, 이를 기반으로 새로운 입력에 대한 적절한 출력을 생성합니다.
인컨텍스트 학습은 특히 대형 언어 모델(GPT-3와 같은)에서 관찰되며, 이 모델들은 이미 대규모 데이터를 통해 다양한 언어 패턴과 지식을 학습했기 때문에 적은 수의 예제로도 높은 성능을 낼 수 있음
인컨텍스트 학습의 예: GPT-3 같은 언어 모델을 사용하여 날씨에 관한 질문에 답하는 상황을 생각해 봅시다. 사용자가 모델에게 다음과 같은 프롬프트를 제공
Q: 파리의 오늘 날씨는 어때요?
A: 오늘 파리의 날씨는 흐림과 소나기가 예상됩니다.
Q: 뉴욕의 내일 날씨는 어때요?
A: 내일 뉴욕의 날씨는 맑고 따뜻할 것으로 보입니다.
이제 새로운 질문 "도쿄의 주말 날씨는 어떨까요?"를 모델에게 제시하면, 모델은 제공된 예제들로부터 날씨에 관한 질문에 답변하는 방식을 학습하고, 그것을 새로운 맥락에 적용하여 "이번 주말 도쿄의 날씨는 대체로 맑을 것으로 보입니다."와 같은 답변을 생성할 수 있습니다. 이것이 바로 인컨텍스트 학습의 작동 방식입니다. 모델은 단지 프롬프트로부터 추론하는 방법을 '배웁니다'.In this paper, we adopt a different approach: by leveraging the LLM’s pre-existing reasoning ability, we iteratively bootstrap the ability to generate high-quality rationales.
Specifically, we few-shot prompt a large language model to self-generate rationales and refine the model’s ability further by fine-tuning on those rationales that lead to correct answers.
We repeat this procedure, using the improved model to generate the next training set each time.
This is a synergistic process, where improvements in rationale generation improve the training data, and improvements in training data further improve rationale generation.
However, we find this loop eventually fails to solve any new problems in the training set because it receives no direct training signal for problems it fails to solve.
To overcome this issue, we propose rationalization: for each problem that the model fails to answer correctly, we generate a new rationale by providing the model with the correct answer.
This lets the model reason backward—given the correct answer, the model can more easily generate a useful rationale. These rationales are then collected as part of the training data, which often improves overall accuracy.
We thus develop the Self-Taught Reasoner (STaR, Fig. 1) method, a scalable bootstrapping method allowing models to learn to generate their own rationales, while also learning to solve increasingly difficult problems. In our method, we repeat the following process: in each iteration, first construct a finetuning dataset by attempting to solve the dataset using the current model’s rationale generation ability; then, augment this dataset using rationalization, justifying ground-truth answers to problems the model failed to solve; finally, finetune the large language model on the combined dataset. Applying STaR on arithmetic, math word problems, and commonsense reasoning, we observe it is able to effectively translate a small number of few-shot prompts into a large rationale dataset, yielding dramatic performance improvements. On CommonsenseQA [10], we find STaR improves over both a few-shot baseline (+35.9%) and a baseline fine-tuned to directly predict answers (+12.5%) , and performs comparably to a fine-tuned model that is 30× larger (72.5% vs. 73.0%).
1. We propose a bootstrapping mechanism to iteratively generate a rationale dataset from a few initial examples with rationales—without needing to check new rationales’ correctness.
2. We complement rationale generation with rationalization, where a model is tasked with justifying an answer and then fine-tuned as if it had come up with the rationale without any hint. We show rationalization accelerates and improves the bootstrapping process.
3. We evaluate these techniques with a variety of ablations in both mathematical and commonsense reasoning domains.
4. We propose what is, to our knowledge, the first technique to allow a pre-trained large language model to iteratively use its language modeling capacity to improve itself.
In-context Learning
In essence, in-context learning treats few-shot learning as a language modeling problem, by showing a few examples in the context (i.e. prompt), and allowing the model to learn and identify the pattern to apply to new examples.Some have studied in-context learning based on the language modeling objective in terms of Bayesian inference while others have attempted to describe the process more mechanistically in terms of “induction heads”.Contextual learning에 대한 연구는 언어 모델이 새로운 상황이나 데이터에 대해 어떻게 학습하고 적응하는지를 탐구
특히, 이 연구 분야는 대규모 언어 모델이 소수의 예제를 통해 학습하는 "Few-shot Learing"의 능력을 다룸
여기서 "Few-shot"이란 매우 적은 양의 예제로부터 일반화하는 능력
이 분야에서 특히 주목할 만한 두 가지 접근 방식은 베이지안 추론과 induction heads
1. 베이지안 추론 측면의 연구
언어 모델의 Context based learning을 베이지안 추론의 관점에서 이해
베이지안 추론은 확률적 모델링에서 데이터를 보고 후보 가설들에 대한 신뢰도를 업데이트하는 과정
언어 모델링에서는 이를 문제에 대한 몇 가지 예제를 보고 새로운 문제에 대한 답을 추론하는 과정으로 생각
즉, 모델이 주어진 프롬프트(맥락)에 기초하여 최적의 답변을 생성할 확률을 최대화하는 방식으로 학습
베이지안 추론
우리가 어떤 정보를 갖고 있을 때 새로운 데이터를 받아들여 기존의 믿음(가설)을 업데이트하는 방법
예를 들어, 비가 올 확률을 판단할 때 처음에는 일기 예보만 보고 추정하지만, 창문 밖에 구름이 꼈는지, 바람이 부는지 등의 새로운 정보를 접하면 그 확률을 조정
언어 모델링과의 연결
언어 모델이 문제를 풀 때, 베이지안 추론은 모델이 이미 알고 있는 정보(훈련 데이터)를 기반으로 새로운 문제에 접근하는 방식
언어 모델은 주어진 프롬프트(맥락이 되는 텍스트)를 보고 어떤 답변이 가장 적절할지를 확률적으로 추론
새로운 문제에의 적용
모델에게 소수의 예시를 주고 나면, 이를 기반으로 모델은 새로운 유형의 문제에 대해서도 답을 생성할 수 있어야 함
이 과정에서 모델은 과거 데이터에서 배운 패턴을 이용해 최선의 추측
학습 과정
이렇게 모델은 새로운 정보(예를 들면, 새로운 문제에 대한 몇 가지 예시)를 접할 때마다 그 정보를 이용해 무엇이 가장 진실에 가까운지를 추론하고, 그 추론을 통해 새로운 문제에 대한 답을 생성하는 확률을 조정
이는 마치 사람이 새로운 정보를 얻을 때마다 생각을 조정하듯이, 모델도 새로운 상황에서 더 나은 결정을 내리기 위해 자신의 '생각'을 조정하는 것과 비슷
2. Induction Head 측면의 연구
Induction Head는 모델이 패턴을 인식하고 새로운 상황에 적용하는 메커니즘을 설명하려는 시도입니다.이 개념은 모델이 내부적으로 패턴을 '유도'하거나 추론하는 '헤드' 또는 부분을 가지고 있다는 아이디어에서 나옵니다. 여기서 'Head'는 신경망에서의 특정 구조나 단위를 의미합니다.예를 들어, Induction Head는 언어 모델이 문장 내에서 특정 단어의 의미나 문맥을 인식하고 그것을 기반으로 새로운 문장을 생성할 때 활성화될 수 있습니다.이러한 연구는 언어 모델이 어떻게 과거의 데이터로부터 학습한 정보를 활용하여 새로운 문제를 해결하는지 기계적인 관점에서 설명하려고 합니다.Moreover, differences in prompt configurations have been known to have dramatic effects on few-shot performance.Some have even found that replacing few-shot prompts with a “soft prompt” which can be optimized in embedding space results in noticeable gains. Instead of emphasizing the representation of the question, we focus on the model output; in particular, we focus on the model’s ability to reason through a problem before coming to a conclusion.RationalesShowing that training a language model on a dataset with explicit rationales preceding the answer could improve a model’s ability to generate the final answer. However, this required many thousands of training examples to be manually annotated with human reasoning.Recently, demonstrated that step-by-step “scratchpads” can improve fine-tuned LLM performance and generalization on tasks such as arithmetic, polynomial evaluation, and program evaluation.Similarly, a single few-shot “chain-of-thought” reasoning prompt in order to improve model performance on a collection of tasks, without fine-tuning.Finally, showed that a curriculum learning approach could help solve formal math problems, as long as1) they were translated into Lean (a theorem-proving language)2) one could directly evaluate the validity of the proofs3) one could sample numerous potential solutions for each problem4) had trained a separate value function model5) started with GPT-f (a model already fine-tuned on a large math dataset [18]).Iterated LearningA variety of iterated learning algorithms have been proposed, where solutions or successful methods which are found are in turn used to find additional solutions [21, 22, 16]. [21] introduced Expert Iteration (ExIt), a reinforcement learning technique serving as an inspiration for our approach.Essentially, it consists of a loop of self-play by an “apprentice,” followed by imitation learning with feedback from a slower “expert” and then the replacement of the expert with the nowimproved apprentice. [16] builds off of ExIt for formal reasoning, while [22] applies iterated learning to visual question answering using modular networks which can be combined compositionally. There are further similarities between STaR and expert iteration methods [21]. For example, filtering generated examples based on whether their ultimate answer matches the target can be seen as expert feedback. However, we have a fixed “expert” and do not train a separate value function.1. Expert Iteration (ExIt)
Expert Iteration은 강화 학습 기술의 한 형태로, 훈련 과정에서 "수습생" 모델이 자체적으로 플레이하며 학습하고, 이후에 더 경험 많은 "전문가" 모델의 피드백을 받아 학습합니다.
작동 방식: 이 방법은 특히 게임이나 문제 해결 작업에서 유용하게 사용됩니다. "수습생" 모델이 주어진 작업에 대해 자체적으로 시도하고, 그 결과를 바탕으로 "전문가" 모델로부터 피드백을 받습니다. 이 피드백은 주로 정답이나 더 나은 해결 방법을 제공함으로써, 수습생 모델이 더 나은 성능을 개발하도록 돕습니다.
목적: 최종적으로는 수습생 모델이 전문가 모델의 성능을 능가하거나, 적어도 유사한 수준에 도달할 때까지 이러한 과정을 반복합니다. 이는 모델이 독립적으로 문제를 해결하는 능력을 향상시키는데 목적이 있습니다.
2. 정식 추론과 모듈러 네트워크
정식 추론(ExIt 기반): ExIt 프레임워크를 사용하여 더 구조화된 추론 작업, 예를 들어 수학적 증명이나 논리적 문제 해결에 적용된 것입니다. 여기서 모델은 각 단계에서 최적의 결정을 내리는 방법을 학습하며, 이는 고도로 구조화된 문제에 접근하는 방식을 개선합니다.
모듈러 네트워크: [22]에서는 모듈러 네트워크를 사용하여 시각적 질문 응답과 같은 작업에 반복 학습을 적용했습니다. 이 네트워크들은 개별 모듈이 특정 하위 작업을 수행하도록 설계되어 있으며, 이러한 모듈들을 다양한 방식으로 조합하여 다양한 유형의 문제에 대응할 수 있습니다.
3. 전문가 반복 방법과의 유사점
생성된 예시의 필터링: STaR 방법론에서는 생성된 예시들을 필터링하여 최종 답변과 일치하는 경우에만 사용합니다. 이는 "전문가"의 피드백과 유사한 역할을 하며, 모델이 정확한 답변을 생성하도록 유도합니다.고정된 전문가의 역할: 이 접근 방식에서는 "전문가" 모델이 고정되어 있으며, 별도의 가치 함수 모델을 훈련하지 않습니다. 이는 "전문가" 모델이 일관된 기준을 제공하며, "수습생" 모델의 성능 향상을 돕는 데 중점을 둡니다.Rationale Generation Bootstrapping (STaR Without Rationalization)
이 기술은 사전 훈련된 대규모 언어 모델 $M$과 초기 문제 데이터셋 $ D = \{(x_i, y_i)\}_{i=1}^D $을 받습니다.작은 예시 세트 $ P $로 시작하는데, 여기에는 중간 이성적 근거 $ r $가 포함
$P = \{(x_p^i, r_p^i, y_p^i)\}_{i=1}^P $, 여기서 $ P \neq D $ (예를 들어, $ P = 10 )$.
P와 D의 질문 차이
P(작은 예시 세트): 일반적으로 매우 제한된 수의 예시로 구성됩니다. 이 예시들은 모델이 문제를 해결할 때 적절한 방법과 이성적 근거를 생성하는 방법을 학습할 수 있도록 설계된 것들입니다. 이 예시들은 모델에게 어떤 유형의 문제든 접근할 수 있는 일반적인 논리적 사고와 패턴 인식을 가르치는 데 중점을 둡니다.
D (초기 문제 데이터셋): 보통 훨씬 더 많은 데이터와 다양한 유형의 질문을 포함하고 있습니다. 이 데이터셋은 모델이 실제로 다양한 문제에 대한 이성적 근거와 정답을 생성하면서 실제 세계에서의 성능을 향상시키는 데 사용됩니다.
P에서 배운 논리를 D에 적용:모델은 P에서 제공된 예시들을 통해 특정 유형의 질문과 답변 생성 방식을 배웁니다. 이렇게 학습된 패턴과 논리는 D의 새로운 문제를 해결할 때 적용됩니다. 예를 들어, P에서 모델이 "장소에 관한 질문에 대해 이성적으로 생각하고 답변을 생성하는 방법"을 배웠다면, D에 포함된 비슷한 유형의 새로운 질문에 이 기술을 적용할 수 있습니다.표준 few-shot 프롬프트처럼, 이 예시 세트를 $ D $의 각 예시에 연결합니다.
즉, $ x_i = (x_p^1, r_p^1, y_p^1, \ldots, x_p^P, r_p^P, y_p^P, x_i)$로 설정
이는 모델이 $ x_i $에 대한 이성적 근거 $ \hat{r}_i $를 생성한 다음 답변 $ \hat{y}_i $를 생성하도록 장려
올바른 답변으로 이어지는 이성적 근거가 더 좋은 품질을 갖는다고 가정
올바른 답변을 결과로 하는 이성적 근거만을 포함시켜 생성된 이성적 근거를 필터링 $(\hat{y}_i = y_i)$.
기본 모델 $ M $을 이 필터링된 데이터셋으로 미세조정하고, 이 프로세스를 새롭게 미세조정된 모델로 새로운 이성적 근거를 생성하면서 계속 반복, 이 과정을 성능이 정체될 때까지 반복
이 프로세스 동안 새 데이터셋을 수집할 때마다 원래 사전 훈련된 모델 $ M $ 대신 계속 훈련하는 것이 아니라 오버피팅을 피하기 위해 매번 새로 훈련합니다.
STaR은 RL 스타일의 정책 그라디언트 목표를 근사화로 볼 수 있습니다. 이를 확인하려면, $ M $을 이산 잠재 변수 모델 $ p_M(y | x) = \sum_r p(r | x)p(y | x, r) $로 간주할 수 있습니다; 즉, $ M $은 먼저 잠재 이성적 근거 $ r$을 샘플링한 다음 $ y $를 예측합니다. 이제 지표 보상 함수 $ 1(\hat{y} = y) $를 사용하면 데이터셋에 대한 총 기대 보상은 다음과 같습니다:STaR (Self-Taught Reasoner) 방법은 재귀적인 학습 방법을 사용하여 모델이 자체 생성한 이성적 근거로부터 학습하고, 이를 통해 모델의 추론 능력을 개선하는 과정
이 접근 방식은 강화학습(RL)의 정책 그라디언트 방법과 비슷한 면이 있습니다. 여기서 모델 $ M $은 잠재적인 이성적 근거 $ r $을 생성하고, 이 근거를 바탕으로 출력 $ y $를 예측하는 이산 잠재 변수 모델로 볼 수 있습니다.
이산 잠재 변수 모델 $ p_M(y | x) $ 모델 $ M $은 입력 $ x $에 대해 잠재 변수 $ r $을 샘플링하고, 이를 통해 최종 출력 $ y $를 예측합니다. 여기서 $ r $은 문제 $ x $에 대한 이성적 근거를 나타내며, $ p(r | x) $는 주어진 입력 $ x $에 대해 가능한 모든 이성적 근거 $ r $을 샘플링하는 분포를 나타냅니다. 그런 다음, 이 잠재적 이성적 근거와 입력을 바탕으로 최종 답변 $ y $가 생성됩니다. 즉, 모델의 예측은 $ p(y | x, r) $에 의해 결정되며, 이는 입력과 샘플링된 이성적 근거에 기반합니다.
보상 함수 $ 1(\hat{y} = y) $ 이 모델에서는 각 출력 $ \hat{y} $에 대해 실제 정답 $ y $와 비교하여 보상을 계산합니다. 보상 함수 $ 1(\hat{y} = y) $는 예측 $ \hat{y} $이 실제 정답 $ y $와 일치할 때 1을 반환하고, 그렇지 않을 경우 0을 반환합니다. 이는 모델이 정답을 예측했을 때만 긍정적인 보상을 받는다는 것을 의미합니다.
총 기대 보상 모델의 성능은 총 기대 보상으로 평가될 수 있습니다. 이는 모든 가능한 이성적 근거 $ r $과 예측 $ \hat{y} $에 대해 계산되며, 수식으로 표현하면 다음과 같습니다: $[ J(M, X, Y) = \sum_i \mathbb{E}_{\hat{r}_i, \hat{y}_i \sim p_M(\cdot | x_i)} [1(\hat{y}_i = y_i)] ]$ 여기서 $ \mathbb{E} $는 기대값을 나타내고, $ \hat{r}_i, \hat{y}_i $는 모델 $ M $에 의해 생성된 이성적 근거와 예측된 답변을 나타냅니다. 이 공식은 모든 입력 $ x_i$에 대해 올바른 답변을 생성할 확률을 최대화하는 것을 목표로 합니다.
STaR 방식은 이런 방식으로 정책 그라디언트와 유사한 방법을 사용하여 모델이 스스로를 향상시키도록 합니다. 이를 통해 모델은 반복적으로 자신의 예측을 개선하고, 잘못된 예측에서 배우며, 점차 더 나은 이성적 근거와 예측을 생성하게 됩니다. 이 과정은 모 델이 자기 학습을 통해 점점 더 향상되는 것을 가능하게 합니다.이산 잠재 변수(discrete latent variable)는 값이 연속적이지 않고 명확하게 구분되는 개별적인 값들로 이루어진 변수를 의미
이산 잠재 변수는 모델링에서 종종 보이지 않는, 즉 관찰되지 않는 요소들을 나타내는 데 사용되며, 이 변수들은 관찰 가능한 데이터와의 관계를 통해 유추될 수 있습니다.
이산 잠재 변수의 예
예를 들어, 텍스트 데이터를 생성하는 언어 모델에서 각 단어 뒤에 오는 단어를 결정하는 데 사용되는 "주제"나 "문맥" 같은 요소는 관찰되지 않으므로 잠재 변수로 모델링될 수 있습니다. 이 변수는 이산적일 수 있으며, 예를 들어 문서가 '경제', '스포츠', '과학' 등 명확하게 구분되는 여러 주제 중 하나에 속할 수 있습니다.
잠재 변수를 사용하는 이유
이산 잠재 변수는 복잡한 데이터 구조에서 숨겨진 패턴이나 구조를 이해하고자 할 때 유용합니다. 예를 들어, 사용자의 구매 패턴이나 문서의 주제 분류와 같은 경우, 이산 잠재 변수를 사용하여 사용자의 선호나 문서의 주제 등을 나타내는 데 사용될 수 있습니다. 이를 통해 모델은 관찰된 데이터만으로는 명확하게 파악하기 어려운 깊은 통찰을 얻거나, 데이터의 생성 과정을 더 잘 이해할 수 있습니다.
모델에서의 이산 잠재 변수
강화학습이나 생성 모델에서 이산 잠재 변수는 특정 상태나 결정, 행동을 나타내는 데 사용될 수 있습니다. 예를 들어, 어떤 행동(예: 왼쪽으로 이동, 오른쪽으로 이동)이나 결정(예: 제품 구매, 구매하지 않음)을 모델링할 때, 이산 잠재 변수는 해당 행동이나 결정의 발생 확률을 계산하는 데 사용될 수 있습니다.
이러한 이산 잠재 변수는 모델이 더 유연하고 적응적으로 데이터를 해석하고, 실제 세계에서 유용한 예측을 하는 데 도움을 줄 수 있습니다. STaR 방식에서는 이러한 이산 잠재 변수가 모델이 이성적 근거를 생성하는 데 사용되며, 이를 통해 모델의 출력과 학습 과정에 중요한 역할을 하게 됩니다.
$J(M,X, Y ) = \sum_i \mathbb{E}_{\hat{r}_i, \hat{y}_i \sim p_M(\cdot|x_i)} [1(\hat{y}_i = y_i)] $
그리고 이에 대한 기울기는 다음과 같이 얻어집니다:
$ \nabla J(M,X, Y ) = \sum_i \mathbb{E}_{\hat{r}_i, \hat{y}_i \sim p_M(\cdot|x_i)} [1(\hat{y}_i = y_i) \cdot \nabla \log p_M(\hat{y}_i, \hat{r}_i | x_i)] $이 수식들은 STaR (Self-Taught Reasoner) 방식에서 모델의 학습 과정을 수학적으로 정의한 것입니다.
여기에서 $J(M, X, Y)$는 모델 $M$의 성능을 측정하는 함수로, 전체 데이터셋 $X$와 정답 $Y$에 대해 모델의 예측 정확도를 나타냅니다.
$\nabla J(M, X, Y)$는 이 성능 함수의 그라디언트, 즉 최적화 과정에서 모델 파라미터를 어떻게 조정해야 할지를 알려주는 방향성을 제공합니다.
$J(M, X, Y)$
이 함수는 모든 데이터 포인트 $i$에 대해 모델 $M$이 예측한 출력 $\hat{y}_i$가 실제 값 $y_i$와 일치할 확률의 기대값을 합산한 것입니다.
$(\mathbb{E}_{\hat{r}_i, \hat{y}_i \sim p_M(\cdot | x_i)}$는 주어진 입력 $x_i$에 대해 모델이 예측하는 이성적 근거 $\hat{r}_i$와 출력 $\hat{y}_i$에 대한 기대값을 의미합니다.
$(1(\hat{y}_i = y_i)$는 예측이 정답과 일치할 때 1, 그렇지 않을 때 0의 값을 갖는 지표 함수입니다.
$\nabla J(M, X, Y)$
이 그라디언트 함수는 모델의 성능을 최대화하기 위해 모델 파라미터를 어떻게 조정해야 하는지를 나타내는 방향성을 제공합니다.
$1(\hat{y}_i = y_i) \cdot \nabla \log p_M(\hat{y}_i, \hat{r}_i | x_i)$는 예측이 정답과 일치할 때만 모델의 로그 확률에 대한 그라디언트를 계산합니다. 이는 학습 과정에서 정답을 맞힌 경우에만 모델이 그 경로를 강화하도록 유도하는 것을 의미합니다.
여기서 $\nabla \log p_M(\hat{y}_i, \hat{r}_i | x_i)$는 주어진 $x_i$와 모델이 생성한 $\hat{r}_i$, $\hat{y}_i$에 대해 모델 파라미터에 로그 확률을 미분한 값입니다. 이 미분 값은 모델의 파라미터를 어떻게 조정해야 예측이 개선될지를 알려줍니다.
여기서 기울기는 표준 로그-파생 트릭을 사용하여 얻습니다. 지표 함수는 정확한 답변 $ y_i $로 이어지지 않는 모든 샘플링된 이성적 근거에 대한 기울기를 버립니다: 이것이 STaR에서의 필터링 과정입니다 (Line 5). 따라서, STaR은 (1) 샘플의 $ (\hat{r}_i, \hat{y}_i) $을 탐욕적으로 디코딩하여 이 추정의 분산을 줄이고 (잠재적으로 편향된 이성적 근거 탐험의 비용으로), (2) 동일한 배치의 데이터에 대해 여러 그라디언트 단계를 수행함으로써 $ J $를 근사화합니다 (일부 정책 그라디언트 알고리즘과 유사). 이 근사화는 STaR을 표준 LLM 훈련 기계 장치로 구현할 수 있는 간단하고 널리 적용 가능한 방법으로 만듭니다; 향후 작업은 STaR과 위의 RL 목표 사이의 연결을 더 자세히 조사해야 합니다.Rationalization
이성적 근거 생성 부트스트래핑 알고리즘은 한 가지 한계를 지니고 있습니다. 모델이 훈련 세트에서 새로운 문제를 해결하지 못할 경우, 이성적 근거 생성을 통해서만 훈련받기 때문에 개선이 멈춥니다. 이는 알고리즘이 실패한 예제에서 어떠한 훈련 신호도 얻을 수 없다는 근본적인 문제 때문입니다. 이 문제를 해결하기 위해 저희는 "합리화"라는 기술을 제안합니다.구체적으로, 저희는 모델에 정답을 힌트로 제공하고 이전의 이성적 근거 생성 단계와 같은 스타일로 이성적 근거를 생성하도록 요청합니다. 정답을 알고 있으면 모델이 보다 쉽게 유용한 이성적 근거를 생성할 수 있습니다.
예를 들어, Figure 2에서 보여준 것처럼, 저희는 "(b) grocery cart"가 정답이라는 힌트를 포함하여 이성적 근거를 생성하도록 프롬프트합니다.
저희는 이성적 근거 생성으로 해결되지 않은 문제에 대해 합리화를 적용합니다. 데이터셋에 합리화로 생성된 이성적 근거를 추가할 때, 저희는 모델이 힌트 없이 이성적 근거를 스스로 생각해낸 것처럼 해당 프롬프트에 힌트를 포함시키지 않습니다. 필터링 후, 저희는 이전에 생성된 데이터셋과 합리화로 생성된 데이터셋을 결합하여 대규모 언어 모델을 미세조정합니다.
Algorithm 1에서 전체 알고리즘을 설명합니다. 파란색 부분은 합리화에 해당합니다. 해당 부분을 제외하면, Algorithm 1은 합리화 없는 STaR에 해당합니다. Figure 1은 개요 다이어그램을 제공합니다. 합리화로 생성된 데이터셋으로 미세조정하는 것은 모델에게 그렇지 않았다면 미세조정 데이터셋에 나타나지 않았을 어려운 문제들을 노출시키는 중요한 이점을 가집니다. 이것은 모델에게 성공하지 못한 문제에 대해 "상자 밖에서 생각하기"를 요구하는 것으로 이해될 수 있습니다. 합리화의 두 번째 이점은 데이터셋 크기를 증가시키는 것입니다.
Algorithm 1의 주요 단계는 다음과 같습니다:
사전 훈련된 LLM $M$, 데이터셋 $D = \{(x_i, y_i)\}_{i=1}^D$ (few-shot 프롬프트 포함) 입력 받기
1. $M_0 \leftarrow M$ # 원본 모델 복사
2. $n = 1 \ldots N$에 대해 # 외부 루프
3. $r_i^{\hat{}}, y_i^{\hat{}} \leftarrow M_{n-1}(x_i) \forall i \in [1, D]$ # 이성적 근거 생성 수행
4. $r_{\text{rat}, i}^{\hat{}}, y_{\text{rat}, i}^{\hat{}} \leftarrow M_{n-1}(\text{add\_hint}(x_i, y_i)) \forall i \in [1, D]$ # 합리화 수행
5. $D_n \leftarrow \{(x_i, r_i^{\hat{}}, y_i) | i \in [1, D] \land y_i^{\hat{}} = y_i\}$ # 정답을 사용하여 이성적 근거 필터링
6. $D_{\text{rat}, n} \leftarrow \{(x_i, r_{\text{rat}, i}^{\hat{}}, y_i) | i \in [1, D] \land y_i^{\hat{}} \neq y_i \land y_{\text{rat}, i}^{\hat{}} = y_i\}$ # 합리화된 이성적 근거 필터링
7. $M_n \leftarrow \text{train}(M, D_n \cup D_{\text{rat}, n})$ # 올바른 해답으로 미세조정 - 내부 루프
8. 외부 루프 종료1. 초기 설정
- 모델 $M$: 큰 언어 모델이나 다른 유형의 모델을 사용할 수 있습니다.
- 데이터셋 $D$: 학습에 사용할 데이터셋으로, 각 항목은 입력 $x_i$와 그에 대한 정답 $y_i$로 구성됩니다.
- 예시 세트 $P$: 모델이 문제 해결을 위해 참고할 수 있는 작은 예시 세트입니다. 이 세트는 이성적 근거와 정답을 포함합니다.
2. 이성적 근거 생성
- 모델은 입력 $x_i$에 대해 이성적 근거 $ \hat{r}_i$를 생성하고, 그 근거를 바탕으로 출력 $ \hat{y}_i $를 예측합니다.
- 이 과정은 각 입력 데이터에 대해 반복적으로 수행되며, 모델은 이성적 근거와 그 결과를 자체적으로 생성합니다.
3. 정확도 평가 및 데이터 필터링
- 생성된 각 이성적 근거와 출력의 정확도를 평가합니다. 모델이 정답 $ y_i $를 정확히 예측한 경우, 해당 이성적 근거를 유지합니다.
- 정답을 예측하지 못한 이성적 근거는 버립니다. 이 필터링 과정을 통해 모델이 유효한 근거만을 학습하도록 합니다.
4. 합리화
- 이성적 근거 생성 단계에서 해결되지 않은 문제에 대해서는 추가 정보(힌트)를 제공하여 합리화 과정을 수행합니다.
- 힌트는 모델이 더 나은 이성적 근거를 생성할 수 있도록 돕지만, 최종 학습 데이터셋에는 힌트를 포함시키지 않습니다.
5. 데이터셋의 결합 및 미세조정
- 정답을 예측한 이성적 근거와 합리화 과정을 통해 생성된 이성적 근거를 결합합니다.
- 이 결합된 데이터셋을 사용하여 모델을 미세조정합니다. 이 과정은 모델의 전반적인 추론 능력을 향상시키기 위해 반복적으로 수행됩니다.
6. 반복 학습
- 위의 단계를 여러 번 반복하여 모델의 성능을 지속적으로 개선합니다. 각 반복은 모델이 더 정확하고 복잡한 이성적 근거를 생성할 수 있도록 합니다.
모델에 few-shot 프롬프트를 사용하여 많은 문제를 단계별로 해결하도록 하며, 근거를 생성하게 합니다.
틀린 문제에 대해 올바른 답변을 합리화하도록 프롬프트합니다. 처음으로 정확한 해결책과 합리화된 정확한 해결책 모두에 대해 미세 조정을 수행하고, 이 과정을 반복합니다.
이 기술이 모델의 상징적 추론과 자연어 추론에 대한 일반화 성능을 크게 향상시킨다는 것을 발견했습니다.
STaR에는 몇 가지 중요한 한계가 있습니다.
STaR의 첫 번째 반복이 성공하려면 few-shot 성능이 우연보다 높아야 하며, 이는 초기 모델이 일정 수준의 추론 능력을 가져야 함을 의미합니다. 예를 들어, 저희는 GPT-2가 산술 분야에서조차 few-shot 추론에서 부트스트랩할 수 없음을 발견했습니다. 또 다른 한계는 우연의 성능 수준이 높은 설정(예: 이진 결정)에서 많은 부적절한 근거가 생성되어 STaR 접근법을 혼란스럽게 만든다는 것입니다.
이러한 설정에서 나쁜 추론을 필터링하는 방법은 여전히 해결되지 않은 문제입니다.
그럼에도 불구하고, 추론 없는 예제를 사용하여 추론을 부트스트랩하는 것은 매우 일반적인 접근법이며, STaR은 많은 분야에서 더 정교한 기술의 기반으로 사용될 수 있다고 믿습니다.
'논문' 카테고리의 다른 글