인공지능/논문 리뷰 or 진행

Graph of Thoughts: Solving Elaborate Problems with Large Language Models - 논문 리뷰

이게될까 2025. 2. 12. 23:11
728x90
728x90

https://arxiv.org/abs/2308.09687

 

Graph of Thoughts: Solving Elaborate Problems with Large Language Models

We introduce Graph of Thoughts (GoT): a framework that advances prompting capabilities in large language models (LLMs) beyond those offered by paradigms such as Chain-of-Thought or Tree of Thoughts (ToT). The key idea and primary advantage of GoT is the ab

arxiv.org

ToT가 이젠 GoT로 발전했습니다.

2025.02.11 - [인공지능/논문 리뷰 or 진행] - Tree of Thoughts: Deliberate Problem Solving with Large Language Models - 논문 리뷰

 

Tree of Thoughts: Deliberate Problem Solving with Large Language Models - 논문 리뷰

https://arxiv.org/abs/2305.10601 Tree of Thoughts: Deliberate Problem Solving with Large Language ModelsLanguage models are increasingly being deployed for general problem solving across a wide range of tasks, but are still confined to token-level, left-t

yoonschallenge.tistory.com

ToT는 갈라져서 쓰지 않을 것이면 버려지지만, GoT는 백트래킹과, Aggregating 과정, Refining 과정으로 인해 만들어진 생각이 그냥 버려지지 않고 발전하는 과정을 거치게 됩니다.

각종 프롬프트 방법

더보기

이 Figure는 Graph of Thoughts (GoT)전체 시스템 아키텍처, API 구성, 동작 방식 및 예제를 설명하고 있다.
이를 기반으로 GoT가 어떻게 작동하는지, 생각(Thought)이 어떻게 생성, 평가, 조합, 개선되는지 분석해보자.


1. GoT 아키텍처 개요 (우측 상단)

GoT 프레임워크는 여러 개의 모듈이 협력하여 작동한다.
이 모듈들은 사용자(User), LLM, Prompter, Parser, Scoring & Validation, Graph Reasoning State, Ranking 등으로 구성된다.

(1) 주요 모듈의 역할

  • User: 문제 해결을 위해 LLM을 실행하는 사용자.
  • LLM (대형 언어 모델): 입력 프롬프트를 기반으로 답변을 생성.
  • Prompter: LLM에 보낼 프롬프트를 구성하는 역할.
  • Parser: LLM이 생성한 생각을 분석하여 정보를 추출.
  • Scoring & Validation: LLM이 생성한 답변의 품질을 평가.
  • Graph of Operations (GoO): GoT가 수행할 작업을 정의하는 그래프.
  • Graph Reasoning State (GRS): 현재 진행 중인 **LLM의 사고 과정(생각들의 네트워크)**을 유지하는 모듈.
  • Ranking: 가장 우수한 생각을 선택하여 이후 과정에서 활용.

2. API 및 연산 방식 (좌측)

(1) 컨트롤러 API

  • LLM의 모델 파라미터(온도, 토큰 길이, API 키 등)를 설정.
  • 프롬프팅 비용(토큰 사용량 등)을 관리.
  • Prompter, Parser, Graph of Operations를 인스턴스화.
  • 추가적인 입력값(예: 정렬할 숫자 리스트)을 전달.

(2) GoO에서 사용 가능한 연산

  • Generate: 새로운 생각을 생성.
  • Aggregate: 여러 개의 생각을 조합하여 새로운 생각을 생성.
  • Score: 생각의 품질을 평가.
  • KeepBest(N): 상위 N개의 생각을 유지.
  • Repeat(k): 특정 연산을 k번 반복하여 새로운 생각을 생성.

(3) Prompter API

  • Generate(t,k): 기존 생각 t를 기반으로 k개의 새로운 생각을 생성.
  • ValidateAndImprove(t): 기존 생각 t를 개선하는 프롬프트 생성.
  • Aggregate(t1, ..., tk): 여러 개의 생각을 하나로 결합.
  • Score(t): 생각의 품질을 평가.
  • Validate(t): 생각의 정확성을 검증.

(4) Parser API

  • ParseGenerate, ParseImprove, ParseScore, ParseAggregate, ParseValidate 등의 함수가 포함.
  • 각각의 모듈은 LLM의 응답을 파싱하여 해당하는 Prompter 함수로 연결.

