Self-Consistency: 다중 추론 경로의 앙상블 디코딩

Google · 2022-03-21 · Reasoning Technique · 오픈

개요

Self-Consistency는 Chain-of-Thought(CoT) 프롬프팅의 한계인 단일 추론 경로의 불안정성을 극복하기 위해 제안된 디코딩 전략이다. Wang et al.(Google, 2022)이 논문 “Self-Consistency Improves Chain of Thought Reasoning in Language Models”에서 발표한 이 방법은, 동일한 문제에 대해 다양한 CoT 추론 경로를 다수 샘플링한 뒤, 최종 답안에 대해 다수결(majority vote)을 적용하여 가장 일관성 있는 답을 선택한다.

Self-Consistency의 핵심 직관은 단순하지만 강력하다: “복잡한 추론 문제에는 여러 풀이 방법이 있을 수 있으며, 서로 다른 방법으로 같은 결론에 도달한다면 그 답이 옳을 가능성이 높다.” 이는 앙상블 학습(ensemble learning)의 원리를 추론(inference) 시점의 디코딩 전략으로 변환한 것이다. 탐욕적 디코딩(greedy decoding)이 하나의 “가장 그럴듯한” 경로만 선택하는 반면, Self-Consistency는 다양한 경로를 탐색하여 더 로버스트한 답을 도출한다.

이 접근의 이론적 배경은 통계학의 배깅(bagging)과 유사하다. 개별 추론 경로가 가질 수 있는 오류를 독립적 샘플링과 다수결로 상쇄하는 것이다. 수학적으로, 각 경로의 오류 확률이 일 때, 개 경로의 다수결 오류 확률은 이 증가함에 따라 지수적으로 감소한다. 이 원리 덕분에 GSM8K에서 CoT 단독 대비 최대 17.5%p의 성능 향상이 가능하며, 추가 학습이나 모델 수정 없이 순수 추론 시점의 기법만으로 이러한 향상을 달성한다는 점이 특히 실용적이다.

아키텍처 상세

Self-Consistency의 메커니즘은 세 단계로 구성된다.

1단계: 다중 추론 경로 샘플링

동일한 few-shot CoT 프롬프트를 사용하되, 탐욕적 디코딩(temperature=0) 대신 높은 temperature(일반적으로 0.5~0.8)로 개의 독립적인 추론 경로를 생성한다. temperature가 높을수록 경로의 다양성이 증가하지만, 너무 높으면 무의미한 추론이 생성되므로 적절한 균형이 필요하다.

질문: "가게에 사과 23개, 오렌지 14개가 있다.
       사과를 20개 팔았다. 과일은 총 몇 개?"

경로 1 (T=0.7): "처음 23 + 14 = 37개.
               20개 팔면 37 - 20 = 17개" → 17
경로 2 (T=0.7): "사과 23 - 20 = 3개 남음.
               3 + 14 = 17개" → 17
경로 3 (T=0.7): "총 37개에서 사과 20개 빼면 17개" → 17
경로 4 (T=0.7): "오렌지 14개 + 남은 사과 3개 = 17개" → 17
경로 5 (T=0.7): "23 - 20 = 3, 그런데 오렌지도 팔았으니..."
               → 3 (오류 경로)

이 예시에서 5개 중 4개가 17, 1개가 3이므로 다수결로 17이 선택된다. 오류 경로가 섞여도 다수결로 보정되는 것이 핵심이다.

2단계: 최종 답안 추출

각 추론 경로에서 최종 답안만 추출한다. 추론 과정(reasoning path)의 차이는 무시하고 결론(final answer)만 비교한다. 이 단계에서 답안 파싱의 정확도가 전체 성능에 직접적 영향을 미치므로, “The answer is” 같은 표준화된 답안 마커를 사용한다.

3단계: 다수결(Majority Vote)

추출된 답안 집합에서 가장 빈번한 답을 최종 정답으로 선택한다.

여기서 번째 추론 경로에서 추출된 답안이고, 는 다수결로 선택된 최종 답, 은 지시 함수(indicator function)다.

더 정교한 변형으로 가중 다수결(weighted majority vote)도 가능하다:

여기서 는 각 추론 경로 의 생성 확률로, 더 높은 확률의 경로에 더 높은 가중치를 부여한다. 실험적으로 가중 다수결이 단순 다수결보다 약간 더 높은 성능을 보인다.

오류 보정의 수학적 분석

