Abstract:
- 이 논문은 기존의 자기 일관성(Self-Consistency) 개념을 확장하여, 대규모 언어 모델(LLM)이 다양한 유형의 생성 작업에서도 더 잘 작동할 수 있도록 하는 방법을 소개하는 논문임.
- 자기 일관성 (Self-Consistency) 기법은 CoT 기법을 활용해서 언어 모델이 문제를 해결할 때, 한 번만 답을 생성하는 것이 아니라 여러 가지 사고 과정(풀이 경로)을 통해 다양한 답변을 생성하도록 유도하도록 하는 기법임.
- 이후 여러 답변 중 가장 “일관성 있는” 답변을 선택하여 최종 답으로 삼는 것.
- 이 방법은 특히 수학 문제 풀이와 같은 구조화된 작업에서 성능을 크게 향상시켰음.
- 기존의 Self-Consistency 기법은 정답 추출 (answer extraction) 과정을 거쳐야 했음. 이 과정은 여러 답변을 비교하여 최종 정답을 추출하는 방식인데, 이는 답변이 명확한 구조(예: 숫자, 정해진 선택지)가 있는 경우에만 효과적임. 즉 자유 형식(free-form) 형식의 답변인 경우에는 적용하기가 어렵다는 문제점도 있다.
- Universal Self-Consistency (USC) 는 이러한 한계를 극복하기 위해서 제안된 새로운 방법임. USC는 언어 모델 자체의 능력을 활용하여 여러 후보 답변 중 가장 “일관성 있는” 답변을 선택하는 기법이다. 즉 외부적인 방법에 의존하지 않고, 모델 내부에서 가장 적합한 답변을 스스로 평가하고 선택하는 기법임.
- USC는 다양한 작업에서 평가되었으며, 다음과 같은 장점을 보였다고 함:
- 자유 형식 답변(Open-Ended Tasks):
- 기존의 자기 일관성 방식이 적용되지 않는 작업(예: 서술형 질문 답변, 긴 텍스트 요약)에서도 USC는 여러 답변 샘플을 효과적으로 활용해 성능을 향상 시켰음.
- 수학적 추론(Mathematical Reasoning):
- USC는 기존 자기 일관성 방식과 유사한 성능을 보였으며, 답변 형식이 서로 다르더라도 일관성을 유지할 수 있었음.
- 코드 생성(Code Generation):
- 보통 코드 생성 작업에서는 생성된 코드를 실행해 보고 결과를 평가(Execution-based Voting) 함.
- USC는 코드를 실행하지 않고도 실행 결과를 활용하는 기존 방법과 비슷한 성능을 달성했다고 함.
- 자유 형식 답변(Open-Ended Tasks):
Introduction:
- 언어 모델이 생성하는 응답은 길어질수록 오류가 발생할 가능성이 높아진다고 함.
- 이를 개선하기 위해서 다수의 응답을 샘플링한 후 특정 기준에 따라 최종 출력을 선택하는 접근법들이 연구되고 있음.
- 이를 위해서 개발된 Self-Consistency 매커니즘은 여러 응답을 생성하고, 가장 공통적으로 일치하는 응답을 최종 답변으로 선택하는 방식임.
- 이 방법은 특히 CoT 기법과 결합해서 수학 문제와 같은 작업에서 성능을 크게 향상시킴
- 하지만 다음과 같은 한계점이 존재헀다고 한다:
- 최종 답변이 “단일 숫자”와 같은 명확한 형태로 집계 가능한 작업에서만 적용 가능.
- 자유 형식(free-form)의 응답이 필요한 작업(예: 서술형 질문, 긴 요약 등)에는 적합하지 않음.
- Universal Self-Consistency (USC) 는 이런 한계점을 극복하기 위해서 설계됨.
- 여러 후보 응답이 주어지면, USC는 LLM을 호출하여 가장 일관성 있는 응답을 선택한다. 이를 통해 복잡한 정답 추출 프로세스를 설계할 필요 없이, 자유 형식의 작업에도 적용할 수 있음.
- USC는 다양한 작업에서 평가되었으며, 다음과 같은 성과를 보였다고 함:
- GSM8K, MATH 등 벤치마크에서 USC는 기존 자기 일관성과 비슷한 성능을 보임.
- 텍스트-SQL 변환 및 Python 코드 생성 작업에서 USC는 실행 기반 일관성(Execution-Based Consistency)과 유사한 성능을 보임. (그러나 USC는 코드를 실행하지 않고도 성능을 유지하므로 더 효율적)
- 자기 일관성이 적용되지 않는 작업(예: 서술형 질문, 긴 텍스트 요약)에서도 USC는 성능 향상을 보임.
- USC는 기존 자기 일관성과 비교했을 때, 결과가 높은 수준에서 일치하다는게 특징임. 후보 응답의 순서에 대해 민감하지 않은 특징을 보인다고 함. (누가 더 나은지 평가하는게 아니라 일관성을 평가하므로)
UNIVERSAL SELF-CONSISTENCY (USC):