3. Graph Reasoning State (GRS)와 예제 분석

우측 하단에는 정렬(Sorting) 문제를 해결하는 GoT의 실제 동작 과정을 보여주는 예제들이 포함되어 있다.

(1) 단계 1: Generate(t, k=4)

  • 숫자 리스트를 4개의 작은 리스트로 분할하는 과정.
  • 프롬프트 예제: "입력 리스트를 4개의 하위 리스트로 나누시오."
  • 이 과정에서 4개의 새로운 생각(thought)이 생성됨.
  • GRS에서 각 하위 리스트는 독립적인 노드로 추가됨.

(2) 단계 2: Generate(t, k=1) + Repeat(k=4)

  • 각 리스트를 개별적으로 정렬하는 과정.
  • "리스트를 오름차순으로 정렬하시오."
  • 각 리스트는 독립적으로 처리되며, GRS에서 각 정렬된 리스트가 새로운 노드로 추가됨.

(3) 단계 3: Aggregate(t1, t2) + Repeat(k=3) + KeepBest(N=1)

  • 정렬된 리스트들을 병합(Merge Sort 방식)하는 과정.
  • "두 개의 정렬된 리스트를 병합하시오."
  • 3번 반복하여 리스트를 점진적으로 병합.
  • KeepBest(N=1)을 사용하여 최상의 병합 결과를 선택.

(4) 단계 4: Improve(t) + Repeat(k=4)

  • 잘못 정렬된 부분을 수정하는 과정.
  • "정렬된 리스트의 오류를 찾아 수정하시오."
  • 예제:
    • 입력 리스트: [3, 7, 0, 2, 8, 1, 2, 2, 2, 4, 7, 8, 5, 3, 9]
    • 잘못된 정렬 리스트: [0, 0, 0, 1, 0, 2, 2, 3, 3, 4, 4, 4, 5, 5, 7, 8, 8, 9, 9, 9]
    • 수정된 리스트: [0, 1, 1, 2, 2, 2, 3, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 8, 8, 9, 9, 9]
  • 이를 통해 점진적으로 정렬 결과를 개선.

4. 주요 개념 정리

개념 설명 예제
Graph of Operations (GoO) GoT의 연산을 정의하는 그래프 Generate, Aggregate, Score 등의 연산
Graph Reasoning State (GRS) 현재 LLM의 사고 과정을 나타내는 그래프 여러 개의 노드(생각)와 엣지(관계)로 구성
Prompter LLM에 보낼 프롬프트를 생성 정렬 문제에서 리스트를 나누는 프롬프트 생성
Parser LLM의 응답을 분석하여 정보를 추출 정렬된 리스트의 품질을 평가
Scoring & Validation 생각의 품질을 평가하고 순위를 결정 KeepBest(N=1)으로 최적의 결과 선택

5. 결론

이 Figure는 GoT의 전체 아키텍처, API 구조, 그리고 실제 동작 예제를 명확하게 보여준다.
특히, 정렬 문제를 해결하는 과정에서 어떻게 생각이 생성, 평가, 조합, 개선되는지를 설명하며,
이를 통해 GoT가 기존 CoT, ToT보다 더 정교한 문제 해결 능력을 제공한다는 점을 시각적으로 증명한다.

GoT의 강력한 그래프 기반 구조(GRS, DAG)를 활용하여 더 나은 추론 및 최적화된 답안을 생성하는 방식
AI 연구, NLP, AGI(Artificial General Intelligence) 연구 등에서 중요한 발전을 이끌 수 있음을 시사한다.

 

이 사진이 제일 알아보기 쉽네요

그런데 성능 표가 없네요...?

깔끔하게 보이지 않아서 잘 봐야 할 듯...

성능도 챙기고, 기존 ToT 보다 Cost도 낮게 잡아먹습니다.

Score에 따른 자기 반성, 합치기만 잘 진행한다면 확실히 좋은 방법일 것 같습니다.

 

이 논문은 Graph of Thoughts (GoT)라는 새로운 프레임워크를 제안하며, 대형 언어 모델(LLM)의 문제 해결 능력을 Chain-of-Thought (CoT)이나 Tree of Thoughts (ToT)보다 향상시키는 방법을 연구한다. 이 프레임워크는 LLM의 사고 과정을 그래프로 모델링하여 보다 효과적인 정보 처리 및 문제 해결을 가능하게 한다.