각 독립 경로의 정답 확률이 일 때, 개 경로의 다수결 정답 확률은 이항 분포의 누적 확률로 표현된다:

, 일 때 다수결 정답 확률은 99% 이상으로 수렴한다. 이것이 Self-Consistency가 효과적인 수학적 근거다.

비용-성능 트레이드오프

샘플 수 에 대해 로그-선형(log-linear) 성능 향상이 관찰된다:

즉, 을 2배로 늘리면 일정한 비율의 성능 향상을 얻는다. 그러나 비용은 에 선형으로 증가하므로, 실용적으로는 이 최적 범위다.

샘플 수 GSM8K 정확도 (PaLM 540B)비용 배수
1 (greedy)56.9%1x
566.8%5x
1070.2%10x
2072.8%20x
4074.4%40x

핵심 혁신

  1. 앙상블 효과의 추론 시점 적용: 모델 앙상블(여러 모델 학습)이 아닌, 단일 모델의 추론 시점에서 앙상블 효과를 달성하는 경량 접근법이다. 추가 학습 비용 없이 성능을 향상시킨다.

  2. 다양성을 통한 로버스트성: temperature 기반 샘플링으로 다양한 추론 경로를 생성함으로써, 하나의 경로에서 발생하는 오류를 다른 경로들이 보정하는 자기 교정 메커니즘을 실현한다. 이는 개별 모델의 편향(bias)을 분산(variance)으로 상쇄하는 원리다.

  3. 학습 불필요(Training-Free): 파인튜닝 없이 추론 시점에만 적용되므로, 어떤 LLM에도 즉시 적용 가능하다. 기존 CoT 프롬프트를 그대로 사용하며, 디코딩 전략만 변경한다.

  4. 모델 불확실성의 간접 측정: 다수결 결과의 일치도는 모델의 확신도(confidence)를 반영한다. 다수가 동의하는 답은 높은 확신을, 분산된 답은 모델의 불확실성을 나타내며, 이는 답변의 신뢰도 지표로 활용할 수 있다.

벤치마크/성능

벤치마크모델CoT (greedy)Self-Consistency (=40)향상
GSM8KPaLM 540B56.9%74.4%+17.5%p
GSM8KCodex65.6%78.0%+12.4%p
AQuAPaLM 540B35.8%48.0%+12.2%p
SVAMPPaLM 540B79.0%86.6%+7.6%p
ARC-cPaLM 540B85.2%88.7%+3.5%p
StrategyQAPaLM 540B75.6%81.6%+6.0%p

GSM8K에서의 17.5%p 향상이 가장 인상적이다. 기본 정확도가 낮은 벤치마크(AQuA 35.8% 48.0%)에서 절대적 향상폭이 크고, 기본 정확도가 높은 벤치마크(ARC-c 85.2% 88.7%)에서는 향상 여지가 작아 상대적으로 작은 향상을 보인다. 모든 벤치마크에서 일관되게 성능이 향상된다는 점이 중요하다.

학습

Self-Consistency는 파인튜닝이 전혀 필요 없으며, 추론 시점에만 적용되는 순수 디코딩 전략이다. PaLM-540B, Codex, GPT-3, UL2-20B 등 다양한 모델에서 실험되었으며, 모든 모델에서 일관된 성능 향상을 보였다. temperature를 0.50.8로 설정하고, 샘플링 횟수 을 1040으로 조정한다. 이 클수록 성능이 향상되지만 비용도 선형으로 증가하므로, 애플리케이션의 정확도 요구사항과 비용 제약에 따라 적절한 을 선택한다. 배치 처리(batch inference)로 병렬 샘플링하면 지연 시간(latency) 증가를 최소화할 수 있다.

관련 모델

Self-Consistency는 CoT에서 발전하여, 단일 탐욕적 디코딩의 한계를 다중 샘플링과 다수결로 극복한 기법이다. 이후 Tree of Thoughts(트리 탐색), Best-of-N(보상 모델 기반 선택), Reflexion(순차적 반성)의 이론적 기반이 되었다. 특히 “추론 시점에서 더 많은 계산을 투입하면 성능이 향상된다”는 inference-time compute scaling의 초기 증거로, OpenAI의 o1 시리즈가 채택한 내부 추론 메커니즘과 개념적으로 연결된다.

참고 자료

  • Wang et al., “Self-Consistency Improves Chain of Thought Reasoning in Language Models”, ICLR 2023, arXiv:2203.11171

관련 문서