-
요즘 학교 수업에서 SSL에 대해서 집중적으로 공부를 하고 있는데..개인적인 관심인 COT(Chain of Thought)에 강화학습을 적용한 논문이 있어 소개하려고 한다.
이 논문을 읽기 위해 선수로 아래의 논문도 읽었다.... (정말 쉽지 않다 인공지능)
2024.04.27 - [논문] - STaR: Self-Taught ReasonerBootstrapping Reasoning With Reasoning
STaR: Self-Taught ReasonerBootstrapping Reasoning With Reasoning
음 Quiet-STaR을 논문 리뷰하려고 하다보니 이해가 안되는 부분이 좀 있어서 이전 논문인 STaR에 대해서 정리를 해보려고 한다. 쉽진않아..Generating step-by-step "chain-of-thought" rationales improves language model
jik9210.tistory.com
사람들이 글을 쓰거나 말할 때 가끔 생각하는 시간을 갖는다. 이전의 추론 중심 작업들은 추론을 질문에 대답하거나 대리적인 작업을 완료하는 방법으로 설명했지만, 실제로는 거의 모든 서면 텍스트에 암묵적인 추론이 포함되어 있습니다. 예를 들어, 증명의 과정에서 명시적으로 밝히지 않은 단계나 대화의 배경에 깔린 이론 등을 들 수 있다.
기존의 추론 중심 연구들은 주로 두 가지 방법으로 진행되어 왔습니다. 첫째, 질문에 답하는 형식을 통해, 즉 정보를 수집하고, 분석하여 결론을 도출하는 과정을 통해 추론 능력을 테스트합니다. 예를 들어, 텍스트를 읽고 그 내용에 관한 질문에 답하거나, 주어진 데이터를 바탕으로 추론을 요구하는 문제를 해결하는 식입니다.
둘째, 특정 작업을 완수하는 방법으로 연구가 이루어집니다. 이 경우, 로봇이나 소프트웨어가 주어진 상황에서 어떻게 문제를 인식하고, 해결 방안을 모색하며, 실제로 작업을 수행하는지를 평가하는 방식으로 진행됩니다. 예를 들어, 로봇이 물체를 감지하고 그것을 특정 위치로 옮기는 작업이 이에 해당할 수 있습니다.
이러한 연구들은 복잡한 문제 해결 능력이나 일련의 작업 수행 능력을 통해 기계의 추론 능력을 평가하며, 이는 인공지능 분야에서 중요한 연구 주제로 자리잡고 있습니다. 이런 연구를 통해 개발된 기술은 자율 주행 자동차, 자동 번역 시스템, 의료 진단 보조 도구 등 다양한 분야에서 활용될 수 있습니다.Self-Taught Reasoner (STaR, Zelikman et al. 2022)에서는 질문-답변 작업에서 몇 가지 예시를 통해 추론의 근거를 추론하고, 정답으로 이어지는 근거에서 학습하여 유용한 사고를 배우는 방법을 제시하였다. 이는 매우 제한적인 설정이며, 이상적으로는 언어 모델이 임의의 텍스트에서 명시되지 않은 추론을 추론할 수 있습니다.
Self-Taught Reasoner (STaR) 모델과 Chain of Thought (CoT) 접근 방식은 모두 인공지능이 추론 과정을 통해 문제를 해결하도록 하는데 목적을 두고 있지만, 접근 방식에서 몇 가지 중요한 차이점이 있습니다.
학습 방식의 차이:STaR (Self-Taught Reasoner): 이 모델은 질문-답변 작업에서 제한된 수의 예시를 통해 근거를 추론하고, 그 근거에서 학습하여 독립적으로 유용한 추론 패턴을 발전시킵니다. STaR은 특히 문제 해결 과정에서 발생하는 근거들을 내부적으로 생성하고 이를 통해 스스로 학습하며, 결과적으로 보다 정교한 추론 능력을 개발하는 것을 목표로 합니다.
+ 언어 모델이 생성한 추론 근거 중에서 실제 정답으로 이어지는 근거만 선별하여 학습
Chain of Thought (CoT): 이 접근법은 모델이 문제를 해결하는 과정에서 자신의 생각 과정을 명시적으로 표현하도록 합니다. CoT는 인간의 문제 해결 방식을 모방하여, 문제에 대한 답을 도출하기 전에 중간 단계의 추론 과정을 서술적으로 기술하게 함으로써, 모델의 추론을 더 이해하기 쉽고, 논리적으로 만듭니다.자율성과 독립성:STaR: 자율적인 학습을 강조하며, 제한된 예시로부터 스스로 학습하는 능력을 개발합니다. 이는 모델이 직접 자신의 추론 기법을 향상시키고 새로운 상황에 적응할 수 있는 능력을 의미합니다.CoT: 주어진 데이터나 사전에 학습된 지식을 바탕으로 추론 과정을 구성합니다. 이는 모델이 인간이 이해할 수 있는 방식으로 추론을 표현하도록 함으로써, 추론의 정확성을 높이고 설명 가능성을 제공합니다.
결론적으로, STaR은 더 독립적이고 자율적인 학습 방식을 취하며, CoT는 추론 과정의 명확성과 투명성을 강조하는 차이가 있습니다. STaR은 더 적은 데이터로부터 추론을 배우고 발전시키는 반면, CoT는 문제 해결 과정에서 생각의 흐름을 자세히 설명함으로써 이해도를 높이고자 합니다.우리는 STaR의 일반화인 Quiet-STaR을 소개합니다. 이 모델에서 언어 모델(LMs)은 미래 텍스트를 설명하기 위해 각 토큰에서 추론을 생성하는 방법을 배우며, 그 예측을 개선합니다. 우리는 몇 가지 주요 도전 과제를 해결합니다.
1) 연속적인 생성의 계산 비용
2) 언어 모델이 초기에 내부적인 생각을 생성하거나 사용하는 방법을 모른다는 사실
3) 개별 다음 토큰을 넘어서 예측할 필요성입니다.
이를 해결하기 위해, 생각의 시작과 끝을 나타내는 학습 가능한 토큰을 사용하는 Tokenwise parallel sampling algorithm과 Extended teacher-forcing technique을 제안한다.
생성된 추론은 특히 예측하기 어려운 토큰을 모델링하는 데 큰 도움이 되며 언어 모델의 직접적인 질문 답변 능력을 향상시킵니다. 특히, 인터넷 텍스트 코퍼스에서 언어 모델을 계속 사전 훈련한 후 Quiet-STaR로 GSM8K(5.9%→10.9%) 및 CommonsenseQA(36.3%→47.2%)에서 제로샷 개선을 발견했으며 자연 텍스트에서 어려운 토큰의 복잡도 개선을 관찰했습니다. 중요하게도, 이러한 개선은 이러한 작업에 대한 미세 조정을 요구하지 않습니다. Quiet-STaR는 언어 모델이 더 일반적이고 확장 가능한 방식으로 추론을 배울 수 있는 길을 향한 한 걸음을 표시합니다."
STaR 모델, Chain of Thought (CoT) 방식, 그리고 여러분이 제공한 문서에 설명된 Quiet-STaR 방법은 각각 독특한 접근 방식과 특징을 가지고 있지만, 언어 모델의 추론 능력을 향상시키는 공통된 목표를 가지고 있습니다. 각 방법의 특성과 방법론을 기반으로 자세한 비교를 제공하겠습니다:
공통적인 특징
- 향상된 추론 능력: 모든 방법은 언어 모델이 정보를 처리하고 이해하는 능력을 강화하여 더 정교한 추론을 수행할 수 있게 하는 것을 목표로 합니다.
차이점
- 학습 방법:
- STaR (Self-Taught Reasoner): 이 방법은 언어 모델이 소수의 예시에서 근거를 추론하고, 정답으로 이어지는 근거를 학습함으로써 스스로 유용한 사고 방식을 배우는 것을 목표로 합니다. 특히, 어려운 문제를 점진적으로 해결해 나가면서 추론 능력을 개발합니다.
- CoT (Chain of Thought): 이 방법은 언어 모델이 문제를 해결하는 과정에서 자신의 사고 과정을 명시적으로 표현하도록 합니다. 이는 모델이 보다 복잡한 추론을 직접적으로 나타내며, 이해하기 쉬운 형태로 제시됩니다.
- Quiet-STaR: Quiet-STaR은 STaR의 일반화 버전으로, 언어 모델이 임의의 텍스트에서 미시적인 근거를 생성하고, 이를 바탕으로 미래의 텍스트를 예측하는 방식으로 추론을 학습합니다. 이 방식은 토큰 단위로 이루어지며, 복잡한 자연어 처리 작업에서 모델의 예측을 개선하는 데 도움을 줍니다.
- 적용 범위와 일반성:
- STaR: 주로 특정한 QA 데이터셋에서 효과적인 추론 능력을 발전시키는 데 초점을 맞춥니다.
- CoT: 다양한 형태의 문제 해결에 유용하며, 사용자가 모델에 질문을 던졌을 때 추론 과정을 제공하여 답변의 정확성을 높입니다.
- Quiet-STaR: 텍스트 예측과 같이 더 일반적이고 광범위한 언어 모델링 작업에서 추론 능력을 향상시키기 위해 설계되었습니다. 이는 다양한 유형의 텍스트에서 모델이 스스로 추론을 학습하게 하여 일반성을 크게 향상시킵니다.
이러한 방법들은 각기 다른 접근 방식을 통해 언어 모델의 추론 능력을 개선하려는 공통의 목표를 가지고 있지만, 구체적인 학습 방법과 적용 범위에서 차이를 보입니다. STaR은 질문에 대한 답을 찾는 데 집중하는 반면, CoT는 과정을 명확히 밝히고, Quiet-STaR은 텍스트 예측의 정확성을 높이기 위해 내부적인 사고를 이용합니다.
STaR (Self-Taught Reasoner) 방식은 내부적으로 소수의 예시를 활용하여 근거를 추론하는 과정을 포함합니다. 이는 few-shot 학습 방식과 유사하지만, 명확하게 외부에서 제공되는 소수의 예시를 사용하는 것이 아니라, 언어 모델 스스로가 주어진 데이터 내에서 소수의 관련 예시를 선택하고, 이를 바탕으로 근거를 추론하고 학습합니다.
이러한 과정은 다음과 같은 단계로 이루어집니다:
- 문제 인식: 언어 모델은 주어진 문제를 인식하고 이와 관련된 질문에 대한 답을 생성하려고 시도합니다.
- 근거 생성: 모델은 자체적으로 근거나 논리적 추론을 생성하여 문제에 대한 답을 도출합니다.
- 반복 학습: 생성된 근거가 정답으로 이어질 경우, 그 근거를 학습 자료로 사용하여 모델이 더 나은 추론 능력을 개발하도록 합니다. 이 과정을 반복함으로써 모델은 점점 더 복잡하고 어려운 문제를 해결할 수 있는 능력을 키웁니다.
STaR 방식은 이렇게 모델이 스스로 학습 과정을 내재화하고 자기 주도적으로 근거와 추론 능력을 개발하는 데 중점을 둡니다. 이 방식은 특히 소수의 예시만을 사용하여도 효과적으로 학습할 수 있는 큰 장점을 가지고 있으며, 모델이 스스로 학습 데이터를 구성하고 활용하는 방식입니다.
STaR (Self-Taught Reasoner)과 Quiet-STaR은 모두 언어 모델의 추론 능력을 향상시키기 위해 설계된 방법론이지만, 주요한 차이점이 있습니다. 이 차이점은 주로 그들의 학습 접근 방식과 목표의 범위에서 나타납니다.
STaR (Self-Taught Reasoner)
- 목표: STaR은 언어 모델이 질문-응답(QA) 데이터셋과 같이 정해진 작업에 대해 근거를 추론하고 이를 학습하여 문제 해결 능력을 향상시키는 것을 목표로 합니다.
- 학습 방식: STaR은 소수의 예시에서 근거를 추론하고, 이 근거들이 정답으로 이어질 경우 해당 근거들을 학습하여 모델의 추론 능력을 개발합니다. 이 과정은 주로 QA와 같은 특정한 문제 해결 작업에 초점을 맞춥니다.
Quiet-STaR
- 목표: Quiet-STaR은 STaR의 일반화 버전으로, 언어 모델이 일상적인 언어 사용에서 보다 광범위하고 일반적인 텍스트 이해와 예측을 개선할 수 있도록 설계되었습니다.
- 학습 방식: Quiet-STaR에서는 모델이 모든 토큰에 대해 근거를 생성하고, 이 근거가 미래의 텍스트 예측에 도움이 되는지를 평가하면서 학습합니다. 이 방법은 언어 모델이 임의의 텍스트에서 근거를 추론하고 그것을 학습하는 것을 목표로 하며, 이는 일반적인 언어 모델링 작업에 적용될 수 있습니다.
주요 차이점
- 적용 범위: STaR은 주로 특정한 문제 집합(예: QA)에 초점을 맞춘 반면, Quiet-STaR은 일반적인 언어 사용에서의 근거 생성과 예측 개선을 목표로 하여 훨씬 더 광범위한 적용 범위를 가집니다.
- 학습 접근: Quiet-STaR은 토큰 단위에서 근거를 생성하는 과정을 포함하며, 이는 언어 모델이 각 토큰에 대한 미래의 예측을 개선할 수 있도록 합니다. 반면, STaR은 주어진 문제에 대한 근거를 추론하고 반복적으로 학습하는 과정에 초점을 맞춥니다.
이 두 방법은 서로 보완적일 수 있으며, 각각의 목표와 접근 방식에 따라 선택하여 사용할 수 있습니다.
문서에 표현이 나타나는 이유를 이해하지 못하면 독자는 피상적인 이해만 할 수 있습니다. 또한, 이것은 상식 추론에서 정리 증명에 이르기까지 다양한 작업 맥락에서 언어 모델(LM)에 대해서도 반복적으로 증명되었습니다. 텍스트의 함축을 추론하여 나중의 텍스트를 예측하는 것은 다양한 작업에서 LM의 성능을 개선하는 것으로 일관되게 보여져 왔습니다.
그러나 기존의 방법들은 언어 모델이 추론을 통해 학습할 수 있게 하는 데 초점을 맞추고 개별 작업이나 사전에 정의된 작업 세트를 해결하는 데 집중했습니다. 이러한 작업들은 주의 깊게 큐레이션된 데이터셋을 필요로 하며 때로는 추론 자체를 제공합니다. 그러나 만약 모든 텍스트에 추론이 내재되어 있다면, 왜 언어 모델링 작업을 이용하여 추론을 가르치지 않을까요?
Chain of Thought (CoT) 같은 방법론에서는 언어 모델에게 명시적인 논리적 사고 과정을 통해 문제를 해결하도록 학습시키는 방식을 사용합니다. 이는 모델이 추론 과정을 단계별로 표현하도록 함으로써, 더 복잡한 문제를 해결할 수 있도록 돕습니다. 예를 들어, 모델이 어떤 질문에 대답하기 전에, 그 질문과 관련된 여러 논리적 단계를 거쳐 답을 도출합니다.
그러나 Quiet-STaR과 같은 논문에서 제시된 접근 방식은 조금 다릅니다. 이 방식에서는, 언어 모델링 자체가 이미 다양한 추론 작업을 내재하고 있음을 인식하고, 이를 활용하여 언어 모델이 모든 텍스트를 처리하는 과정에서 자연스럽게 추론을 학습하도록 합니다. 즉, 모든 텍스트에 추론이 내재되어 있다면, 특별히 큐레이션된 데이터셋이나 복잡한 논리적 단계를 따로 학습할 필요 없이, 일반적인 언어 모델링 작업을 통해 추론을 자연스럽게 학습할 수 있습니다. 이는 언어 모델이 보다 광범위하고 다양한 형태의 텍스트에서 더욱 효과적으로 기능할 수 있도록 하는 것을 목표로 합니다.
이러한 접근 방식은 특정한 추론 작업에 대한 명시적인 학습이 아닌, 언어 모델이 일상적인 언어 처리를 통해 스스로 추론 능력을 개발하도록 하는 데 초점을 맞춥니다. 따라서, 복잡하고 구조화된 추론 과정을 별도로 학습시키는 것이 아니라, 일반적인 언어 이해 과정에서 자연스럽게 추론을 학습하게 됩니다. 이는 모델을 더 범용적으로 사용할 수 있게 하며, 다양한 형태의 텍스트에 대한 이해력을 향상시킬 수 있는 잠재력을 가집니다.특히, Self-Taught Reasoner (STaR, Zelikman et al. 2022)는 언어 모델이 질문-응답(QA) 데이터셋에서 추론 능력을 자체 부트스트랩할 수 있음을 보여주었습니다. QA 데이터셋에서 추론을 샘플링하여 질문에 답을 시도하고, 최종적으로 정답으로 이어지면 그 추론에서 훈련을 반복하며 점점 더 어려운 문제를 해결할 수 있습니다. 그러나 큐레이션된 QA 데이터셋에서의 훈련은 추론의 범위와 일반화 가능성을 제한합니다. 특히 고품질의 QA 데이터셋은 신중한 큐레이션이 필요하며, 본질적으로 추론 작업의 일부만을 다룰 수 있습니다.
1. 추론 능력을 자체 부트스트랩(Bootstrapping)한다는 것은 무엇인가?
"부트스트랩"이라는 용어는 여기서 언어 모델이 스스로 추론 능력을 개발하고 강화하는 과정을 의미합니다. 즉, Self-Taught Reasoner (STaR)에서는 언어 모델이 주어진 질문에 대해 스스로 추론을 시도하고, 이를 바탕으로 답을 도출해냅니다. 이 과정에서 모델이 생성한 추론이 정답으로 이어질 경우, 그 추론 방식을 다시 학습하면서 점차 더 복잡하고 어려운 문제를 해결할 수 있는 능력을 '자체적으로' 키웁니다. 이런 방식으로 모델은 초기의 간단한 지식에서 시작하여 점점 더 심화된 지식과 논리적 사고 능력을 스스로 개발하게 됩니다.
2. 큐레이션된 QA 데이터셋이 CoT 형식을 말하는 것인가?
큐레이션된 QA 데이터셋은 Chain of Thought (CoT) 형식과는 직접적인 연관이 없습니다. 큐레이션된 QA 데이터셋은 전문가들이 사전에 선별하고 구조화한 질문과 답변으로 구성된 데이터셋을 의미합니다. 이러한 데이터셋은 종종 CoT 또는 다른 언어 모델 학습 방식에서 사용되기도 합니다. 그러나 CoT 방식은 주로 문제 해결 과정에서 모델이 자신의 '사고 과정'을 표현하도록 하는 것에 중점을 둡니다. 이는 큐레이션된 데이터셋과 별개로, 모델이 복잡한 문제를 해결하는 데 필요한 중간 단계를 명시적으로 생성하도록 하는 학습 방식입니다.
3. STaR은 내부적으로 작동하는데, CoT 형식은 외부 데이터를 학습하는 것인가?
STaR 방식은 모델이 내부적으로 자체적으로 근거를 생성하고, 이를 바탕으로 학습하며 추론 능력을 강화하는 방식입니다. 반면, Chain of Thought (CoT) 방식에서는 모델이 주어진 문제에 대한 논리적 사고 과정을 스스로 구성하고, 이 과정을 통해 답을 도출합니다. CoT 방식에서도 모델은 외부 데이터셋(예: 학습 데이터)을 사용하여 사고 과정을 학습할 수 있지만, 이는 주로 학습 초기 단계에서 사고 과정을 모델링하는 데 도움을 주기 위한 것입니다. 최종적으로는 모델이 스스로 논리적 사고를 생성하고 이를 통해 문제를 해결하도록 훈련됩니다.
결론적으로, STaR은 언어 모델이 자체적으로 논리를 발전시키며 학습하는 반면, CoT은 주어진 문제에 대한 명시적인 사고 과정을 생성하고 이를 통해 추론 능력을 학습하는 데 초점을 맞춥니다. 큐레이션된 데이터셋은 이러한 학습 과정에 유용한 자료를 제공하지만, CoT와는 직접적인 연결성은 없습니다.큐레이션된 QA 데이터셋은 전문가나 데이터 과학자들이 사전에 선별하고 정리한 질문과 답변들을 포함하는 데이터셋입니다. 이러한 데이터셋은 주로 정확성, 관련성, 그리고 다양성을 고려하여 구성됩니다. 큐레이션된 QA 데이터셋은 인공지능 모델, 특히 언어 모델이 특정 도메인의 지식을 이해하고 적절한 답변을 할 수 있도록 훈련하는 데 사용됩니다.
예시: SQuAD (Stanford Question Answering Dataset)
SQuAD는 스탠포드 대학에서 만든 대표적인 큐레이션된 QA 데이터셋입니다. 이 데이터셋은 위키피디아 기사에서 추출된 문단을 바탕으로 만들어진 질문과 답변들을 포함하고 있습니다. 예를 들어, 다음과 같은 형식의 데이터가 포함됩니다:
문단 (Context): "New York City (NYC), often simply called New York, is the most populous city in the United States. Located at the southern tip of the state of New York, the city is the center of the New York metropolitan area, the largest metropolitan area in the world by urban landmass.
"질문 (Question): "What is the population rank of New York City in the United States?"
답변 (Answer): "the most populous city in the United States"
이 데이터셋은 모델이 특정 문단 내에서 정보를 추출하여 질문에 답변할 수 있는 능력을 학습하는 데 도움을 줍니다. 모델은 문단의 맥락을 이해하고, 관련 질문에 정확하게 답할 수 있는 정보를 찾아내야 합니다.따라서 우리는 STaR을 확장하여 언어 모델이 수학 QA와 같은 특정 작업이 아니라 대규모 인터넷 텍스트 말뭉치에서 미래의 텍스트를 추론하는 데 도움이 되는 추론을 생성하도록 훈련합니다. 결과적으로, 우리는 언어 모델이 언어의 다양한 작업에서 학습할 수 있도록 합니다. 이는 현재 언어 모델링 패러다임에 필수적인 직관을 기반으로 합니다.
즉, "언어 모델은 감독되지 않는 다작업 학습자입니다" (Radford et al., 2019).
따라서 STaR에서처럼 우리는 언어 모델의 기존 추론 능력을 활용하여 추론을 생성하고 REINFORCE 기반 보상으로 언어 모델에서 훈련합니다.
이 기술을 Quiet-STaR이라고 합니다. 이는 STaR을 '조용히' 적용하여 모델이 말하기 전에 생각하도록 훈련하는 것으로 이해할 수 있습니다.
대체로, Quiet-STaR은 미래의 텍스트를 설명하기 위해 모든 토큰 뒤에 추론을 생성하는 과정(생각), 추론을 포함하거나 포함하지 않은 미래 텍스트 예측을 혼합하는 과정(말하기), 그리고 REINFORCE를 사용하여 더 나은 추론을 생성하는 방법을 학습하는 과정(학습)을 거칩니다.
Quiet-STaR은 언어 모델의 추론 능력을 향상시키기 위해 특별히 설계된 접근 방식입니다. 이 방법론은 크게 세 단계로 나뉘며, 각 단계는 모델이 더 정확하고 의미 있는 예측을 할 수 있도록 돕습니다. 다음은 Quiet-STaR의 각 단계를 자세히 설명한 내용입니다:
1. 생각 (Think)
이 단계에서 모델은 각 토큰 뒤에 이어질 텍스트를 예측하기 전에 먼저 추론(rationale)을 생성합니다. 이 추론은 주어진 텍스트의 맥락에서 무엇이 다음에 올지를 논리적으로 설명하는 내용을 포함합니다. 예를 들어, 문장에서 특정 사건에 대해 설명하고 있을 때, 그 사건의 원인이나 결과를 설명하는 추론을 생성할 수 있습니다. 이 과정은 모델이 단순히 다음 토큰을 예측하는 것을 넘어서, 왜 그 토큰이 맥락상 적합한지를 이해하게 만듭니다.
2. 말하기 (Talk)
생각 단계에서 생성된 추론을 바탕으로, 모델은 이제 두 가지 예측을 혼합합니다: 추론을 포함한 예측과 추론을 포함하지 않은 예측. 이렇게 하여 모델은 추론이 실제 텍스트 예측에 어떻게 영향을 미치는지 평가할 수 있습니다. 혼합 과정에서는 각 예측의 가중치를 조절하여 최종적으로 어떤 예측이 더 유용한지 결정합니다. 이 단계는 모델이 더 정확하게 다음 토큰을 예측하도록 도와주며, 추론이 그 예측에 얼마나 기여하는지를 평가합니다.
추론을 포함한 예측: 모델은 "생각" (Think) 단계에서 생성한 추론을 사용하여 예측을 수행합니다. 이 예측은 모델이 내린 근거나 논리를 반영하며, 텍스트의 다음 부분을 보다 정확하고 합리적으로 예측하려고 시도합니다.
추론을 포함하지 않은 예측: 동시에, 모델은 전통적인 방식으로 다음 토큰을 예측합니다. 이 경우, 모델은 특별한 근거나 논리 없이 텍스트의 패턴이나 통계적 확률에 기반하여 예측을 수행합니다.
예측의 혼합 및 평가: 모델은 이 두 가지 예측을 서로 혼합하고, 각 예측의 효율성을 평가하여 최종적으로 어떤 예측이 더 유용하고 정확한지를 결정합니다. 이때, 각 예측의 가중치를 조절하며, 더 나은 결과를 가져다주는 예측에 더 많은 가중치를 둘 수 있습니다.
3. 학습 (Learn)
마지막으로, REINFORCE 학습 알고리즘을 사용하여 모델이 더 나은 추론을 생성하도록 합니다. 이 과정에서 모델은 생성된 추론이 실제 텍스트 예측을 개선하는지 여부에 따라 보상을 받습니다. 보상이 높은 추론은 모델 학습에 더 크게 기여하며, 이는 모델이 미래의 비슷한 상황에서 더 효과적인 추론을 생성할 수 있도록 합니다. 이 단계는 모델이 스스로를 지속적으로 개선하고, 더 정교한 추론을 내릴 수 있는 능력을 키우는 데 중요합니다.
Quiet-STaR 방식은 이 세 단계를 통해 언어 모델이 단순한 텍스트 예측을 넘어서 심층적인 추론과 논리적 사고를 할 수 있게 만들어, 보다 정확하고 신뢰할 수 있는 언어 이해 능력을 발전시키는 것을 목표로 합니다.우리는 OpenWebMath (Paster et al., 2023)와 거대 깨끗한 크롤링 말뭉치(C4, Raffel et al. 2020)를 사용하는 웹 텍스트 데이터셋을 이용하여 Mistral 7B (Jiang et al., 2023)에 Quiet-STaR를 적용했습니다. 우리는 데이터셋 특정 미세조정 없이도 Quiet-STaR가 CommonsenseQA (36.3% → 47.2%)와 GSM8K (5.9% → 10.9%)에서 제로샷 직접 추론 능력을 개선하는 결과를 얻었습니다.
그리고 이러한 개선은 언어 모델의 내부적인 생각의 토큰 수가 증가함에 따라 일관되게 증가했습니다. 마지막으로, 우리는 생성된 추론의 패턴을 질적으로 조사했습니다.
이 과제를 해결함에 있어 우리는 다음과 같은 기여를 합니다:
- 우리는 STaR을 일반화하여 다양한 비구조화된 텍스트 데이터에서 추론을 학습하도록 합니다. 언어 모델이 일반적으로 텍스트에서 추론을 배우도록 명시적으로 훈련하는 첫 번째 작업입니다.
- 우리는 훈련 절차를 확장 가능하게 만드는 병렬 샘플링 알고리즘을 제안하고 구현합니다.
- 우리는 언어 모델이 추론을 생성해야 하고, 그 추론에 기반한 예측을 언제 해야 하는지를 배울 수 있도록 각 생각의 시작과 끝에 사용자 정의 메타 토큰을 도입합니다.
- 우리는 혼합 헤드를 적용하여 주어진 생각에서 다음 토큰 예측을 현재 다음 토큰 예측에 얼마나 통합할지를 회고적으로 결정합니다.
- 우리는 언어 모델링을 위해 여러 토큰을 앞당겨 포함하는 비근시적 손실이 생각의 효과를 개선한다는 것을 보여줍니다.
- 우리는 여러 작업에서 생각이 언어 모델이 같은 웹 텍스트에서 훈련된 모델보다 어려운 토큰을 더 잘 예측하게 하며, 생각이 길어질수록 개선된다는 것을 보여줍니다.
그림 1: Quiet-STaR. 우리는 훈련 중 단일 생각에 적용되는 알고리즘을 시각화합니다. 우리는 텍스트의 모든 토큰을 따라 병렬로 생각을 생성합니다(생각). 모델은 추론이 있는 것과 없는 것을 혼합한 다음 토큰 예측을 생성합니다(말하기). 우리는 REINFORCE를 적용합니다. STaR에서처럼, 모델이 미래의 텍스트를 예측하는데 도움이 되는 생각의 가능성을 높이고 미래의 텍스트가 덜 가능하게 하는 생각을 버립니다(학습).
이 이미지는 Quiet-STaR 알고리즘이 어떻게 작동하는지를 설명하고 있으며, 세 가지 주요 단계를 강조하고 있습니다:
- 생각(Think): 언어 모델(LM)이 '시작(START)' 토큰으로 시작하여 샘플링된 '생각'을 생성하는 과정을 나타냅니다.
- 말하기(Talk): 생성된 생각을 바탕으로 다음 토큰을 예측하며, 이 예측이 모델의 미래 텍스트 예측을 돕는 경우(도움이 되는 예측) 보상을 받고, 해가 되는 경우(해가 되는 예측) 버려지는 과정을 나타냅니다.
- 학습(Learn): 도움이 되는 생각을 통해 받은 보상을 바탕으로 학습하고, 해가 되는 생각은 버려지며, 이 과정을 통해 모델이 더 나은 예측을 하도록 학습합니다.
이 시각 자료는 Quiet-STaR의 전체적인 훈련 과정을 단계별로 나타내며, 각 단계에서의 언어 모델의 작동 방식과 학습 과정을 설명하고 있습니다.
언어 모델에서의 추론
언어 모델을 훈련시켜 어려운 문제를 해결하도록 하기 위한 많은 연구가 있었는데, 이는 우선 언어 모델에 추론을 시키는 훈련을 거칩니다. 예를 들어, Rajani et al. (2019)은 다지선다식 상식 추론 문제에 답하기 전에 인간의 추론 과정을 내보내도록 미세 조정된 사전 훈련 언어 모델이 직접 답변 훈련을 받은 모델보다 우수하다는 것을 보였습니다. Shwartz et al. (2020)은 일부 지원이 제공될 때 언어 모델이 추가적인 감독 없이도 도움이 되는 연쇄 추론 솔루션을 생성할 수 있다고 보여주었습니다. 이후 Nye et al. (2021)은 더 능력이 있는 언어 모델에서 "스크래치패드"가 덜 지원이 필요하다는 것을 보여주었으며, 이는 나중에 Wei et al. (2022b)에 의해 강조되었고, Kojima et al. (2022)에 의해 이러한 행동이 제로샷으로 달성될 수 있음이 강화되었습니다. 최근에는 Wang & Zhou (2024)가 언어 모델이 자신이 확신할 때만 유효한 답변 토큰을 내보내지 않도록 함으로써 연쇄 추론을 사용하도록 강제할 수 있다는 것을 추가로 보여주었습니다. 그러나 이 접근법들은 모두 문답 데이터셋에만 작동하며, Wang & Zhou (2024)는 모델이 답변 토큰을 출력했는지 식별하기 위해 추론을 사용합니다. TRICE (Phan et al., 2023)와 마찬가지로, 우리는 품질 추정을 위해 추론에 걸쳐 목표 텍스트의 로그 가능성에서의 상대적 개선을 사용하지만, 평균 보상을 단순히 빼고 더 복잡한 제어 변이수를 포함하지 않습니다.
추론을 가르치기 위한 언어 모델 훈련
언어 모델에 추론을 가르치거나 추론 능력을 향상시키기 위해 연구자들이 사용한 한 가지 방법은 언어 모델을 추론 흔적이나 추론과 같은 데이터로 훈련시키는 것입니다 (Rajani et al., 2019; Wei et al., 2021a; Lewkowycz et al., 2022; Chung et al., 2022; Gunasekar et al., 2023). 이 접근법은 효과적임이 입증되었지만, 단점이 있습니다. 이는 수동 주석이 필요하며, 언어 모델에게는 정책 외적인 것입니다 (즉, 언어 모델이 그렇지 않았다면 생성할 가능성이 있는 텍스트의 추론 분포가 아닙니다). 이 접근법은 또한 비용이 많이 들고, 확장하기 어렵고, 주석자가 해결할 수 있는 것보다 더 어려운 문제를 해결하는 명확한 방법을 제공하지 않습니다.
추론을 가르치는 또 다른 방향은 언어 모델이 스스로 생성한 추론에 의존하는 것으로, 이는 self-play) 대한 방대한 문헌에 기초하고 있습니다 (Silver et al., 2017; Anthony et al., 2017; Polu & Sutskever, 2020). 이에는 Self-Taught Reasoner (Zelikman et al., 2022)와 같은 방법이 포함되며, 이는 언어 모델이 정답으로 이어진 자신의 추론에 대해 반복적으로 훈련함으로써 점점 더 어려운 문제를 해결할 수 있음을 보여주었습니다. 이후의 연구는 추가 정보나 가정을 활용하려는 시도로, 예를 들어 Huang et al. (2022)은 다수결 응답이 정확하다고 가정하면 STaR에서 제안된 알고리즘이 여전히 작동할 수 있음을 보여주었습니다 (비록 이는 최종 성능이 낮습니다).
추가적으로, Zelikman et al. (2022)의 결과를 일반화한 연구로, Uesato et al. (2022)은 잘못된 추론 흔적을 필터링하는 "과정 기반" 감독의 추가적인 유용성을 보여주었으며, 최근 VSTaR (Hosseini et al., 2024)은 생성을 안내하기 위해 검증자를 훈련하는 것도 성능을 향상시킨다는 것을 보여주었고, TRICE (Hoffman et al., 2024)는 문제당 여러 추론 흔적을 감안할 때 정답의 한계 가능성을 극대화합니다. 마지막으로, 관련 연구는 수학적 명제를 만드는 제약된 설정에서 중간 추론을 학습하는 것을 탐구했으며, 모델의 중간 추론에서의 명제가 유효한 수학적 명제만을 포함하도록 제한할 수 있었습니다 (Poesia et al., 2023). 우리는 부록 F에서 관련된 추론 작업에 대한 더 깊은 토론을 포함하고 있습니다.
메타 토큰
최근, 신경망의 맥락에서 특정 기능을 수행하기 위해 최적화된 사용자 정의 토큰의 유용성을 보여주는 연구들이 늘어나고 있습니다. 이 때문에 이들을 “기능 벡터”라고도 합니다 (Todd et al., 2023). 이 개념의 초기 사례 중 하나는 프롬프트 튜닝(prompt-tuning) (Lester et al., 2021)과 관련된 프리픽스 튜닝(prefix-tuning) (Li & Liang, 2021)이었습니다. 여기서는 프롬프트의 토큰에 해당하는 임베딩을 최적화하여 특정 작업을 더 잘 수행하도록 할 수 있습니다. 다른 연구에서는 효율성을 위해 긴 프롬프트를 압축하기 위해 메타 토큰을 적용했습니다 (Li et al., 2023; Jung & Kim, 2023). 이 작업에 가장 관련이 깊은 연구로는, Mu et al. (2024)이 후속 토큰들이 이전 토큰들에 주의를 기울이지 못하도록 하는 토큰 (즉, 문맥 압축 토큰)을 최적화하여 미래 토큰에 충분한 정보를 제공하는 방법을 찾았습니다. 우리는 압축에 초점을 맞추지는 않지만, 주의를 끌고 복잡한 하류 동작을 제어하는 토큰 학습이라는 문제를 공유하고 있습니다. 관련 연구 중 하나인 Goyal et al. (2023)은 하나의 “일시 정지” 토큰을 학습하는 것이 (기본적으로 각 토큰을 두 토큰으로 나타내는 것) 언어 모델의 성능을 향상시킨다는 것을 보여주었습니다. 그러나 우리 작업에서의 생각 토큰과는 달리, 이 일시 정지 토큰은 생각을 시작하지 않습니다. 대신, 그것은 생각 전체로 작용하는 것으로 볼 수 있습니다. 우리는 언어에서의 추론이 훨씬 더 도움이 된다는 것을 발견했습니다.
시퀀스의 관찰된 토큰 쌍 사이에 보조 ‘근거(rationale)’ 변수를 도입합니다. 그다음 우리는 중간 생각(또는 근거)을 생성할 수 있는 능력을 가진 매개변수 \(\theta\)로 언어 모델을 최적화하고자 합니다.
즉,
$\theta^* = \underset{\theta}{\mathrm{argmax}} \, \mathbb{E}_x [\log p_\theta (x_{i:n} | x_{0:i}, \text{rationale}_\theta (x_{0:i}))]$
원칙적으로 이는 이미 문자열의 언어 분포를 올바르게 모델링하는 최적의 언어 모델에 비해 아무런 이점을 제공하지 않습니다. 그러나 실제로 이전의 많은 연구는 언어 모델이 추론 작업에서 중간 근거를 통해 이득을 본다는 것을 보여주었습니다 (Nye et al., 2021; Zelikman et al., 2022; Wei et al., 2022b). 일부 연구는 연쇄 사고 추론의 효과를 설명하려고 시도했으며, 즉 이를 "경험의 지역성(locality of experience)"에 기인시키려고 했습니다 (Prystawski et al., 2024). 보다 넓은 의미에서, 추론은 모델이 어려운 계산을 더 작은 단계로 분해할 수 있게 합니다. 실제로, 우리는 모델이 미래 텍스트를 예측하는 데 효과적인 분해와 계획 단계를 어떻게 배우는지를 훈련합니다. 또한 우리는 목표를 단순히 다음 토큰만 정확히 예측하는 것이 아니라 남은 시퀀스를 정확히 예측하는 것으로 설정합니다. 최적의 언어 모델의 경우 이 두 가지는 동일할 것입니다. 그러나 우리는 비근시적(non-myopic) 수식이 근거 학습을 위한 더 효과적인 손실로 이어진다는 것을 발견했습니다.
Quiet-STaR는 세 가지 주요 단계로 작동합니다(그림 1 참조):
1. 병렬 근거 생성 (생각, 4.2절): 입력 시퀀스 \( x_{0:n} \) 내의 \( n \)개의 토큰 \( x_i \)에 걸쳐 병렬적으로 길이 \( t \)의 \( r \)개의 근거 \( c_i = (c_{i1}, ..., c_{it}) \)를 생성하여, 총 \( n \times r \)개의 근거 후보를 생성합니다. 각 근거의 시작과 끝을 표시하기 위해 학습된 < | startofthought | > 및 < | endofthought | > 토큰을 삽입합니다.
2. 근거 후 혼합 및 기본 예측 (말하기, 4.3절): 각 근거 이후의 숨겨진 상태 출력에서, 우리는 "혼합 헤드"라는 얕은 MLP를 훈련시켜, 근거 후 다음 토큰이 예측한 로짓이 기본 언어 모델이 예측한 로짓에 비해 얼마나 통합될지 결정하는 가중치를 생성합니다. 이 접근법은 근거를 도입함으로써 초기 미세조정에서의 분포 이동을 완화합니다.
3. 근거 생성 최적화 (학습, 4.4절): 우리는 근거 생성 매개변수(시작/종료 토큰 및 LM 가중치)를 최적화하여 미래 텍스트가 더 가능성 있게 만드는 근거의 가능성을 높입니다. 우리는 미래 토큰 예측에 대한 영향에 기반한 근거에 학습 신호를 제공하기 위해 REINFORCE를 사용합니다. 변동성을 줄이기 위해, 생각 이후의 토큰뿐만 아니라 뒤따르는 토큰들을 예측할 가능성도 손실에 포함시키기 위해 교사 강제 기법을 적용합니다.교사 강제(teacher forcing) 기법은 순차적 데이터를 다루는 모델, 특히 시퀀스 생성 작업에서 자주 사용되는 훈련 전략입니다. 이 방법은 주로 RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory) 또는 Transformer와 같은 모델을 훈련할 때 사용됩니다.
교사 강제(teacher forcing) 기법은 순차적 데이터를 다루는 모델, 특히 시퀀스 생성 작업에서 자주 사용되는 훈련 전략입니다.
이 방법은 주로 RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory) 또는 Transformer와 같은 모델을 훈련할 때 사용됩니다.
교사 강제(Teacher Forcing) 기법의 원리:
정의: 모델이 시퀀스의 다음 토큰을 예측할 때, 모델이 생성한 이전 출력(예측) 대신 실제 정답 데이터(ground truth)를 다음 입력으로 사용하는 기법입니다.
목적: 모델이 시퀀스를 생성할 때 올바른 경로를 따라 학습하도록 유도합니다. 이 방법은 모델이 잘못된 예측에서 벗어나 빠르게 학습하고 정확도를 높이는 데 도움을 줍니다.
활용: 훈련 과정에서 모델의 각 단계에서 모델이 실제 데이터(예: 다음에 올 단어나 토큰)를 보고 다음 단계의 예측을 하는 데 이를 사용합니다. 이는 특히 언어 모델에서 문장을 생성하는 작업에 유용합니다.
교사 강제 기법의 장단점:
장점:훈련 속도가 빨라집니다. 모델이 올바른 출력을 볼 수 있으므로 더 빠르게 학습합니다.초기 학습 단계에서의 성능이 향상됩니다. 정확한 데이터가 입력되므로 모델이 올바른 데이터 분포를 더 빨리 학습할 수 있습니다.
단점:모델이 훈련 데이터에 과적합될 수 있습니다. 모델이 항상 정답을 기대하게 되면 실제 예측 시 발생할 수 있는 오류에 대처하는 능력이 약해질 수 있습니다."노출 편향"(exposure bias) 문제가 발생할 수 있습니다. 실제 사용 시 모델이 자신의 예측을 기반으로 다음 단계를 예측해야 하지만, 훈련에서는 항상 정답을 보기 때문에 이러한 상황에 대한 경험이 부족할 수 있습니다.
Quiet-STaR에서 교사 강제 기법을 사용하는 것은 추론 과정에서 생성된 근거들이 실제 텍스트를 예측하는 데 얼마나 기여하는지를 평가하고, 이를 통해 모델이 더 정확하게 미래의 텍스트를 예측할 수 있도록 학습하는 데 중점을 둔 것입니다. 이를 통해 추론 과정이 실질적으로 모델의 성능을 개선하는 데 얼마나 도움이 되는지를 측정할 수 있습니다.Parallel Generation
Quiet-STaR에서 주요한 도전은 입력 시퀀스의 각 토큰 위치에서 효율적으로 근거를 생성하는 것입니다.우리는 먼저 언어 모델의 추론 패스가 모든 입력 토큰에 대한 다음 토큰의 확률 분포를 생성한다는 점을 관찰함으로써 병렬 생성을 가능하게 합니다. 자연스럽게 이를 통해 우리는 입력의 각 토큰에서 하나의 다음 토큰을 샘플링할 수 있습니다. 만약 각 토큰에서 후속 토큰을 생성했다면, 단순히 원래 시퀀스를 계속할 수는 없습니다. 예를 들어, "< bos > the cat sat"의 각 토큰 뒤에 다음 토큰을 예측할 때 "yes orange saw down"과 같이 생성될 수 있습니다 — 각각의 후속 토큰 자체는 시퀀스의 접두사에 대한 합리적인 다음 토큰이지만, 이 토큰 목록은 이러한 접두사들의 "반사실적" 연속체의 집합입니다. 하지만, 우리는 이러한 연속체를 활용하여 각 관찰된 토큰에 대한 숨겨진 생각을 생성할 수 있습니다.
이를 효율적으로 수행하기 위해, 우리는 각 순방향 패스를 캐시하고 대각선 attention 마스크를 attention 주의 마스크와 연결합니다: 이제 생성된 각 토큰은 그것을 생성하는 데 사용된 모든 토큰뿐만 아니라 자기 자신에게도 attention를 기울이게 됩니다(하지만 다른 "반사실적" 경로의 토큰에는 주의를 기울이지 않음). 더욱이, 이 병렬화된 다음 토큰 샘플링 절차는 원하는 만큼 많이(또는 적어도 메모리가 부족해질 때까지) 반복될 수 있습니다. 우리는 이 절차를 그림 3에서 시각화하고 부록 B에서 이 알고리즘을 더 빠르게 만드는 추가적인 방법을 강조합니다.병렬 생성(Parallel Generation):
기본 텍스트(Base Text):'a', 'b', 'c', 'd'라는 네 개의 토큰으로 구성된 기본 텍스트가 있습니다.
추론 토큰(Thought Token):각 기본 텍스트 토큰에 대해 모델이 'a’', 'b’', 'c’', 'd’'라는 추론 토큰을 생성합니다. 이 토큰들은 기본 텍스트를 바탕으로 한 모델의 추론 과정에서 예측되는 다음 토큰입니다.
Thought Token 1과 Thought Token 2는 이 추론 과정에서 차례로 생성된 토큰을 나타냅니다. 이 예시에서는 각 기본 텍스트 토큰에 대해 두 개의 추론 토큰이 생성된 것을 보여줍니다.
생성 경로(Generation Paths):추론 토큰은 기본 텍스트의 토큰과 이전 추론 토큰들로부터 정보를 얻으며 생성됩니다.예를 들어, 'b’' 추론 토큰은 'a' 기본 텍스트 토큰과 'a’' 추론 토큰에 대한 정보를 바탕으로 생성됩니다.
병렬 추론 마스크(Parallel Inference Mask):Attention 마스크는 추론 토큰이 자기 자신, 같은 생각(Thought) 내의 이전 추론 토큰들, 그리고 기본 텍스트에 주의를 기울일 수 있도록 합니다.마스크는 추론 토큰이 다른 "반사실적" 경로의 토큰들, 즉 다른 추론 경로에서 생성된 토큰들에 주의를 기울이지 않도록 설정됩니다.
특징 및 중요성:
이러한 병렬 생성 방식은 효율적으로 여러 가능한 추론을 동시에 탐색하고, 각 입력 토큰에 대해 다음 토큰을 예측하는 데 사용됩니다.이 방법은 모델이 각 입력 토큰에 대해 독립적으로 추론을 수행할 수 있도록 함으로써, 복잡한 추론 과정을 더 빠르게 처리할 수 있게 합니다.마스크를 통해 모델은 더 적절한 추론 경로에 집중할 수 있으며, 이는 최종 예측의 정확도를 높이는 데 기여합니다.
이러한 시스템을 통해 모델은 기본 텍스트의 각 토큰에 대한 다음 토큰을 더 효율적으로 예측하고, 이를 통해 생성되는 텍스트의 의미를 더 잘 이해할 수 있게 됩니다. 이는 언어 모델의 복잡한 문맥 이해와 자연어 처리 능력을 크게 향상시킬 수 있는 중요한 기법입니다.단어에 대해 개별적으로 추론을 생성하는 경우, 각 단어의 추론이 서로 연결되지 않고 독립적으로 이루어지면 결과적으로 전체 문장이나 문단의 맥락에서 벗어난 비논리적이거나 불일치하는 텍스트 시퀀스가 생성될 수 있습니다. 이것은 "반사실적" 시퀀스라고 불리며, 문맥상 일관성이 없는 추론을 포함할 수 있습니다.
이러한 문제를 해결하기 위해 병렬 추론 마스크(Parallel Inference Mask) 같은 메커니즘이 사용됩니다. 이 마스크는 모델이 각 추론 토큰을 생성할 때, 해당 토큰이 이전의 토큰들과 어떻게 관계되는지를 고려하도록 합니다. 특히, 각 토큰은 자신에게와 직전의 토큰들에게만 주의(attention)를 기울이도록 설정되어 있으며, 다른 추론 경로의 토큰들에는 주의를 기울이지 않습니다.
이렇게 하면, 각 단어 또는 토큰은 자신이 속한 추론 경로 내에서만 합리적인 연결을 가지게 됩니다. 하지만, 전체 시퀀스로 확장했을 때도 문맥상 일관성을 유지하기 위해서는 추가적인 메커니즘이 필요합니다. 이를 위해 모델은 보통 훈련 과정에서 전체 문장이나 문단의 맥락을 고려하도록 최적화됩니다.
예를 들어, 훈련 데이터에 있는 실제 문장들을 사용하여 모델이 문맥상 합리적인 추론을 생성하도록 하고, 이를 강화 학습을 통해 더욱 발전시킬 수 있습니다. 그 결과, 모델은 각 토큰에 대한 개별적인 추론뿐만 아니라, 전체 텍스트의 맥락에 부합하는 추론을 생성할 수 있게 됩니다.“Mixing” (Residual) Heads
미리 훈련된 모델로 시작할 때, 생각은 처음에 분포에서 벗어나 있으므로 언어 모델링 성능을 해칠 수 있습니다. 생각하기로의 전환을 부드럽게 하기 위해, 우리는 생각을 포함한 언어 모델 예측과 생각 없이 한 예측 사이의 학습된 interpolation을 도입합니다. 생각 끝 토큰의 숨겨진 상태와 원래 텍스트 토큰의 숨겨진 상태가 주어지면, 혼합 헤드는 생각 이후 예측 로짓이 어느 정도 사용될지 결정하는 가중치를 출력합니다. 이 헤드에는 각 토큰에 대해 스칼라를 출력하는 얕은 다층 퍼셉트론을 사용합니다. 우리는 구현 세부사항을 부록 A에 포함합니다.
언어 모델의 추론 기능을 부드럽게 통합하는 메커니즘입니다. 여기서는 모델이 "생각"을 통한 예측과 기존의 방식으로 생성된 예측 사이에서 균형을 찾는 방법에 대해 설명하고 있습니다.
분포에서의 초기 벗어남: 모델이 "생각"을 시작할 때, 그 추론은 처음에는 미리 훈련된 모델이 생성하는 토큰의 확률 분포에서 벗어날 수 있습니다. 이는 모델이 기대하는 분포와 다른 추론을 생성할 수 있다는 것을 의미하며, 이는 언어 모델링 성능에 부정적인 영향을 미칠 수 있습니다.
생각과 생각 없이 한 예측의 보간(Interpolation):모델은 "생각"을 포함한 예측(추론 과정을 거친 예측)과 "생각" 없이 한 예측(직접적인 언어 모델의 예측) 사이의 학습된 보간을 사용합니다. 이는 두 예측 사이의 성능 차이를 줄이고, 모델이 두 방식을 융합하여 사용할 수 있게 합니다.
혼합 헤드의 역할:"생각 끝" 토큰의 숨겨진 상태와 원래 텍스트 토큰의 숨겨진 상태가 주어질 때, 혼합 헤드는 "생각 이후" 예측 로짓이 최종 예측에 얼마나 기여할지를 결정하는 가중치를 출력합니다. 이는 "생각"을 통한 예측이 얼마나 신뢰할 수 있는지를 평가하는 데 도움을 줍니다.
혼합 헤드의 구조:혼합 헤드는 각 토큰에 대해 스칼라 가중치를 출력하는 단순한 다층 퍼셉트론(MLP) 구조를 사용합니다.
이 MLP는 "생각"을 통한 예측과 "생각" 없이 한 예측 사이의 가중치를 학습하여, 두 예측 사이에서 최적의 결과를 도출하도록 합니다.
이렇게 혼합 헤드를 도입함으로써, 모델은 추론 과정을 더 효율적으로 통합하고, 더 일관되고 정확한 예측을 생성할 수 있게 됩니다. 이 과정에서 모델은 미리 훈련된 언어 모델의 성능을 유지하면서도, 추론을 통해 얻은 추가 정보를 활용하여 더 나은 예측을 할 수 있게 됩니다. 구현 세부사항은 논문의 부록 A에서 찾아볼 수 있습니다.근거 생성 최적화
생각 시작 및 끝 토큰 최적화
< | startofthought | > 및 < | endofthought | > 토큰은 모델의 근거 생성을 제어하는 학습된 메타토큰으로 기능합니다. 이 토큰들, 특히 < | startofthought | > 토큰의 표현을 최적화하는 것은 매우 중요하지만, 근거 토큰의 이산적(discrete) 특성으로 인해 어렵습니다. 우리는 시작 및 끝 토큰 임베딩을 일시 중지 또는 생각을 나타내는 데 자주 사용되는 대시, "−−−"에 해당하는 임베딩으로 초기화하여 언어 모델의 기존 지식을 활용합니다. 또한, 이 임베딩들이 더 빨리 최적화될 수 있도록 업데이트 단계에서 이 임베딩들의 그래디언트에 가중치(하이퍼파라미터)를 적용합니다. 직관적으로, 생각 시작 토큰은 모델을 "생각 모드"로 전환하는 것으로 이해될 수 있고, 생각 끝 토큰은 모델에게 생각이 끝났다는 것을 알리는 것으로 이해될 수 있습니다.
비근시적 점수 매기기와 교사 강제 우리는 생각이 모든 토큰을 예측하는 데 유용하지 않다고 예상하기 때문에, 모델의 보상이 생각 다음의 텍스트에서 바로 다음 단어에 덜 의존하고 그 뒤의 의미 내용에 더 의존하기를 선호합니다. 여기에는 두 가지 주요 도전이 있습니다. 첫째, 트랜스포머를 사용한 일반적인 언어 모델링과 달리, 주어진 다음 토큰 예측에 대한 생각만이 그 예측으로부터 그래디언트를 받습니다. 우리는 이를 전에 토큰을 샘플링하여 미래 토큰에 대한 손실 항을 추가함으로써 해결할 수 있습니다. 그러나 이것은 일반적으로 언어 모델링에 대한 훨씬 높은 엔트로피를 초래하고 생성된 텍스트의 품질을 낮출 것입니다. 왜냐하면 그것은 LM을 자신의 앞선 토큰들을 부분적으로 무시하도록 훈련시키기 때문입니다. 대신, 우리는 병렬 주의 마스크를 사용하여 실제 다음 토큰의 로그 확률을 계산하고, 모델이 올바른 다음 실제 토큰을 선택했다고 가정하여 교사 강제를 적용합니다(트랜스포머를 사용한 정상적인 언어 모델링에 내재된 가정과 같음). 각 미래 토큰의 손실은 생각 끝 토큰과 이전 관찰된 토큰에서 계산된 혼합 가중치에도 의존합니다. 손실에 포함되는 미래 토큰의 수는 하이퍼파라미터입니다. 우리는 생각 시작 및 끝 토큰을 삽입하기 위해 동일한 교사 강제 기법을 적용합니다. 우리는 이 절차를 그림 4에서 시각화합니다.
비근시적 점수 매기기 (Non-Myopic Scoring)
목적: 모델이 추론('생각')을 수행할 때, 모든 토큰을 예측하는 데 있어 이 추론이 유용하지 않다고 예상됩니다. 따라서 모델의 보상 체계는 바로 다음 단어보다는 그 이후의 의미 내용에 더 의존하기를 선호합니다. 이는 모델이 단기적인 예측보다 장기적인 문맥 이해에 더 초점을 맞추도록 유도합니다.
도전: 추론을 통해 생성된 토큰이 특정 토큰 예측에서만 그래디언트를 받는 것은 일반적인 언어 모델링 방식과는 다르게 작동합니다.
손실 항 추가
해결 방법: 미래 토큰에 대한 손실 항을 추가함으로써 이 문제를 해결합니다. 이는 모델이 미래의 토큰 예측을 개선하도록 돕지만, 언어 모델의 전반적인 엔트로피를 높이고 생성된 텍스트의 품질을 낮출 수 있습니다. 이는 모델이 앞선 토큰들을 부분적으로 무시하도록 훈련시킬 수 있기 때문입니다.
병렬 주의 마스크와 교사 강제
병렬 주의 마스크: 실제 다음 토큰의 로그 확률을 계산할 때 사용됩니다. 이 기법은 모델이 올바른 다음 실제 토큰을 선택했다고 가정하고 교사 강제를 적용합니다. 이는 트랜스포머를 사용한 정상적인 언어 모델링의 가정과 유사합니다.교사 강제: 생각 시작 및 끝 토큰을 삽입하는 데에도 같은 기법이 적용됩니다. 이는 모델이 실제로 관찰된 토큰에서 추론 과정을 시작하고 끝내도록 유도하는데 도움을 줍니다.
손실의 의존성
각 미래 토큰의 손실은 생각 끝 토큰과 이전 관찰된 토큰에서 계산된 혼합 가중치에 의존합니다. 이것은 모델이 추론을 얼마나 잘 수행하고 있느냐에 따라 변화하는 손실을 반영하여, 모델의 학습 과정을 더욱 세밀하게 조정합니다.
시각화
이러한 복잡한 절차는 문서의 그림 4에서 시각화되어 더 쉽게 이해할 수 있도록 제공됩니다. 이 시각 자료는 모델의 학습 과정과 그에 따른 변화를 명확하게 보여주어, 이해를 돕습니다.
결론적으로, 이 방법은 언어 모델이 단순히 다음 단어를 예측하는 것을 넘어서서, 더 넓은 문맥의 의미를 이해하고, 추론 과정을 통해 더 나은 텍스트 생성을 목표로 합니다. 이 과정에서 여러 최적화 기법과 학습 전략이 사용되며, 이러한 방법들은 모델의 성능을 향상시키는 데 중요한 역할을 합니다.이 그림은 언어 모델링의 순방향 패스와 교사 강제를 시각화한 것입니다. 실선은 언어 모델 계산을 나타내고, 점선은 교사 강제를 통해 삽입된 토큰들을 나타냅니다. 혼합 헤드는 혼합을 담당하는 부분을 나타내고 있습니다. 특히, 이 그림은 세 개의 토큰을 앞서 예측하는 과정을 시각화하고 있습니다. 'Thought' 생성은 그림 1과 그림 3에서 더 자세히 설명됩니다.
그림을 구성하는 주요 요소는 다음과 같습니다:
- \( d, e, f \)는 입력 시퀀스의 토큰들입니다.
- 각 토큰은 각각의 언어 모델 (\( g^{LM}, h^{LM}, i^{LM} \))을 거쳐 다음 토큰 (\( g, h, i \))을 예측합니다.
- 'Thought' 박스는 생각의 시작과 끝을 나타냅니다. 이는 알고리즘에서 생성한 내부적인 생각 또는 근거를 시각화한 것입니다.
- \( \hat{g}, \hat{h}, \hat{i} \)는 각 토큰에 대해 교사 강제를 통해 예측된 다음 토큰들입니다.
- 각 예측된 토큰 (\( \hat{g}, \hat{h}, \hat{i} \))는 혼합 헤드를 통해 최종 예측에 통합됩니다. 혼합 헤드는 근거를 기반으로 한 예측과 기본 언어 모델 예측을 어떻게 결합할지를 결정하는 가중치를 생성합니다.
이 시각 자료는 근거 기반 언어 모델링이 어떻게 동작하는지를 설명하기 위해 교사 강제 기법과 혼합 헤드를 통한 예측 과정을 보여주고 있습니다.
5. 실험 및 결과
직관적으로 모든 토큰이 같은 양의 사고를 필요로 하는 것은 아닙니다. 예를 들어, “the person is run-”이라는 문장을 고려해 보십시오: “ing”가 아닌 다른 토큰일 확률이 불가피하게 존재하긴 하지만, 문맥 없이 독립적인 문장으로는 추가적인 사고가 잘 훈련된 모델의 예측을 향상시키지 않을 가능성이 큽니다. 실제로 우리는 대부분의 온라인 텍스트의 대부분의 청크에 대해 추가적인 사고가 거의 또는 전혀 영향을 미치지 않을 것이라고 추측합니다. 실제로 초기 탐색에서 Quiet-STaR이 모든 토큰에 동등하게 도움이 되지 않는다는 것을 관찰했습니다. 따라서 우리는 실험을 설계하여 저희 접근 방식이 사고를 필요로 하는 토큰을 예측하는 데 유용한지를 조사합니다. 우리는 1) Quiet-STaR이 추론을 요구하는 데이터셋에서 언어 모델의 직접적인 답변 예측 능력을 향상시키는지 여부를 평가하고, 2) 사고 토큰으로 인한 영향의 분포를 평가합니다. 우리는 모든 실험을 Mistral 7B의 기본 버전으로 시작합니다(Jiang et al., 2023).
대부분의 실험은 기술적인 웹페이지를 강조하는 OpenWebMath(Paster et al., 2023)에서 훈련을 수행합니다. 우리는 추론에서 이점을 얻을 토큰의 밀도가 높을 것으로 예상되는 OpenWebMath을 선택했습니다. 이는 우리의 실험이 지지합니다. 우리는 또한 C4(Raffel et al., 2020)에서 Quiet-STaR을 평가하는데, 이는 더 다양한 텍스트를 포함하는 널리 사용되는 LM 사전 훈련 코퍼스입니다. 우리는 여기에서도 유의미하긴 하지만 더 작은 이점을 다시 보여줍니다.
5.1 하류 성능
이 소절에서는 Quiet-STaR이 언어 모델의 제로샷 추론 능력을 얼마나 향상시키는지를 평가합니다. CommonsenseQA(Talmor et al., 2018)와 GSM8K(Cobbe et al., 2021)에서 Quiet-STaR은 기본 언어 모델에 비해 각각 10.9%와 5.0%의 성능 향상을 가져왔습니다. 이 개선은 모델의 논리가 포함된 토큰 수가 증가함에 따라 일관되게 증가함을 보여주며, 이는 더 철저한 추론을 통해 더 나은 직접적인 질문 응답 성능으로 전환됨을 나타냅니다. C4(Raffel et al., 2020)에서 Quiet-STaR로 훈련할 때도 GSM8K(5.9% → 8.1%)와 CommonsenseQA(36.3% → 42.6%)에서 성능이 향상되었지만 마진은 더 작습니다. 특히, 우리의 C4 평가를 위해, 우리는 16개의 사고 토큰과 4개의 진짜 토큰을 앞서 가며 같은 설정으로 Mistral 7B를 훈련시킵니다.
우리는 이러한 개선을 pause 토큰(Goyal et al., 2023)이 제공하는 개선과 비교할 수 있습니다. 이는 각 토큰을 두 토큰으로 나타내고 두 번째 "일시 정지" 토큰이 전체 사고를 수행한다고 볼 수 있는 Quiet-STaR의 제한된 버전으로 볼 수 있습니다. 특히, 우리의 설정은 그들이 사전 훈련된 모델을 미세 조정하는 pause 토큰 미세 조정과 가장 비슷합니다. 그들의 결과는 pause 토큰 미세 조정이 기본 모델에 비해 CommonsenseQA에서 소극적인 이득을 제공한다는 것을 보여줍니다. 그들은 26.9%에서 28.8%로의 개선을 관찰했습니다. GSM8K에서, Goyal et al. (2023)은 pause 토큰 미세 조정이 성능을 해치는 것으로 나타났습니다. 게다가, 그들은 평가된 대부분의 작업에서 추가적인 사고 토큰이 성능을 해친다는 것을 관찰했습니다. 그들은 또한 "표준 사전 훈련된 모델의 pause-미세 조정의 미온적인 효과"에 대해 논의합니다(Goyal et al., 2023). 이는 모델이 다중 토큰 논리를 생성하도록 허용하는 것이 단일 토큰 "일시 정지"보다 더 효과적인 추론을 초래한다는 것을 시사합니다. 그러나 Goyal et al. (2023)과 달리 우리는 하류 작업에서 미세 조정을 하지 않습니다.
5.2 개선 분포
부록 그림 7에서 볼 수 있듯이, 언어 모델이 임의의 토큰을 예측하는 능력은 평균적으로 크게 향상되지 않습니다. 그러나 상대적인 개선의 분포를 시각화할 때, 더 어려운 토큰에서 불균형적인 개선이 나타납니다. 이는 일부 텍스트 토큰이 상당히 더 어렵고 신중한 사고로부터 더 많은 이점을 얻는다는 아이디어를 반영합니다.
부록 그림 8에서는 개선이 일어나는 토큰 유형에 대한 일부 통찰을 제공하고자 합니다. 예를 들어 사고가 많은 토큰에 도움이 되는 것으로 보이지만, 검토 결과 적용 가능한 정리의 이름이나 증명의 다음 단계의 시작과 같이 관련 정보를 상기시키는 데 유용한 토큰을 예측하는 데 불균형적으로 도움이 됩니다. 특히 이는 Prystawski 등(2024)이 제안한 구성과 잘 어울립니다.
5.3 Quiet-STaR과 사고의 연쇄
사고의 연쇄 유도와 저희 접근 방식 사이에는 자연스러운 유사점이 있지만, 이들은 직교적이고 보완적입니다. 제로샷 사고의 연쇄에서 사용자는 모델이 '소리 내어 생각하도록' 적극적으로 유도하지만, 일반적인 생산 분포를 사용합니다(Kojima 등, 2022); 반면 Quiet-STaR은 모델이 모든 토큰에서 조용히 생각하도록 허용하며, 유용하도록 훈련된 분포를 사용합니다. 우리는 명시적인 CoT 추론을 생성하는 동안 조용한 Quiet-STaR 논리를 사용합니다. 저희의 목표는 전혀 특정 작업 입력이 필요 없는 일반적인 추론이기 때문에, 우리는 예제 없이 제로샷 프롬프트("단계별로 생각합시다")를 사용했습니다. 저희 실험은 내부 논리가 모델이 더 구조화되고 일관된 사고의 연쇄를 생성할 수 있도록 한다는 것을 나타냅니다. 이는 부록 E와 그림 5에서 시각화되었습니다. Quiet-STaR를 사용한 8개 샘플의 다수결 정확도(cot-maj@8)는 40.6%에서 47.7%로 향상되었으며, 이는 128개의 GSM8K 테스트 항목 샘플에서 평가되었습니다. 각 사고의 연쇄 솔루션은 온도 0.7로 샘플링됩니다.
5.4 예제
Quiet-STaR에서 생각이 인간에게 해석 가능하도록 명시적인 정규화가 없지만, 그것들은 언어를 모델링하기 위해 훈련된 동일한 트랜스포머에서 생성되므로 적어도 부분적으로 이해할 수 있을 가능성이 높습니다. 이 설계 선택이 훈련 안정성에 도움이 되는 이유를 부록 I에서 논의합니다. 참고로, OpenWebMath에서 미래 토큰을 예측하는 데 도움이 된 생각의 예를 포함합니다. 첫 번째 경우에서, 마그네슘을 사용하여 질화 마그네슘이라는 물질을 만드는 첫 단계를 시작해야 한다는 것을 상기시키면, 절차의 첫 단계가 마그네슘 가열을 포함한다는 것을 더 잘 예측할 수 있습니다.
6. 한계점
이 연구는 추론을 학습하기 위한 새로운 프레임워크를 제안하며, 이 과정에서 다양한 메타-러닝 문제에 대한 해결책을 탐구합니다. 그러나 이러한 문제들을 해결하기 위해 특정 단순화가 필요했습니다. 예를 들어, 모델이 처음부터 훈련될 때 이 기술들이 작동하는지 이해하는 것이 가치있을 것입니다. 또한, 우리는 강력한 70억 파라미터 모델에 Quiet-STaR을 적용했을 뿐입니다. 더 나은 모델에 동일한 기술을 적용하면 종종 추론에서 얻은 이득에 대해 관찰된 것처럼 불균형적으로 더 나은 결과를 얻을 가능성이 높습니다(Wei 등, 2022a).
Quiet-STaR은 상당한 오버헤드를 초래하여, 추가 토큰을 생성하기 전에 많은 토큰을 생성합니다. (계산 조정된 성능 결과는 부록 C를 참조하세요.) 그러나 이것은 장점으로 볼 수도 있습니다: 일반적으로 언어 모델은 현재 맥락을 바탕으로 다음 토큰을 생성할 수 있으며, 샘플링 품질을 개선하는 기술이 있지만, 추가 계산을 활용하여 다음 토큰 예측을 강화하는 일반적인 방법은 없습니다. 현재 구현에서는 추론을 생성하거나 종료할 시기를 동적으로 예측하는 것을 지원하지 않습니다. 그러나 이는 자연스러운 확장이 될 것입니다. 예를 들어, 혼합 헤드가 생각 이전이 아닌 생각 이후에 기본 언어 모델에서 예측했다면, 통합되지 않을 생각을 생성하는 것을 방지하기 위한 임계값을 적용할 수 있습니다. 생각의 유용성을 예측하는 것은 이미 생각을 생성한 후가 더 간단하므로 이는 더 어려운 작업일 것으로 예상됩니다.
7. 결론
Quiet-STaR은 일반적이고 확장 가능한 방식으로 추론을 학습할 수 있는 언어 모델로 나아가는 한 걸음을 대표합니다. 특정 데이터셋에 대해 좁게 특화하기보다는 다양한 웹 텍스트에 내재된 풍부한 추론 작업에 대한 훈련을 통해, Quiet-STaR은 더욱 강력하고 적응 가능한 언어 모델로의 길을 제시합니다. 저희 결과는 이 접근법의 가능성을 보여주며, Quiet-STaR은 하류 추론 성능을 향상시키고 질적으로 의미 있는 논리를 생성합니다. 이는 또한 많은 잠재적인 미래 방향을 열어줍니다 - 예를 들어, 미래 토큰의 예측을 더욱 개선하기 위해 생각들을 앙상블할 수 있습니다. 더욱이, 언어 모델이 생각이 유용할 시기를 예측할 수 있다면, 예를 들어 예측 전에 혼합 헤드를 배치함으로써, 예측된 혼합 가중치를 사용하여 생성 동안 계산을 동적으로 할당할 수 있습니다. 향후 작업은 이러한 통찰을 바탕으로 언어 모델과 인간과 같은 추론 능력 사이의 격차를 더욱 좁힐 수 있습니다.
'논문' 카테고리의 다른 글