00:00:00

Share Your Feedback 🏝️

CoT | Thought Sculpt

CoT | Thought Sculpt

MinWoo(Daniel) Park | Tech Blog

Read more
Previous: Embedding | Open EQA Next: Multilangual | Multilingual Large Language Model**

CoT | Thought Sculpt

  • Related Project: Private
  • Category: Paper Review
  • Date: 2024-04-18

THOUGHTSCULPT: Reasoning with Intermediate Revision and Search

  • url: https://arxiv.org/abs/2404.05966
  • pdf: https://arxiv.org/pdf/2404.05966
  • abstract: We present THOUGHTSCULPT, a general reasoning and search method for tasks with outputs that can be decomposed into components. THOUGHTSCULPT explores a search tree of potential solutions using Monte Carlo Tree Search (MCTS), building solutions one action at a time and evaluating according to any domain-specific heuristic, which in practice is often simply an LLM evaluator. Critically, our action space includes revision actions: THOUGHTSCULPT may choose to revise part of its previous output rather than continuing to build the rest of its output. Empirically, THOUGHTSCULPT outperforms state-of-the-art reasoning methods across three challenging tasks: Story Outline Improvement (up to +30% interestingness), Mini-Crosswords Solving (up to +16% word success rate), and Constrained Generation (up to +10% concept coverage).

TL;DR


LLM을 활용한 지속적인 사고 개선을 위한 ThoughtSculpt 방법 개발

  • 문제 정의: LLM의 한계 극복 및 복잡한 문제 해결을 위한 새로운 프레임워크 개발 필요성
  • 해결 방법: ThoughtSculpt 방법을 통한 사고 과정의 연속적 개선과 그래프 기반의 동적 사고 네트워크 구축
  • 방법: MCTS를 이용한 효율적인 탐색 공간 관리 및 실시간 피드백을 통한 사고의 정제와 발전

1. 서론

최근 LLM(Large Language Models)의 발전에도 불구하고, 주어진 태스크에 대한 효과적인 사고 과정을 모델링하는 데 있어 여전히 한계가 존재한다. 기존의 CoT(Chain-of-Thought) 방법은 중간 사고 단계를 거쳐 최종 출력을 도출하는 전략이지만, 복잡한 문제에서의 지속적인 사고 개선과 수정이 불가능한 한계가 있었다.

2. 관련 연구

기존 연구들은 피드백 가이드 생성, 그래프 기반 인퍼런스, LM 계획 등 다양한 방법을 통해 문제를 해결하려 했으나, 이런 방법들은 사고 과정을 일시적으로 수정할 수 없거나, 생성된 사고의 질을 지속적으로 향상시키기 어려운 문제가 있었다.


3. ThoughtSculpt 방법

3.1 사고 평가기

각 사고 노드를 평가하고 개선할 수 있는 피드백을 제공한다. 수학적으로 사고 평가는 다음과 같이 정의된다.

\[f(x_i) = \langle f_{\text{text}}(x_i), f_{\text{numeric}}(x_i) \rangle\]

$f_{\text{numeric}}(x_i) = v(x_i)$는 현재 노드의 평가 점수를 나타내고, $f_{\text{text}}(x_i)$는 자식 노드 생성을 위한 문맥을 제공한다.

3.2 사고 생성기

평가 피드백을 기반으로 후속 사고 노드들을 생성한다.

\[x_{\text{child}} \sim p_\theta(x | I, x_{\text{parent}}, f_{\text{text}}(x_{\text{parent}}))\]

이 과정에서 새로운 후보 사고 노드들이 생성되며, 각 노드는 개선된 솔루션을 제안한다.

3.3 결정 시뮬레이터

MCTS를 사용하여 결정 시뮬레이션을 수행하고, 가장 높은 보상을 가진 노드를 최종 출력으로 선택하며, MCTS의 수학적 표현은 다음과 같다.

