자기 일관성(Self-Consistency): 다수결 샘플링을 통한 생각의 사슬 정확도 향상
LOG-009에서는 연산을 Python 인터프리터에 위임하여 모델이 직접 계산할 필요가 없게 만드는 PAL에 대해 다루었습니다. 자기 일관성(Self-consistency)은 이와는 다른 측면의 문제를 해결합니다. 모델이 대부분의 경우 올바르게 추론하지만 항상 그런 것은 아니라면 어떻게 해야 할까요? 답은 아키텍처가 아닌 통계적인 방식에 있었으며, 이는 당황스러울 정도로 효과적임이 입증되었습니다.
논문 소개
Xuezhi Wang, Jason Wei, Dale Schuurmans, Quoc Le, Ed Chi, Sharan Narang, Aakanksha Chowdhery, Denny Zhou가 발표한 "Self-Consistency Improves Chain of Thought Reasoning in Language Models" (ICLR 2023, arXiv:2203.11171)는 단일 탐욕적 생각의 사슬(Greedy Chain-of-Thought) 경로를 다수의 샘플링된 경로에 대한 다수결로 대체하는 디코딩 전략을 소개합니다. 이 방식의 직관은 명확합니다. 어려운 추론 문제에는 대개 하나의 정답이 있지만, 그에 이르는 타당한 경로는 여러 개일 수 있습니다. 반면 오답은 특정한 오류로 인해 발생할 가능성이 높으며, 이러한 오류들이 모두 동일한 결과로 수렴할 가능성은 낮습니다.
이 방법은 즉시 적용 가능합니다. 기존에 사용하던 CoT 프롬프트를 그대로 사용하되, 0이 아닌 온도(temperature) 설정에서 N개의 결과를 샘플링하고, 각각에서 최종 답안을 추출하여 가장 많이 나온 답을 반환하면 됩니다. 미세 조정도, 추가 모델도, 인간의 추가 레이블링도 필요하지 않습니다.
주요 개념
- 샘플 크기 및 온도 (Temperature): 논문에서는 문제당 0.7의 온도에서 40개의 추론 경로를 사용합니다. 이는 정교하게 튜닝된 마법의 숫자가 아닙니다. 절제 실험(Ablation study)에 따르면 성능 향상은 대략 20~30개의 샘플 이후 완만해지므로 40개는 보수적인 수치입니다.
- 표준 CoT 대비 주요 성과: GSM8K +17.9%, SVAMP +11.0%, AQuA +12.2%, StrategyQA +6.4%, ARC-challenge +3.9% 등, 동일한 모델과 프롬프트를 사용했음에도 모든 지표에서 절대적인 정확도 향상을 보였습니다.
- 모델별 GSM8K 결과: text-davinci-002 (GPT-3)에서 자기 일관성은 정확도를 78.7%에서 86.5%로 끌어올렸습니다. Codex에서는 74.5%에서 82.3%로 상승했습니다. 이러한 향상은 모델군 전반에 걸쳐 일관되게 나타납니다.
- 추가 학습 비용 없음: 모든 과정은 추론 단계에서 발생합니다. 온도 > 0으로 샘플링이 가능한 모든 블랙박스 API에서 작동합니다.
- 추출 가능한 정답에 대한 다수결: 정답이 숫자나 선택지처럼 이산적일 때 집계 단계가 깔끔하게 작동합니다. 자유 형식의 생성 작업에 대해서는 '가장 일관된' 답변을 정의하는 방법이 덜 구체적인데, 이는 저자들도 인정한 한계점입니다.
유효한 점과 한계점
실증적인 성능 향상은 실제적이며 여러 차례 재현되었고, 이 방법은 진정으로 유용합니다. 하지만 몇 가지 구조적 약점은 면밀히 살펴볼 필요가 있습니다.
첫째, 비용이 샘플 수에 비례하여 선형적으로 증가합니다. 추론 시 40개의 경로를 샘플링하는 것은 단일 경로를 사용할 때보다 토큰 예산이 40배 더 듭니다. 하룻밤 사이 수백 건의 트랜잭션을 처리하는 에이전트와 같이 지연 시간과 API 비용이 중요한 작업에서는 이는 무시할 수 없는 수준입니다. 후속 연구(Early-Stopping Self-Consistency, ICLR 2024)에서는 투표가 신뢰 임계값에 도달하는 즉시 중단함으로써 GSM8K에서 정확도 손실 없이 샘플 수를 80%까지 줄일 수 있음을 보여주었습니다. 원본 논문에서 비용 문제를 전혀 언급하지 않은 것은 다소 아쉬운 부분입니다.
둘째, 모델이 체계적으로 틀릴 경우 다수결 가정이 무너집니다. 모델이 40개의 경로 전체에서 특정 통화 변환을 일관되게 잘못 읽거나 세금 규칙을 오용한다면, 오답이 다수결로 채택됩니다. 자기 일관성은 올바른 답이 아니라 모델의 신뢰도 분포 내에서 가장 흔한 오류를 증폭시킬 뿐입니다. 이것이 핵심적인 인식론적 간극입니다. 이 방법은 모델의 신념 분포 내에서 *정밀도(precision)*를 높이지만, 그 분포 자체가 틀린 답을 중심으로 형성되어 있을 때 *교정(calibration)*을 하지는 못합니다.
셋째, Wang & Wang (2025, arXiv:2503.16974)은 50번의 독립적인 실행을 통해 금융 및 회계 작업에서의 LLM 일관성을 직접 연구했습니다. 그들은 이진 분류 및 감성 분석은 단일 샘플로도 거의 완벽하게 재현 가능한 반면, 복잡한 작업(예측, 생성)은 상당한 변동성을 보인다는 것을 발견했습니다. 실질적인 발견에 따르면, 단 3~5번의 실행을 집계하는 것만으로도 복잡한 작업의 일관성을 획기적으로 개선할 수 있었습니다. 이는 자기 일관성과 동일한 아이디어를 훨씬 저렴하게 구현한 버전이라 할 수 있습니다.
금융 AI에서의 중요성
세금 계산, 외환 조정 원가 기준(FX-adjusted cost basis), 감가상각 일정, 송장 대조와 같이 다단계 산술 연산이 포함된 Beancount 원장 작업은 단일 탐욕적 디코딩은 신뢰할 수 없지만 정답은 고유하고 검증 가능한 전형적인 작업들입니다. 자기 일관성은 출력을 검증할 수 있는 모든 금융 에이전트 작업(예: 재무상태표의 차대변이 맞는지 확인)에서 기본적으로 적용해야 할 저비용 개입 방식입니다.
더 흥미로운 점은 아키텍처 측면의 시사점입니다. 자기 일관성은 추론을 투표 앙상블로 바꿉니다. 분개 항목을 원장에 기록하는 에이전트와 같이 쓰기 작업의 안전성이 중요한 경우, 다수결 신뢰도를 조건으로 걸 수 있습니다. 예를 들어 40개의 경로 중 35개가 일치할 때만 기록을 확정하는 식입니다. 의견 불일치는 에이전트가 직접 기록하는 대신 인간에게 에스컬레이션해야 한다는 신호가 됩니다. 이는 엔지니어링 복잡도를 높이지 않으면서도 추론 예산만으로 구현 가능한 구체적인 안전 장치(safety gate)입니다.
모델이 특정 지역의 규정이나 세법 세부 사항을 환각(hallucination)하는 것으로 알려진 경우, 체계적 편향으로 인한 실패 모드는 특히 중요합니다. 이러한 경우에는 계산 자체를 완전히 위임하는 PAL(LOG-009)이 적절한 해결책입니다. 자기 일관성과 PAL은 상호 보완적입니다. PAL은 산술적 정확성을 처리하고, 자기 일관성은 모호성과 추론의 신뢰성을 처리합니다.
추천 읽을거리
- Tree of Thoughts: Deliberate Problem Solving with Large Language Models (Yao et al., 2023, arXiv:2305.10601) — 자기 일관성을 경로에 대한 투표에서 경로에 대한 탐색으로 확장합니다. 이는 추론 공간이 병렬적이 아니라 분기형일 때 중요합니다.
- Escape Sky-high Cost: Early-stopping Self-Consistency for Multi-step Reasoning (Lei et al., ICLR 2024) — 비용 문제에 대한 해결책으로, 정확도를 유지하면서 GSM8K에서 샘플링을 80% 이상 줄입니다.
- Universal Self-Consistency for Large Language Models (Chen et al., arXiv:2311.17311) — 원본 논문이 피해 갔던 집계 문제를 LLM 판정관(judge)을 사용해 자유 형식 생성까지 다수결 원칙을 확장합니다.