1. 해결하려는 문제

기존의 LLM 기반 추론 방식(CoT, ToT)에는 몇 가지 한계가 존재한다.

  1. CoT (Chain-of-Thought): 단일한 선형적 사고 과정을 통해 중간 추론을 거쳐 답을 생성하지만, 경우에 따라 최적이 아닌 경로를 선택할 가능성이 높다.
  2. ToT (Tree of Thoughts): 다양한 추론 경로를 탐색하고 백트래킹을 지원하지만, 여전히 트리 구조로 제한되어 있어 정보의 융합과 최적화가 어렵다.

이에 대해, 연구자들은 인간의 사고 방식과 더 유사한 그래프 구조를 도입함으로써, 보다 유연한 문제 해결이 가능할 것이라고 주장한다.


2. 제안하는 방법: Graph of Thoughts (GoT)

GoT는 LLM이 생성하는 정보를 그래프 구조로 모델링하여 더 나은 추론을 수행하도록 설계되었다.

  • 노드(Node): LLM이 생성하는 개별적인 "생각(thought)"
  • 엣지(Edge): 노드 간의 관계(즉, 하나의 생각이 다른 생각을 기반으로 확장됨)

이러한 구조를 통해 GoT는 다음과 같은 주요 기능을 제공한다.

  1. Aggregation (정보 융합): 여러 개의 생각을 결합하여 더 나은 결과를 생성
  2. Refinement (개선): 특정 노드를 여러 번 재평가하여 품질을 향상
  3. Backtracking (되돌아가기): 이전의 생각을 수정하여 새로운 경로 탐색 가능
  4. DAG(Directed Acyclic Graph) 모델: 여러 개의 독립적 경로를 병렬적으로 탐색하여 최상의 해결책을 찾음

이 방식은 LLM이 더 높은 정확도와 효율성을 달성하도록 도와준다.


3. 실험 및 평가

논문에서는 여러 가지 문제를 통해 GoT의 성능을 기존 방식과 비교했다.

(1) 정렬(Sorting)

  • 기존 CoT, ToT보다 62% 더 높은 품질을 제공하면서 비용을 31% 절감함.
  • Merge Sort 스타일을 적용하여 부분적으로 정렬된 리스트를 결합하는 방식으로 수행.
  • 최종적으로 GoT는 CoT 및 ToT보다 더 적은 에러율로 정렬을 수행.

(2) 집합 연산(Set Intersection)

  • LLM이 두 개의 집합을 비교하여 교집합을 찾는 문제에서 GoT는 기존 방법보다 더 높은 정확도를 보임.
  • 특히 집합 크기가 커질수록 GoT의 성능 향상이 두드러짐.

(3) 키워드 카운팅(Keyword Counting)

  • 문서에서 특정 키워드를 추출하여 빈도를 계산하는 문제에서도 GoT가 더 높은 정확도와 낮은 비용으로 수행됨.
  • 단순한 IO 방식보다 GoT는 훨씬 더 높은 품질의 결과를 도출.

(4) 문서 병합(Document Merging)

  • 여러 개의 NDA(비밀 유지 계약서)를 하나로 통합하는 작업을 수행.
  • 기존 방식보다 중복을 줄이고 정보 손실을 최소화하면서 최적의 병합 결과를 제공함.

4. 기존 방법과의 비교

방법 연산 방식  탐색 구조 백트래킹 지원 융합 지원
CoT 선형(Linear) 단일 체인
ToT 계층(Tree) 트리 구조
GoT 그래프(Graph) DAG(비순환 방향 그래프)

GoT는 트리 구조를 넘어서 유연한 그래프 기반 추론을 제공하여 기존 방법보다 더 강력한 문제 해결 능력을 보인다.


5. 결론 및 미래 연구 방향

GoT는 LLM의 추론 과정을 보다 유연하고 강력한 방식으로 개선하는 프레임워크이다. 실험 결과를 통해 CoT 및 ToT보다 더 뛰어난 성능을 보였으며, 특히 복잡한 문제 해결에서 강점을 나타냈다.

향후 연구 방향

  • 다양한 도메인에서 GoT 적용: 의료, 법률, 과학 연구 등 다양한 분야에서 활용 가능성을 탐색.
  • 최적의 그래프 구조 연구: 특정 문제 유형에 따라 최적의 그래프 형태를 찾아내는 연구 필요.
  • GoT와 강화 학습 결합: 그래프 구조를 학습 기반으로 최적화하는 접근 가능.