- 작동 방식은 다음과 같다:
- a) 여러 응답 샘플링:
- 언어 모델을 사용해 하나의 질문에 대해 여러 개의 응답을 샘플링함.
- b) 응답 합성 및 프롬프트 구성:
- 생성된 모든 응답을 하나의 텍스트로 연결
- “가장 일관성 있는 응답을 선택하라”는 지시(instruction)를 포함하는 프롬프트를 생성.
- c) 최종 응답 선택:
- 언어 모델을 호출하여 연결된 응답들 중 가장 일관성이 높은 답변을 선택함.
- a) 여러 응답 샘플링:
- LLM은 응답의 정확도(correctness) 를 평가하는 데 약점이 있을 수 있다는 기존 연구(Huang et al., 2023b)에도 불구하고 응답의 일관성을 평가하는데 있어서는 이 방법이 효과적임을 발견했다고 함.
실험 및 결과:
- USC와 다음과 같은 디코딩 방식을 비교함:
- Greedy Decoding(탐욕적 디코딩): 온도(temperature)를 0으로 설정하여 단일 답변을 생성하는 방식.
- Random Sampling(랜덤 샘플링): 온도 설정을 0보다 크게 하여 여러 샘플을 생성하고, 그중 하나를 무작위로 선택하는 방식.
- SC(자기 일관성, Self-Consistency): 가능한 경우 표준 자기 일관성 디코딩과 정답 추출(answer extraction)을 사용하고, 가장 빈번한 답을 최종적으로 선택하는 방식.
- 코드 생성 작업의 경우에는 실행 기반 자기 일관성(Execution-Based Self-Consistency) 을 사용. 이건 생성된 코드들을 실행하여 가장 빈번한 실행 결과를 가진 코드를 선택하는 방식.
- 구현 세부 사항(Implementation Details):
- 사용된 모델: Instruction-tuned PaLM 2-L (Anil et al., 2023), gpt-3.5-turbo 모델
- 특별한 언급이 없으면, SC와 USC 모두 초기 모델 응답을 8개 생성해서 평가.
- 온도 설정: PaLM 2-L 모델: 온도 0.6, gpt-3.5-turbo 모델: 온도 1.0

ABLATIONS(변형 실험):
- 응답 순서의 영향 (Effect of Response Ordering):
- 이전 연구에서는 언어 모델이 응답 후보의 순서에 영향을 받아 응답의 품질 평가에 편향이 생길 수 있음을 밝혔음.
- 이는 모델이 응답을 평가할 때, 처음에 제시된 응답에 더 큰 가중치를 두거나 특정 순서에 민감하게 반응할 수 있다는 것을 나타냄.
- 실험에서는 응답의 순서를 무작위로 5번 변경해서 총 5개의 다른 순서로 실험을 진행해봤다고 함.
- 결과적으로 응답 순서를 변경해도 모델의 전체 성능은 유사하게 나타났음.
- 응답 수의 변화 (Different Number of Responses):
- USC에서 사용되는 응답의 수가 성능에 어떤 영향을 미치는지 조사하여, 최적의 샘플 수를 파악하고자 했음.
- TruthfulQA와 BIRD-SQL에서는 샘플 수가 증가할수록 USC의 성능이 꾸준히 향상되었다고 함.
- 그러나 SummScreen에서는 샘플 수가 5개를 넘어가면 성능이 더 이상 개선되지 않았다고 한다.
- GSM8K에서는 샘플 수를 16개로 늘렸을 때 오히려 정확도가 감소했다고 함.
- 샘플 수가 많아지면 프롬프트에 포함되는 응답이 길어져, 모델이 긴 문맥 (long-context) 를 처리하는 데 어려움을 겪는다고 함.
- 샘플 수를 적절한 수준(예: 8개)으로 유지하는 것이 성능과 계산 비용의 균형을 맞추는 데 효과적일거임.
- 응답 선택 기준 (Criteria for Response Selection):
- 동일한 응답 선택 기준을 다양한 작업에 적용할 수 있으며, 특정 작업에 대한 사전 지식 없이도 효과적으로 이용할 수 있음.
- 응답 선택 지시문에 약간의 작업별로 조정하면 성능을 더 향상 시킬 수 있다고 함. 어떤 작업에서는 LLM에게 “가장 일관성 있는 응답” 대신 “가장 자세한 응답”을 선택하도록 지시했을 때 점수가 더 향상되었다고 한다.
Limitations:
- USC는 개방형 생성 작업에서도 적용 가능하며, 기존의 자기 일관성(Self-Consistency)이 적용되는 영역에서 유사한 성능을 보임.
- USC 와 SC 는 일반적으로 유사한 성능을 보이나, USC 는 언어 모델의 Context Length 에 영향을 많이 받음.
- 기존 자기 일관성의 투표 메커니즘은 각 응답에 대한 신뢰도(confidence) 나 불확실성(uncertainty) 을 제공함. 투표 매커니즘으로 인해서. 하지만 USC 는 하나의 프롬프트에 다 떄려박는 구조라 신뢰도 추정을 포함하지 않음.
- USC는 설계상 추가적인 LLM 쿼리를 필요로 하며, 이는 추론 비용을 증가시킴.
- 일관성은 일반적이고 효과적인 기준이지만, 가장 일관성 있는 응답이 항상 최상의 응답은 아닐 수 있음. 항상 최상의 응답을 선택하는 오라클 재정렬기(oracle reranker) 에 비해 여전히 성능 차이가 존재함.
'Generative AI > Prompt Engineering' 카테고리의 다른 글
Answering Questions by Meta-Reasoning over Multiple Chains of Thought (0) | 2024.11.16 |
---|---|
Large Language Models Cannot Self-Correct Reasoning Yet (0) | 2024.11.16 |
Getting MoRE out of Mixture of Language Model Reasoning Experts (0) | 2024.11.15 |
Exploring Demonstration Ensembling For In-Context Learning (0) | 2024.11.15 |
Cumulative Reasoning with Large Language Models (0) | 2024.11.15 |