\[\text{UCB1}(x) = v(x) + c \sqrt{\frac{\ln n(x_{\text{parent}})}{n(x)}}\]

$c$는 탐험과 가치 균형을 조절하는 상수


4. 실험 및 결과

Story Outline Improvement, Mini-Crosswords Solving, Constrained Generation 등 다양한 태스크에서 THOUGHTSCULPT를 검증하였다. 결과적으로, 기존 방법 대비 30% 이상의 향상된 결과를 보였다.


5. 결론 및 향후 연구 방향

THOUGHTSCULPT는 복잡한 문제에 대한 지속적인 사고 개선을 가능하게 함으로써 LLM의 사용 범위를 확장한다. 향후 연구에서는 이 방법의 다양한 응용 가능성을 탐구하고, 더욱 정교한 사고 네트워크 구축 알고리즘을 개발할 계획이다.


[참고자료 1] ThoughtSculpt 방법: 수식과 배경 지식의 자세한 설명

1. Thought Evaluator

각 사고 노드의 품질을 평가하고 이를 바탕으로 피드백을 제공하여 사고 과정을 지속적으로 개선하는 것을 목표로 합니다.

사고 노드 평가는 (1) 수치적 피드백과 (2) 텍스트 피드백 두 가지 피드백 형식으로 구성됩니다. 이 피드백 시스템들은 LLM이 더 정확하고 유용한 결과를 도출할 수 있도록 돕습니다.

  • (1) 수치적 피드백 ($f_{\text{numeric}}$): 각 노드의 효율성을 평가하는 점수로, 이 점수는 노드의 효과성을 정량화합니다. 이 점수는 노드의 선택과 확장에 필요합니다.

    \[f_{\text{numeric}}(x_i) = v(x_i)\]

    수식에서 $v(x_i)$는 노드 $x_i$의 점수입니다. 이 점수는 추후에 탐색 알고리즘에 의해 사용되어 최적의 노드 선택에 기여합니다.

  • (2) 텍스트 피드백 ($f_{\text{text}}$): 노드에 대한 질적 피드백으로, 다음 사고 노드를 생성할 때의 문맥 정보를 제공합니다.

    \[f(x_i) = \langle f_{\text{text}}(x_i), f_{\text{numeric}}(x_i) \rangle\]


2. Thought Generator

평가된 피드백을 기반으로 하여 새로운 사고 노드를 생성하고 기존의 결과를 개선하는 것을 목표로합니다.

새로운 사고 노드는 주어진 피드백과 함께 이전 노드를 참조하여 생성됩니다.

\[x_{\text{child}} \sim p_{\theta}(x | I, x_{\text{parent}}, f_{\text{text}}(x_{\text{parent}}))\]

수식에서 $p_{\theta}$는 학습된 언어 모델의 파라미터를 나타내며, $I$는 초기 지시 사항, $x_{\text{parent}}$는 현재 노드, 그리고 $f_{\text{text}}(x_{\text{parent}})$는 현재 노드에 대한 텍스트 피드백을 나타냅니다.


3. Decision Simulator

사고의 다양한 가능성을 탐색하고 최적의 해결책을 선택하는 것으로, 선택된 노드의 최적성을 평가하기 위해 사용되는 MCTS 알고리즘의 주요 수식은 다음과 같습니다.

\[\text{UCB1}(x) = v(x) + c \sqrt{\frac{\ln n(x_{\text{parent}})}{n(x)}}\]

수식에서 $c$는 탐험과 활용 사이의 균형을 조절하는 상수, $n(x)$는 노드 $x$의 방문 횟수, $n(x_{\text{parent}})$는 부모 노드의 방문 횟수로 위 수식은 효율적인 탐색과 정보의 최적 활용을 위해 사용됩니다.

Previous: Embedding | Open EQA Next: Multilangual | Multilingual Large Language Model**

post contain ""

    No matching posts found containing ""