연구에 대한 시사점

  1. NLP에서의 그래프 활용: 기존 언어 모델이 선형 또는 트리 기반 구조를 따르는 반면, GoT는 더 확장된 문제 해결 패러다임을 제공한다.
  2. LLM의 자율적 문제 해결 강화: GoT는 LLM이 보다 능동적으로 사고하고 최적의 해결책을 탐색할 수 있도록 한다.
  3. AGI 개발과의 연관성: 인간의 사고 방식이 트리보다 네트워크(그래프)에 가깝다는 점을 반영하여 AGI 연구에도 활용될 가능성이 있음.

마무리

이 논문에서 제안하는 Graph of Thoughts (GoT)는 LLM의 한계를 뛰어넘어 더 효율적이고 강력한 문제 해결 능력을 갖추도록 하는 새로운 패러다임이다. 그래프 구조를 활용하여 정보의 융합과 최적화를 수행할 수 있으며, 기존 CoT 및 ToT보다 더 뛰어난 성능을 보인다. 특히 NLP, 문제 해결 AI, AGI 연구에서 중요한 기여를 할 수 있을 것으로 기대된다.

 

 

GoT는 기존의 Chain-of-Thought (CoT)Tree-of-Thought (ToT) 방식보다 더 유연하고 강력한 추론 프레임워크이다.
이 프레임워크는 LLM이 생각(thought)을 단순한 선형 체인이나 트리 구조로 표현하는 것이 아니라 비순환 방향 그래프(DAG, Directed Acyclic Graph) 구조로 구성하여 문제 해결 능력을 극대화하는 방법론이다.


1. GoT의 핵심 개념

GoT는 LLM이 생성하는 개별적인 생각(thought)을 그래프 노드(node)로 모델링하고, 이들 간의 관계를 엣지(edge)로 정의함으로써 병렬적, 비선형적, 다중 경로 추론이 가능하도록 설계되었다.

  • Node (노드): LLM이 생성한 개별적인 생각(thought). 이는 특정 문제에 대한 중간 과정이나 최종 답을 포함한다.
  • Edge (엣지): 특정 생각이 다른 생각을 기반으로 확장되는 관계를 나타냄. 즉, 이전 생각을 바탕으로 다음 생각을 생성하는 방식.

기존의 CoT는 선형적인 사고 과정을 따르며, ToT는 트리 구조를 통해 여러 가지 경로를 탐색하지만, 이들 방식은 새로운 정보의 융합, 반복적인 개선(Refinement), 그리고 백트래킹(Backtracking) 기능이 제한적이라는 단점이 있다.
GoT는 이를 극복하기 위해 그래프 기반의 사고 방식을 도입하였다.


2. 정보 융합(Aggregation)

(1) 정보 융합이란?

GoT의 가장 큰 강점 중 하나는 다양한 경로에서 생성된 여러 개의 생각을 하나로 결합하는 능력이다.
이는 기존의 CoT, ToT에서 불가능했던 기능으로, 다수의 독립적인 추론 경로에서 생성된 생각을 단순 선택하는 것이 아니라, 새로운 정보를 결합하여 보다 강력한 생각을 형성할 수 있도록 한다.

(2) Aggregation이 일어나는 방식

  1. 여러 개의 독립적인 경로(Thoughts)에서 도출된 결과들을 수집
  2. 가장 유망한 생각들을 선별하여 결합(Aggregation)
    • 예를 들어, LLM이 특정 문제를 해결하는 다양한 접근 방식을 탐색하는 경우, 각 접근 방식에서 유용한 정보를 추출하여 결합하는 방식.
  3. 새로운 노드(New Thought)로 생성하여 기존 그래프에 추가
    • 기존 트리 기반 방식에서는 여러 개의 경로 중 하나를 선택해야 하지만, GoT는 여러 개의 생각을 융합하여 더 나은 생각을 생성할 수 있다.

