소개
대규모 언어 모델을 이용한 누적 추론이란 무엇일까? LLM에 누적 추론이 왜 필요할까? LLM을 이용한 누적 추론은 어떻게 생겼을까? LLM이 누적 추론을 잘할 수 있을까? 이 블로그에서는 Yifan Zhang, Jingqin Yang, Yang Yuan, Andrew Chi-Chih Yao의 논문 “Cumulative Reasoning with Large Language Models”를 바탕으로 이 질문들을 하나씩 간단하고 명확하게 다뤄보겠습니다.
누적 추론이란?
누적 추론 프레임워크의 핵심 아이디어는 복잡한 추론 문제를 더 작은 단계로 나누고, 각 중간 단계를 축적하고 검증함으로써 최종 해결책을 반복적으로 구축하는 것입니다.
인간의 인지 과정에서 영감을 받은 누적 추론은 잠재적 추론 단계를 제안하는 “제안자”, 맥락에 대해 제안을 검증하는 “검증자”, 그리고 축적된 포인트를 최종 해결책으로 종합하는 “보고자”와 같은 특화된 역할을 도입합니다.
누적 추론은 검증된 중간 명제들을 동적으로 저장하고 구성하여 방향성 비순환 그래프(DAG)를 형성할 수 있게 합니다.

구체적으로, 누적 추론 프레임워크에서:
- 제안자는 현재 맥락을 기반으로 잠재적 추론 단계를 제안하며, 이는 DAG의 새 노드로 표현됩니다.
- 검증자는 제안자의 제안이 올바른지 평가하고 유효한 단계를 진화하는 해결책 맥락에 통합합니다. 이는 DAG에 새 방향성 간선을 추가하는 것과 같습니다.
- 보고자는 현재 상태를 기반으로 축적된 맥락이 최종 해결책에 도달했는지 판단합니다. 그렇다면 결과를 출력합니다.
따라서 전체 추론 과정은 동적으로 구축된 DAG로 표현될 수 있으며, 여기서 노드는 중간 추론 단계이고 방향성 간선은 새로운 추론 단계가 이전 단계에서 어떻게 파생되는지를 포착합니다. DAG는 추론 과정이 분기되고 재수렴할 수 있게 하며, 이전 추론 결과를 재방문하고 재사용할 수 있게 하여 복잡한 문제를 해결할 때 인간의 유연한 다중 경로 사고 과정을 더 잘 반영합니다.
LLM에 누적 추론이 왜 필요한가?
최근 대규모 언어 모델(LLM)이 다양한 응용 분야에서 발전을 이루었음에도 불구하고, 복잡한 다단계 추론 문제를 해결하는 능력은 여전히 제한적입니다. Chain-of-Thought(CoT) 및 Tree-of-Thought(ToT) 프롬프팅과 같은 기존 방법은 LLM을 보다 구조화된 단계별 추론 과정으로 안내하려고 시도하지만, 추론 과정에서 생성된 중간 결과를 저장하고 활용하는 동적 메커니즘이 부족합니다. 이러한 이전 명제를 효과적으로 구축하고 구성하지 못하는 점은 여러 단계에 걸친 미묘한 추론이 필요한 복잡하고 다면적인 문제에서 성능을 제한합니다.
인간의 인지 과정에서 영감을 받은 누적 추론은 잠재적 추론 단계를 제안하는 “제안자”, 맥락에 대해 제안을 검증하는 “검증자”, 축적된 포인트를 최종 해결책으로 종합하는 “보고자”와 같은 특화된 역할을 도입합니다. 제안, 검증, 보고의 반복적 주기로 분해함으로써 LLM이 복잡한 작업을 관리 가능한 구성 요소로 나눌 수 있게 합니다.
결정적으로, 누적 추론은 검증된 중간 명제들을 동적으로 저장하고 구성하여 단순한 선형 체인이나 트리 구조가 아닌 방향성 비순환 그래프(DAG)를 형성할 수 있게 합니다. 이전 검증의 더 넓은 맥락을 활용하는 이러한 구조적 유연성은 인간이 복잡한 다단계 문제를 해결하기 위해 사용하는 미묘하고 비선형적인 추론을 반영합니다. 따라서 누적 추론은 대규모 언어 모델의 더 강력하고 다재다능한 추론 능력을 열어줍니다.
LLM을 이용한 누적 추론은 어떻게 생겼을까?
언어 모델 역할 구성하기
누적 추론 프레임워크에 따라 저자들은 세 가지 언어 모델 역할을 구성했습니다:
- 제안자: 현재 맥락을 기반으로 잠재적 추론 단계를 제안합니다.
- 검증자: 제안자의 제안이 올바른지 평가하고 유효한 단계를 맥락에 통합합니다.
- 보고자: 축적된 맥락이 확정적인 해결책으로 이어지는지 판단합니다.
이 세 가지 역할은 동일한 대규모 언어 모델을 사용할 수 있으며, 특정 프롬프트를 통해 다른 역할을 할당합니다.

