Self-Discover: 모델이 스스로 추론 계획을 설계하게 하라
요약
Google DeepMind가 발표한 Self-Discover는 모델이 문제를 풀기 전 적절한 추론 전략을 먼저 선택하도록 하는 방법론입니다. 39개의 추론 모듈 중 과제에 필요한 것을 먼저 선별하여 실행함으로써, 기존의 일률적인 CoT 방식보다 효율적이고 정확한 추론을 가능하게 합니다.
핵심 포인트
- 모델이 문제 유형에 맞춰 스스로 추론 전략을 설계하는 '추론에 대한 추론' 방식 도입
- 39개의 범용 추론 모듈을 활용하여 과제별 최적의 사고 방식 선택
- 태스크 유형당 한 번만 전략을 수립하여 대량의 유사 문제 처리 시 비용 효율성 극대화
- 단일 추론 체인으로 해결하기 어려운 복잡하고 다양한 태스크에서 CoT 대비 우수한 성능
대부분의 추론 프롬프트(reasoning prompts)는 모든 문제에 대해 동일한 방식을 취합니다. 생각의 사슬 (Chain-of-thought) 방식은 질문에 "단계별로 생각해 보자"라는 문구를 덧붙이고 모델이 나머지를 알아서 해결하기를 기대합니다. 이는 보통 단순한 답변보다는 나은 결과를 보여주지만, 일률적인 방식입니다. 숫자를 세는 퍼즐, 일정 제약 조건, 그리고 증명 문제 모두에 정확히 똑같은 자극을 줍니다. 때로는 이것이 작업에 적합할 수도 있습니다. 하지만 그렇지 않은 경우가 많으며, 이로 인해 문장은 유려하지만 조용히 틀린 답변을 얻게 됩니다.
Google DeepMind (2024)에서 발표한 Self-Discover는 다른 아이디어에서 시작합니다. 문제를 해결하기 전에, 모델은 이 특정 작업에 대해 어떻게 추론할지를 먼저 파악해야 한다는 것입니다. 더 많은 추론을 하는 것이 아니라, 추론에 대해 추론(reasoning about the reasoning)하는 것입니다. 모델은 먼저 전략을 선택한 다음, 이를 실행합니다.
3단계
Self-Discover는 고정된 도구 상자와 함께 시작됩니다. 이는 사람들이 실제로 문제를 해결하는 방식에서 추출한 약 39개의 일반적인 "추론 모듈 (reasoning modules)"로 구성됩니다. "문제를 더 작은 부분으로 나누기", "핵심 가정 식별하기", "대안적인 관점 고려하기", "비판적 사고", "단계별 계획 세우기"와 같은 것들입니다. 이들은 의도적으로 작업 불가지론적 (task-agnostic)입니다. 각 모듈은 특정 도메인이 아닌 사고 방식을 설명합니다. 모델은 결코 새로운 모듈을 발명하지 않습니다. 모든 과정은 이들을 선택하고 배치함으로써 이루어집니다.
그 다음 세 가지 메타 단계 (meta-steps)가 실행됩니다:
- SELECT — 주어진 과제와 전체 모듈 풀(pool)을 바탕으로, 모델은 실제로 필요한 몇 가지 모듈만을 선택합니다. 39개 중 대부분은 어떤 문제에도 관련이 없기 때문에, 이는 주로 필터링 과정입니다. 비용 추정(cost-estimation) 과제의 경우, "하위 문제로 분해하기(break into subproblems)", "핵심 가정 식별하기(identify key assumptions)", "분석적 계산(analytical computation)", 그리고 "단계별 계획 수립(step-by-step plan)\
이 세 가지 메타 단계(meta-steps)는 비용이 많이 드는 부분이지만, 질문당 한 번이 아니라 태스크 유형(task type)당 한 번만 실행됩니다. 이 단계들은 정답이 아닌 구조(structure)를 생성합니다. 동일한 종류의 문제에 대한 이후의 모든 인스턴스는 저렴한 채우기(fill-in) 단계에 의해 해결됩니다. 비용이 많이 드는 수천 개의 질문도 발견(discovery) 비용은 단 한 번만 지불하면 되며, 그 후에는 해결을 위해 각각 한 번의 호출만 필요합니다.
이것이 모든 인스턴스마다 비용을 배가시키는 Self-consistency나 Tree-of-thoughts와 같은 방법론과의 실질적인 차이점입니다. Self-Discover는 대신 고정되고 재사용 가능한 투자를 초기에 집중(front-loads)시킵니다.
언제 활용해야 하는가
공짜는 아니기 때문에, 단 한 번의 일회성 질문을 위해 사용하는 것은 과잉 대응(overkill)입니다. 그런 경우에는 Plan-and-Solve 방식이 단 한 번의 호출로 대부분의 이점을 제공합니다. Self-Discover는 단일 추론 체인(chain)이 모든 것을 충족할 수 없는, 다양하고 추론 집약적인 태스크의 인스턴스가 많을 때 효과를 발휘합니다. BIG-Bench Hard와 같은 혼합 벤치마크가 정확히 그러한 상황이며, Self-Discover는 검색 기반 방법론(search-based methods)의 극히 일부에 불과한 추론 비용으로 CoT(Chain-of-Thought)를 큰 차이로 압도합니다.
한 가지 주의할 점은, 구조가 재사용되기 때문에 그 결함 또한 체계적(systematic)이라는 것입니다. 잘못된 SELECT나 부주의한 ADAPT는 모든 인스턴스를 동일한 오답으로 유도합니다. 따라서 발견된 구조를 신뢰하기 전에 한 번 눈여겨보고, 홀드아웃 예시(held-out examples)를 통해 검증하십시오. 발견(Discovery)은 한 번 검토한 후 의존하는 것입니다.
저는 대화형 워크스루(interactive walkthrough)를 제작했습니다. 세 단계가 구조를 구성하는 과정과, 그 구조가 실제 산술 연산을 실행하는 과정을 함정에 빠지는 일반적인 CoT와 나란히 비교하며 시청해 보세요:
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기