(3) 예제: Sorting 문제에서 Aggregation

  • 만약 LLM이 정렬 문제를 해결하는 과정에서 서로 다른 두 가지 방법(예: Merge Sort, Quick Sort)으로 부분 정렬을 수행했다고 가정.
  • 두 개의 정렬된 리스트가 존재할 때, GoT는 이를 병합(Merge)하여 최적의 정렬 결과를 도출한다.
  • 이를 수행하는 과정에서, 각각의 정렬 알고리즘이 생성한 결과를 따로 평가(Scoring)하고, 가장 적절한 방식을 적용하여 새로운 정렬된 리스트를 생성.

→ 즉, 정보 융합은 단순한 경로 선택이 아닌, 가장 좋은 정보들을 결합하여 최적의 답을 생성하는 과정이다.


3. Refinement (생각 개선)

(1) Refinement이란?

Refinement(개선)는 기존의 생각(Thought)을 반복적으로 다듬어 더 나은 결과를 생성하는 과정이다.
이는 LLM이 처음 생성한 답변이 최적이 아닐 가능성이 높기 때문에, 반복적인 개선 과정을 거쳐 최상의 답변을 도출할 수 있도록 한다.

(2) Refinement가 진행되는 방식

  1. LLM이 생성한 특정 생각을 평가(Scoring)
    • 점수가 낮은 경우, 해당 생각을 개선할 필요가 있음.
  2. 기존 생각을 바탕으로 다시 생각을 생성(Refinement)
    • 예를 들어, 논리적으로 오류가 있는 답변을 보완하거나, 기존 답변에 추가 정보를 포함하도록 요청.
  3. 기존 생각을 개선한 새로운 노드를 생성
    • 새로운 노드가 기존 노드와 동일한 컨텍스트를 유지하면서 더 정교한 답을 제공하도록 설계.

(3) Refinement의 예제: 논리적 추론 문제

  • LLM이 수학 문제를 해결하는 과정에서, 초기 답변이 완벽하지 않을 수 있음.
  • Refinement를 통해 "잘못된 중간 계산을 수정"하거나 "추가적인 논리적 근거를 포함"하도록 유도.
  • GoT는 이러한 과정을 반복하여 최적의 답안을 도출하도록 한다.

→ Refinement는 단순한 답변 생성이 아닌, 점진적으로 최적의 해를 찾아가는 과정이다.


4. Backtracking (되돌아가기)

(1) Backtracking이란?

Backtracking은 특정 경로가 올바른 해결책으로 이어지지 않는다고 판단될 경우, 이전 단계로 돌아가 새로운 탐색을 수행하는 과정이다.
ToT에서도 백트래킹을 지원하지만, GoT는 보다 유연하고 최적화된 백트래킹을 수행할 수 있도록 한다.

(2) Backtracking이 일어나는 조건

  1. 생각(Thought) 평가 점수가 일정 기준 이하일 경우
    • 특정 경로에서 생성된 생각이 비효율적이거나 오류를 포함하는 경우.
  2. 더 나은 대안이 존재할 경우
    • 여러 개의 생각을 생성한 후, 특정 생각이 최적의 결과를 내지 못한다고 판단될 경우.
  3. 이전 단계에서 유용한 정보를 재사용할 필요가 있는 경우
    • 예를 들어, 특정 추론을 통해 얻은 정보가 다른 추론에서도 유용할 수 있다면, 해당 정보를 다시 활용할 수 있도록 백트래킹을 수행.

(3) 예제: 퍼즐 문제 해결에서의 Backtracking

  • LLM이 체스 문제를 해결할 때, 특정 수를 두었는데 최적의 해답이 아닐 경우.
  • 기존의 트리 구조에서는 단순히 이전 단계를 취소하고 다른 경로를 선택해야 하지만, GoT는 기존 정보를 유지하면서 새로운 탐색을 병렬적으로 진행할 수 있다.

→ Backtracking은 기존 탐색을 단순히 취소하는 것이 아니라, 기존 정보를 활용하여 보다 최적화된 경로를 찾는 과정이다.


5. DAG (Directed Acyclic Graph, 비순환 방향 그래프)란?

GoT의 기반이 되는 비순환 방향 그래프(DAG)는, 한 방향으로만 진행되며 사이클이 없는 그래프 구조이다.

(1) DAG의 특징

  • 방향성(Directed): 정보가 한 방향으로만 흐른다.
  • 비순환(Acyclic): 다시 원래의 노드로 되돌아가는 경로가 존재하지 않는다.
  • 병렬적 탐색 가능: 여러 개의 독립적인 경로를 동시에 탐색할 수 있다.