기준선 설정하기
누적 추론의 효과를 평가하기 위해 저자들은 다음과 같은 기준선을 설정했습니다:
- 직접 입출력 프롬프팅(Direct)
- Chain-of-Thought 프롬프팅(CoT)
- 자체 검증 Chain-of-Thought 프롬프팅(CoT-SC)
- Tree-of-Thought 프롬프팅(ToT)
실험 절차 따르기
저자들은 GPT-3.5, GPT-4, LLaMA 모델을 포함한 다양한 대규모 언어 모델을 테스트했습니다. 실험 절차는 다음과 같습니다:
- 데이터셋의 각 문제에 대해 문제를 제안자에게 입력합니다.
- 제안자는 일련의 추론 제안을 중간 단계로 생성합니다.
- 중간 단계를 검증자에게 전달하여 각 단계를 평가합니다.
- 유효한 단계는 맥락에 통합되고, 유효하지 않은 단계는 폐기됩니다.
- 보고자가 최종 해결책을 제시할 수 있다고 판단할 때까지 위 과정을 반복합니다.
- 일부 실험에서는 다수결 투표나 다른 전략을 사용하여 견고성을 향상시킵니다.
평가 데이터셋 선택하기
저자들은 다양한 유형의 복잡한 추론 작업에 걸쳐 여러 데이터셋을 평가용으로 선택했습니다:
- 논리 추론 작업: FOLIO wiki 데이터셋, AutoTNLI 데이터셋
- Game of 24 수학 퍼즐
- 수학 문제 해결: MATH 데이터셋
LLM이 누적 추론을 잘할 수 있을까?
간단한 대답은: 그렇다! 실험 결과는 CR 프레임워크가 평가된 모든 작업에서 기준 방법들을 크게 능가함을 보여줍니다.
전체 성능
FOLIO wiki 데이터셋에서 정확도가 85.02%에서 98.04%로 향상되었습니다. AutoTNLI 데이터셋에서는 Chain-of-Thought에 비해 최대 9.3%의 상대적 개선을 보였습니다. Game of 24에서는 98%의 정확도를 달성하여 이전 최고 방법보다 24% 향상되었습니다. MATH 데이터셋에서 CR은 4.2%의 절대적 개선과 가장 어려운 수준 5 문제에서 43%의 상대적 이득을 얻었습니다. 특히, CR을 코드 환경과 통합함으로써 MATH 데이터셋에서 72.2%의 정확도를 달성하여 이전 최고보다 38.8% 상대적으로 능가했습니다.

Chain of Thought(CoT) 및 Tree of Thought(ToT)에 대한 우월성
누적 추론(CR)은 다양한 작업에 걸친 일련의 실증적 결과를 통해 Chain of Thought(CoT) 및 Tree of Thought(ToT)에 대한 우월성을 입증합니다. FOLIO wiki 및 AutoTNLI와 같은 데이터셋을 사용한 논리 추론 작업에서 CR은 주목할 만한 성능을 보여주었으며, 선별된 FOLIO 데이터셋에서 98.04%의 정확도를 달성하여 CoT-SC의 96.09%에서 현저히 도약했습니다. 이러한 발전은 CR이 중간 결과를 동적으로 저장하고 활용하여 더 넓은 맥락의 검증된 명제를 형성하는 방향성 비순환 그래프(DAG)를 형성하는 능력에 기인합니다.
수학 퍼즐인 Game of 24에서 CR은 98%의 정확도로 탁월했으며, ToT보다 24% 향상되었고 방문한 상태의 4분의 1만 사용하여 효율성과 문제 해결 능력을 강조했습니다.
또한 MATH 데이터셋에서 CR은 이전 방법보다 4.2% 증가한 새로운 기준을 세웠을 뿐만 아니라 가장 어려운 문제에서 43%의 상대적 개선을 보였습니다. CR을 Python 코드 환경과 통합함으로써 72.2%의 놀라운 정확도를 달성하여 PoT 및 PAL과 같은 방법을 38.8% 능가했습니다. 이러한 결과는 CoT 및 ToT에 비해 CR의 적응성, 견고성 및 향상된 추론 능력을 종합적으로 보여줍니다.