(2) DAG가 GoT에서 어떻게 활용되는가?

  • 기존의 트리(Tree) 구조보다 더 유연한 정보 연결이 가능.
  • 생각(Thought)들이 여러 개의 경로에서 융합될 수 있음.
  • 병렬적인 정보 탐색이 가능하여 더 빠른 최적화가 가능.

→ DAG를 기반으로 하는 GoT는 단순한 트리 구조의 한계를 넘어서, 보다 효과적인 탐색과 문제 해결을 지원한다.


6. 결론

GoT는 단순한 트리 기반 추론을 넘어서, 그래프 기반의 사고 모델을 활용하여 LLM의 문제 해결 능력을 극대화하는 방법론이다.
이를 통해 정보 융합(Aggregation), 개선(Refinement), 되돌아가기(Backtracking), DAG 기반 탐색 등의 기능을 제공하여 보다 정교하고 강력한 AI 추론 시스템을 구축할 수 있다.

 

 

GoT는 기존의 Chain-of-Thought (CoT) 및 Tree-of-Thought (ToT) 방법론과 비교하여 월등한 성능을 보여주었다. 특히, 정보 융합(Aggregation), 개선(Refinement), 백트래킹(Backtracking), DAG(Directed Acyclic Graph) 기반의 사고 구조를 활용하여, 기존의 선형적(Chain) 또는 트리(Tree) 기반의 사고 방식보다 더 정밀하고 강력한 문제 해결 능력을 보였다.


1. GoT의 성능 평가

GoT는 다양한 문제 유형에서 CoT, ToT보다 우수한 결과를 보였다.

(1) 정렬(Sorting) 문제에서의 성능 비교

  • 기존 ToT보다 62% 높은 품질을 기록하며, 31% 비용 절감을 달성.
  • Merge Sort 스타일을 활용하여 부분적으로 정렬된 리스트를 결합하는 방식으로 수행.
  • 다양한 경로에서 생성된 결과를 단순 선택하는 것이 아니라 정보 융합(Aggregation)을 통해 더욱 정교한 정렬 결과를 도출.

(2) 집합 연산(Set Intersection) 문제에서의 성능 비교

  • CoT와 ToT에 비해 정확도가 높고, 오류율이 낮음.
  • 특히 집합 크기가 클수록 GoT의 강점이 더욱 두드러짐.
  • 병렬적 탐색과 정보 융합을 통해 최적의 해를 빠르게 도출.

(3) 키워드 카운팅(Keyword Counting) 문제에서의 성능 비교

  • 문서 내 특정 키워드를 찾아 빈도를 측정하는 문제에서 기존 방식보다 더 높은 정확도와 낮은 비용을 기록.
  • 정보 융합(Aggregation)과 백트래킹(Backtracking)을 활용하여 더 높은 품질의 결과를 도출.

(4) 문서 병합(Document Merging) 문제에서의 성능 비교

  • 여러 개의 NDA(비밀 유지 계약서)를 하나로 통합하는 과정에서, 중복을 줄이고 정보 손실을 최소화하는 방식으로 기존보다 높은 품질을 기록.
  • 기존 방법보다 더 정돈된 NDA를 생성하면서 정보 유실을 방지.

2. 기존 방법론과의 비교 정리

방법론 연산 방식 탐색 구조 백트래킹 지원 정보융합 지원 최적화 가능성
CoT (Chain-of-Thought) 선형(Linear) 단일 체인 제한적
ToT (Tree-of-Thought) 계층(Tree) 트리 구조 제한적
GoT (Graph-of-Thought) 그래프(Graph) DAG(비순환 방향 그래프)
  • GoT는 기존 방법론의 한계를 넘어 새로운 사고 구조를 제공한다.
  • DAG(Directed Acyclic Graph) 기반의 사고 모델을 통해 다양한 경로를 융합하고 최적화할 수 있다.

3. 결론 및 시사점

GoT는 기존의 CoT와 ToT 방식의 한계를 극복하고, 보다 강력하고 유연한 문제 해결 능력을 제공하는 새로운 프레임워크다.

(1) GoT의 핵심 기여

비선형적 사고(Non-linear Reasoning)
정보 융합(Aggregation)으로 강력한 답 생성
반복적 개선(Refinement)을 통한 최적화된 결과 도출
백트래킹(Backtracking)으로 탐색 효율성 향상
DAG 기반 사고 모델로 더 확장된 문제 해결 가능

(2) GoT의 미래 연구 방향

  • 다양한 도메인에서 GoT 적용 연구: 의료, 법률, 과학 연구 등에서 활용 가능성 탐색.
  • 최적의 그래프 구조 연구: 특정 문제 유형에 맞는 최적의 그래프 형태를 찾아내는 연구 필요.
  • GoT와 강화 학습(RL) 결합: 그래프 구조를 학습 기반으로 최적화하는 접근 가능.

4. 마무리

GoT는 LLM의 문제 해결 능력을 극대화할 수 있는 강력한 프레임워크이다.
CoT와 ToT의 한계를 넘어 보다 인간의 사고 방식에 가까운 방식으로 추론을 수행할 수 있도록 설계되었으며, 정보 융합과 최적화를 통해 더 강력한 문제 해결 성능을 보여준다.
향후 다양한 분야에서 GoT를 적용함으로써 NLP, 문제 해결 AI, AGI(Artificial General Intelligence) 연구 등에서 중요한 기여를 할 가능성이 크다.

 

 

GoT는 기존의 CoT 및 ToT 방법론을 확장하여, LLM의 사고 과정을 그래프(DAG) 기반으로 모델링하는 방식이다.
GoT는 생각(Thought)의 생성, 개선(Refinement), 정보 융합(Aggregation), 그리고 판단(Scoring & Ranking) 과정을 포함하며, 이를 통해 최적의 문제 해결 방안을 탐색하고 개선한다.


1. GoT의 구성 요소

GoT는 다음과 같은 네 가지 요소로 구성된다.

  1. G (Graph of Thoughts, 사고의 그래프)
    • LLM이 생성한 생각(Thought)들의 집합을 그래프로 표현.
    • 노드(Node)는 개별적인 생각을 나타내며, 엣지(Edge)는 특정 생각 간의 관계를 의미.
  2. T (Transformations, 생각 변환)
    • 기존 생각을 기반으로 새로운 생각을 생성하거나 결합하는 변환 과정.
    • Aggregation (정보 융합), Refinement (개선), Generation (새로운 생각 생성) 등 포함.
  3. E (Evaluator, 평가 함수)
    • 각 생각의 품질을 평가하는 함수.
    • 예를 들어, 정렬 문제에서 얼마나 정확한지 점수화 가능.
  4. R (Ranking, 순위 결정 함수)
    • 여러 개의 생각 중 최적의 결과를 선택하는 함수.
    • 상위 k개의 생각을 선택하여 다음 단계로 진행 가능.

2. 나누거나 합칠 때의 판정 (Scoring & Ranking)

(1) 누가 판정을 내리는가?

GoT에서 생각을 나누거나 합치는 것은 평가 함수(Evaluator, E)와 순위 결정 함수(Ranking, R)에 의해 결정된다.

  • E(v, G, pθ): 개별적인 생각 v의 점수를 평가.
  • R(G, pθ, h): 상위 h개의 가장 좋은 생각을 선택.

즉, LLM이 직접 평가를 수행하거나, 경우에 따라 사용자가 평가 지표를 설정하여 자동으로 판단할 수 있다.


(2) 판정은 어떻게 진행되는가?

GoT의 판정 과정은 다음과 같이 이루어진다.

  1. 각 생각(Thought)에 대해 평가 점수를 부여
    • 예제: 정렬 문제라면, "정확하게 정렬된 숫자의 개수"를 점수로 사용할 수 있음.
    • 예제: 문서 요약이라면, "중복된 정보의 개수" 또는 "누락된 정보의 수" 등을 평가할 수 있음.
  2. 상위 k개의 생각을 선택
    • R(G, pθ, h) 함수를 이용해 가장 높은 점수를 받은 h개의 생각을 선택.
  3. 선택된 생각을 기반으로 Aggregation(정보 융합) 또는 Refinement(개선) 수행
    • 상위 h개의 생각을 결합하여 더 나은 답을 생성하거나,
    • Refinement(반복 개선)를 수행하여 개별적인 답을 점진적으로 향상.

3. 여러 개의 샘플을 어떻게 뽑는가?

(1) GoT의 다중 샘플링 전략