LLM을 이용한 누적 추론의 미래 방향은?
기호 시스템과의 통합
이 논문은 CR을 Python 코드 환경과 결합하여 LLM의 계산 및 논리 추론 능력을 활용할 가능성에 대해 논의합니다. 향후 연구는 기호 시스템, 지식 그래프 또는 형식적 정리 증명기와의 더 깊은 통합을 탐구하여 추론 정확성과 복잡성을 더욱 향상시킬 수 있습니다.
일반화 능력 향상
CR이 특정 분야에서 성공을 보였지만, 더 넓은 범위의 작업과 영역으로 일반화 능력을 확장하는 것이 중요할 것입니다. 이는 다양한 분야에서 다양한 유형의 추론 및 문제 해결을 처리하도록 CR을 조정하는 것을 포함할 수 있습니다.
견고성 및 오류 허용성 증가
이 논문은 CR의 오류 허용 특성을 강조합니다. 향후 연구는 특히 모호하거나 잡음이 많은 데이터를 처리할 때 CR을 더욱 견고하게 만들고, 잘못된 중간 단계에서 복구하는 능력을 향상시키는 데 초점을 맞출 수 있습니다.
벤치마킹 및 표준화
누적 추론 작업을 위한 표준화된 벤치마크 및 평가 지표를 개발하면 진행 상황을 체계적으로 평가하고 다양한 접근 방식을 비교하는 데 도움이 될 수 있습니다.
대규모 언어 모델로 누적 추론을 구현하려면 어떻게 해야 하나요?
저자가 제공한 대부분의 코드는 GPT 3.5 및 4 모델을 위해 OpenAI API에 연결해야 하며, 이것이 첫 번째 단계여야 합니다.
다음으로, 수학 문제를 풀든, Game 24를 플레이하든, 누적 추론 실험을 재현하든, 이 Github 페이지에서 제공된 특정 Python 파일을 실행하기만 하면 됩니다: https://github.com/iiis-ai/cumulative-reasoning.
또한, 논문에서 저자들이 한 것처럼 LLaMA 모델이나 다른 LLM으로 누적 추론을 테스트하려면 Novita AI LLM API를 사용하여 여러 LLM에 액세스할 수 있습니다.

결론
결론적으로, 이 블로그 게시물은 LLM의 복잡한 문제 해결 능력을 크게 향상시키는 새로운 접근 방식인 LLM을 이용한 누적 추론에 대한 포괄적인 개요를 제공했습니다. 복잡한 문제를 더 작은 단계로 분해하고 제안, 검증, 보고의 과정을 통해 반복적으로 해결책을 구축함으로써 누적 추론은 인간의 인지 전략을 반영합니다.
다양한 데이터셋의 결과는 인상적이었으며, 특히 누적 추론이 코드 환경과 통합되었을 때 정확도에서 상당한 향상을 보였습니다. 또한 결과는 기존 방법인 Chain-of-Thought 및 Tree-of-Thought보다 누적 추론의 우월성을 입증했습니다.
전반적으로, LLM을 이용한 누적 추론의 미래 방향은 LLM을 AI 추론의 새로운 차원으로 끌어올려 더 정교하고 인간과 유사한 문제 해결 능력으로 이어질 잠재력을 지니고 있습니다.
참고문헌
Zhang, Y., Yang, J., Yuan, Y., & Yao, A. C.-C. (2024). Cumulative Reasoning with Large Language Models. IIIS, Tsinghua University. https://arxiv.org/pdf/2308.04371
Novita AI는 무한한 창의성을 위한 원스톱 플랫폼으로, 100개 이상의 API에 액세스할 수 있습니다. 이미지 생성부터 언어 처리, 오디오 향상, 비디오 조작까지, 저렴한 종량제 요금제로 GPU 유지 관리의 번거로움 없이 자체 제품을 구축할 수 있습니다. 지금 무료로 사용해보세요.