GoT는 다양한 경로에서 탐색을 수행하기 때문에, 여러 개의 생각을 병렬적으로 생성하고 평가할 수 있다.
새로운 생각을 생성하는 과정은 LLM이 다중 샘플링을 통해 여러 가지 버전을 생성하는 방식으로 진행된다.

(2) 다중 샘플링 과정

  1. 기존 생각 v를 기반으로 새로운 생각 v₁, v₂, ..., vₖ를 생성
    • V⁺ = {v₁, v₂, ..., vₖ} 형태로 새로운 생각들을 생성.
  2. 각 생각을 개별적으로 평가
    • E(v, G, pθ)를 통해 각 생각의 품질을 점수화.
  3. 최적의 샘플을 선택하여 다음 단계로 진행
    • R(G, pθ, h) 함수를 사용하여 상위 h개의 샘플을 선택.
    • 필요에 따라 Aggregation(정보 융합) 또는 Refinement(개선) 과정으로 연결.

예를 들어, LLM이 논리적 사고 문제를 해결할 때, 여러 개의 중간 단계 답변을 생성한 후,
가장 타당성이 높은 답변을 선택하여 이후 과정으로 연결할 수 있다.


4. Refinement (생각의 개선 과정)

(1) Refinement 과정이란?

Refinement는 기존의 생각을 더 나은 형태로 수정하는 과정이다.
이는 LLM이 생성한 결과를 반복적으로 최적화하여 점진적으로 개선하는 기능을 수행한다.

(2) Refinement 과정의 진행 방식

  1. 현재 생각 v의 평가 점수를 확인
    • E(v, G, pθ)를 이용하여 생각의 품질을 점검.
  2. 필요할 경우, 기존 생각을 수정하여 다시 생성
    • E⁺ = {(v, v)} 형태의 루프를 추가하여 생각을 반복적으로 개선.
    • 예제: LLM이 수학 문제를 푸는 과정에서, 계산 오류가 발생했을 경우 자동으로 수정하도록 유도.
  3. 새로운 버전의 생각을 다시 평가하고, 가장 높은 점수를 가진 생각을 선택
    • 이전 생각과 새로운 버전을 비교하여 더 나은 것을 유지.

(3) Refinement의 실제 적용 예제

예제 1: 논리 퍼즐 문제 해결

  1. LLM이 처음으로 생성한 답변이 오류를 포함할 가능성이 높음.
  2. Refinement를 수행하여, 기존 답변을 기반으로 추가적인 검증 및 수정 과정을 진행.
  3. 개선된 답변을 생성한 후, 점수를 비교하여 가장 높은 점수를 받은 버전을 최종 답으로 사용.

예제 2: 문서 요약 개선

  1. 초기에 생성된 요약이 중요 정보를 누락했거나, 중복된 문장이 포함될 수 있음.
  2. Refinement를 통해 중요 정보를 추가하거나, 중복 문장을 제거하여 더욱 효율적인 요약을 생성.

5. 최종 요약

과정 설명 예제
Scoring & Ranking 각 생각을 평가하여 점수를 부여하고, 최상의 답을 선택 정렬된 리스트에서 가장 정렬이 잘 된 버전을 선택
샘플링 (Multi-Generation) 여러 개의 생각을 생성하여 다양성을 확보 다양한 요약본을 생성하여 최상의 요약을 선택
Aggregation (정보 융합) 여러 개의 생각을 하나로 결합하여 새로운 생각을 생성 여러 개의 번역 문장을 병합하여 최상의 번역문 생성
Refinement (개선 과정) 기존 생각을 반복적으로 개선하여 최적화 수학 문제에서 중간 계산 오류를 수정

6. 결론

GoT는 기존 CoT 및 ToT 방식의 한계를 뛰어넘어, 보다 인간의 사고 방식에 가까운 문제 해결 방법론을 제공한다.
이러한 방법을 통해 최적의 답을 찾아가는 과정에서 정보 융합(Aggregation), 개선(Refinement), 다중 샘플링, 평가(Scoring) 및 선택(Ranking) 기능을 활용하여 보다 강력한 문제 해결 능력을 보여준다.

GoT는 앞으로 다양한 AI 연구(예: NLP, 로보틱스, 자율 학습 AI)에서 더 정교한 의사결정 및 문제 해결을 위한 강력한 프레임워크로 자리 잡을 수 있다.

 

728x90