NL-273, Universal self-consistency for large language model generation, ICML workshop 2024
◼ Comment
- 워크샵 논문인데 나름 괜찮다. 인용도 많이 되고
- 아이디어는 SC을 확장한 것으로 매우 간단하다
- 일단 응답을 여러개 샘플링한다
- 이 샘플링한것을 concat하여 LLM에게 다시 가장 일관성 있는 응답을 선택하라고 한다
- 그러면 여러 응답중 가장 일관성있는 응답을 선택할 것이고 이러면 성능이 좋아진다는 것이다
- 기존 SC와 달리 open-ended 문제 그런곳에서도 사용할 수 있다는 장점이 있고, LLM이 알아서 self-consistency 기준을 잡아서 수행한다는 것이다
- 당연히 이런 과정에서 추론 비용이 늘어나는 단점도 있고
- long context을 처리해야하기 때문에, 한계가 있긴하다
- SC가 적용가능한 테스크에서 봤을때 성능 자체는 SC와 유사한 수준이다
- open-ended 테스크에서는 greedy decoding보다 좋음을 보여준다
- 구현도 상당히 간편할 것으로 보이며, 디코딩 전략에서 하나의 베이스라인으로 가져갈 수 있을것 같다
Abstract
체인 오브 소트(Chain-of-Thought, CoT) 프롬프팅과 함께 사용되는 자기 일관성(Self-consistency) 기법은 대규모 언어 모델(LLMs)로부터 다양한 추론 경로를 샘플링하여 성능을 크게 향상시켜 왔다. 그러나 자기 일관성 방법은 주어진 답안을 추출하고 다수의 해답을 통합할 때 휴리스틱(heuristic)에 의존하기 때문에, 자유 형식(free-form)의 답안을 요구하는 과제에는 적용하기 어렵다.
본 연구에서는 범용 자기 일관성(Universal Self-Consistency, USC)이라는 새로운 방법을 제안한다. USC는 여러 해답 중에서 가장 일관된 답안을 선정하는 과정을 LLM 자체에 맡김으로써, 휴리스틱 없이 보다 일반적인 방식으로 답안을 선택한다. 우리는 USC를 수학적 추론, 코드 생성, 긴 맥락 요약, 개방형 질의응답 등 다양한 벤치마크 과제에 대해 평가하였다.
기존 자기 일관성이 적용될 수 없는 개방형 생성 과제에서, USC는 여러 샘플을 효과적으로 활용하여 성능을 향상시킨다. 또한 수학 추론 문제에서도, USC는 답안 형식의 유사성 요구 없이 기존 자기 일관성 기법과 동등한 성능을 보였다. 마지막으로, 코드 실행 결과에 접근할 수 없는 상황에서도, USC는 실행 기반의 투표(execution-based voting) 방법과 유사한 성능을 달성하였다.
1. Introduction
대규모 언어 모델(Large Language Models, LLM)은 수학적 추론(Cobbe et al., 2021), 코드 생성(Austin et al., 2021), 기타 텍스트 생성 과제(Bubeck et al., 2023) 등 다양한 영역에서 중대한 성과를 달성해왔다. 하지만 급속한 발전에도 불구하고, LLM이 생성한 응답은 길어질수록 여전히 오류가 발생하기 쉽다.
이러한 문제를 해결하기 위해 여러 연구에서 모델 응답을 여러 번 샘플링하고 특정 기준에 따라 최종 결과를 선택하는 방식으로 출력 품질을 개선하려는 노력이 지속되어 왔다.
- 예를 들어, 이전 연구들은 신경망을 훈련하여 모델 출력을 재순위화(rerank)하거나(Cobbe et al., 2021; Li et al., 2023b; Ni et al., 2023; Yin & Neubig, 2019), 최근의 연구들은 LLM을 사용하여 모델 출력을 평가하는 방식을 탐구하고 있다(Fu et al., 2023; Liu et al., 2023; Wang et al., 2023a).
본 연구에서는 모델 출력을 선택하는 기준으로 **일관성(consistency)**을 고려한다.
- 일관성은 추론(Wang et al., 2022) 및 코드 생성(Li et al., 2022; Shi et al., 2022) 분야에서 이미 큰 성능 향상을 가져온 범용적인 평가 지표이다.
- 직관적으로, 특정 출력이 다양한 샘플에서 일관되게 나타난다면 모델이 해당 출력에 대해 높은 신뢰를 가지고 있다고 볼 수 있으며, 따라서 정답일 가능성이 높다.
- 특히, 자기 일관성(self-consistency, Wang et al., 2022)은 여러 샘플에서 가장 흔히 나타나는 답안을 최종 답으로 선택함으로써, 체인 오브 소트(Chain-of-Thought, CoT) 프롬프팅(Wei et al., 2022)으로 생성된 잠재적 추론 경로를 효과적으로 통합(marginalizing)한다.
- 이 간단한 방법이 다양한 벤치마크 과제에서 큰 성능 향상을 가져왔다.
- 그러나 자기 일관성은 최종 답안이 정확한 일치를 통해 집계될 수 있는 과제(예: 객관식 질문 또는 수학 문제의 숫자 답안)에서만 적용 가능하다.
- 자기 일관성의 높은 성능에도 불구하고, 이러한 한계로 인해 코드 생성, 요약 생성, 개방형 질의응답 등 자유 형식 답안이 요구되는 과제에 적용할 수 없었다.
- Self-consistency는 출력에 대한 신뢰를 실어주지만, 객관식 형태에서만 적용가능하단 단점 (혹은 코드 같은거, 여기서 closed form 형태의 답안이라고 말함)
본 연구는 이러한 자기 일관성의 근본적인 한계를 극복하기 위해, 다양한 응용 분야, 특히 자유 형식의 생성 과제를 지원하는 범용 자기 일관성(Universal Self-Consistency, USC) 방법을 제안한다.
- USC는 여러 후보 응답이 주어졌을 때, 이 중 가장 일관된 응답을 선택하는 과정을 LLM 자체에 맡긴다.
- 이를 통해 USC는 별도의 답안 추출 프로세스 설계가 필요하지 않으며, 자유 형식의 답안을 요구하는 다양한 과제에도 적용 가능하다.
- 이전 연구들은 LLM이 출력 선택 과정에서 위치 편향(position bias) (Wang et al., 2023b; Zheng et al., 2023b)을 갖거나, 정답 여부를 잘못 판단하는 경향(Huang et al., 2023b; Gou et al., 2023)이 있음을 지적한 바 있으나, 우리는 USC가 이러한 문제점으로부터 자유롭다는 것을 발견했다.
- 직관적으로 LLM이 후보 응답 간의 일관성을 평가하는 것이 정답의 질을 직접 판단하는 것보다 쉽기 때문이다.
우리는 개방형 질의응답, 긴 맥락 요약, 코드 생성, 수학적 추론 등 다양한 과제에 USC를 평가하였다.
- 우선 표준 자기 일관성이 적용될 수 없었던 개방형 질의응답(Lin et al., 2021)과 요약(Huang et al., 2021; Chen et al., 2022b) 과제에서 USC가 성능 향상을 가져오는 것을 보였다.
- 또한 텍스트-SQL 생성(Li et al., 2023a), 파이썬 데이터 과학 코드 생성(Yin et al., 2023)과 같은 프로그래밍 과제에서도 USC는 실행 결과를 사용하는 기존 실행 기반 일관성(execution-based consistency, Li et al., 2022; Shi et al., 2022)과 동일한 성능을 보였으며, 이때 USC는 실행 결과에 대한 접근 없이도 답안을 선택할 수 있었다.
- 마지막으로, 표준 자기 일관성이 적용 가능한 수학 추론 과제인 GSM8K(Cobbe et al., 2021)와 MATH(Hendrycks et al., 2021) 벤치마크에서는 USC가 기존 자기 일관성과 일반적으로 유사한 성능을 나타냈다.
- 성능 향상뿐만 아니라, USC의 출력 결과는 표준 자기 일관성과 비교 가능한 상황에서 높은 일치도를 보였으며, 응답 순서 변경에도 견고한(robust) 결과를 나타냈다.
- USC는 객관식 문제뿐만 아니라 범용적으로 사용할 수 있다라는 것
2. Background: Self-Consistency
자기 일관성(Self-consistency, Wang et al., 2022)은 체인 오브 소트 프롬프팅(Chain-of-Thought prompting, Wei et al., 2022)에 여러 추론 경로를 샘플링한 뒤, 최종 답안 집합에서 다수결 투표를 통해 최종 답을 결정하는 방식을 추가한 방법이다.
- 그 기본적인 아이디어는, 하나의 탐욕적(greedy)으로 결정된 추론 과정이 항상 최적이라고 볼 수 없으므로, 여러 개의 다양한 추론 경로를 샘플링하여 이 중 다수가 동일한 답에 도달했다면 그 일관된 답안이 정답일 가능성이 더 높다는 것이다.
- 실제로 자기 일관성은 탐욕적인 체인 오브 소트 프롬프팅 대비 다양한 추론 과제에서 큰 성능 향상을 보였다.
이러한 일관성 기반 답안 선택 방식은 질의응답 과제 외에도, 코드 생성(code generation) 과제에도 적용되어 왔다(Shi et al., 2022; Li et al., 2022; Chen et al., 2019). 이 경우에는 예측된 모든 프로그램을 실제로 실행하여, 같은 실행 결과를 내는 프로그램들을 같은 클러스터로 묶는다. 같은 실행 결과를 내는 프로그램들은 의미적으로 동등하다고 가정하고, 가장 큰 클러스터에 속하는 프로그램을 최종 결과로 선택한다. 만약 주어진 작업 설명의 프로그램 입력값이 서로 다른 프로그램 예측들을 구분하기에 부족할 경우, 일관성을 더 잘 평가하기 위해 추가적인 테스트 케이스 생성 과정도 함께 사용된다(Li et al., 2022; Chen et al., 2022a; Huang et al., 2023a).
- 이런식으로 코드에도 적용했었구나?
자기 일관성은 이처럼 상당한 성능 개선을 가져왔지만, 최종 답안에 대해 다수결 투표를 해야 한다는 특성상, 단일 숫자와 같은 고유하고 명확히 정의된(closed-form) 형태의 답안을 갖는 문제에만 적용 가능하다.
- 따라서 요약(summarization), 창의적 글쓰기(creative writing), 개방형 질의응답(open-ended question answering) 등과 같이 개방형 생성(open-ended generation)을 요구하는 과제에는 적용하기 어렵다는 한계가 있다.
3. Universal Self-Consistency
범용 자기 일관성(Universal Self-Consistency, USC)의 전체적인 작업 흐름을 그림 1에 나타냈다.
USC는 대규모 언어 모델(LLM)을 활용하여 다양한 작업, 특히 자유 형식 텍스트 생성(free-form text generation) 과제에서도 자기 일관성을 가능하게 한다.
- 먼저 대규모 언어 모델을 통해 여러 개의 응답을 샘플링한다.
- 이후, 이 중 최종 답안으로 하나의 모델 응답을 선택하기 위해, 모든 응답을 하나로 연결(concatenate)하고, 언어 모델에게 가장 일관성 있는 응답을 선택하라는 지시를 포함한 프롬프트를 구성하여 제공한다.
- 이런 방식으로 USC는 기존의 자기 일관성 방법에서처럼 답안이 정확히 몇 번 등장했는지를 세는 과정 없이, 언어 모델이 직접 응답들 간의 일관성을 평가할 수 있도록 한다.
- 기존 연구에서는 LLM이 특히 추론 문제와 같은 경우에 답안의 정확성을 평가하는 데 어려움을 겪는다고 보고한 바 있으나(Huang et al., 2023b; Gou et al., 2023), 본 연구에서는 경험적으로 LLM이 다양한 과제에 걸쳐 응답 간의 일관성을 비교적 잘 평가할 수 있음을 관찰하였다.
LLM을 활용한 일관성 평가는 자유 형식 생성 과제에 보다 큰 유연성을 제공한다.
- 그림 2는 서로 다른 일관성 기준(consistency criteria)이 응답 선택에 도움이 되는 예시 과제들을 보여준다.
- 자연어가 답변이라면, 일관성의 기준을 어떻게 가져갈 것인가?
- 질문마다 다를텐데, 그에 대한 예시를 그림2에서 보여준다라는 것
구체적으로 그림 2a는 출력 형식이 다양한 수학 문제에 대한 모델 응답들을 나타낸 것으로, 이는 규칙 기반(rule-based) 방법으로 정확한 답안을 추출하기가 어려운 경우이다.
- 그러나 최종 답안이 정확히 추출된다고 가정하면, 수학적 추론에서의 일관성 기준은 기존 자기 일관성과 마찬가지로 최종 답안(단일 숫자 형태)의 정확한 일치(exact match)에 기반하여 판단된다.
반면, 그림 2b는 최종 답안이 특정 항목(entity)들의 목록으로 구성된 예시 질문이다.
- 이 경우 정확한 일치를 기준으로 다른 응답과 완벽히 일치하는 답안은 없지만, LLM은 후보 응답들 중 예측된 각각의 항목이 가장 자주 등장하는 응답을 일관성이 높은 것으로 판단하여 선택한다.
추가적으로, 4절에서는 LLM이 질의응답 외에도 실행 결과 없이 코드 생성의 일관성을 평가하거나, 긴 맥락 요약(long-context summarization)과 같은 작업에서도 응답 간의 일관성을 효과적으로 판단할 수 있음을 보여준다.
4. Experiments
4.1. Evaluation Setup
벤치마크 평가
우리는 다음과 같은 과제들에 대해 USC를 평가하였다:
-
수학적 추론
-
초등학교 수준의 수학 단어 문제로 구성된 GSM8K (Cobbe et al., 2021) 데이터셋과, 고등학교 경시대회 수준의 문제들로 구성된 MATH (Hendrycks et al., 2021) 데이터셋을 사용하였다.
-
-
코드 생성
-
자연어를 SQL 질의문으로 변환하는 BIRD-SQL 데이터셋 (Li et al., 2023a)과, 데이터 사이언스 노트북에서 사용되는 파이썬 코드 생성 과제인 ARCADE 데이터셋 (Yin et al., 2023)을 사용하였다.
-
-
긴 맥락 요약
-
ZeroSCROLLS 벤치마크(Shaham et al., 2023)에 포함된 GovReport 및 SummScreen 데이터셋을 사용하였다. GovReport (Huang et al., 2021)는 평균 약 7,900 단어의 문서가 입력으로 주어지고, 약 500단어로 구성된 전문가가 작성한 요약문을 생성하는 과제이다. SummScreen (Chen et al., 2022b)은 평균 약 5,600단어로 구성된 TV 쇼 에피소드의 대본이 입력으로 주어지며, 사람이 작성한 약 100 단어의 간략한 에피소드 요약을 생성해야 한다.
성능 평가를 위해 Shaham et al. (2023)을 따라, 생성된 요약문과 정답 요약문의 n-gram 일치를 측정하는 ROUGE-1, ROUGE-2, ROUGE-Lsum 점수와 의미적 일치를 평가하는 BERTScore F1 점수(Zhang et al., 2019)를 측정하였다.
-
-
개방형 질의응답
-
TruthfulQA (Lin et al., 2021) 벤치마크를 사용하였다. TruthfulQA는 총 817개의 질문으로 구성되어 있으며, 모델이 얼마나 진실한 답변을 생성할 수 있는지 평가한다.
답변의 품질 평가를 위해 GPT-judge와 GPT-info라는 GPT-3 기반 모델을 사용하였으며, 이 모델들은 사람의 피드백 데이터를 바탕으로 미세 조정되었다(Lin et al., 2021).
GPT-judge 모델은 생성된 답변의 진실성에 대해 이진(binary) 평가를 출력하며, GPT-info 모델은 답변의 유용성(정보성)에 대해 이진 평가를 제공한다.
데이터세트 제공 논문에서 학습된 평가모델 같은게 있나본데? 근데 이거보다 그냥 GPT-4 이런거 쓰는게 낫지 않을까? 싶긴한데..
-
디코딩 방식
우리는 USC 방법과 다음의 디코딩 방식들을 비교한다:
-
Greedy 디코딩은 온도(temperature) 값을 0으로 고정하여 단 하나의 응답만을 생성한다.
-
Random 방식은 온도를 0보다 큰 값으로 설정하여 생성된 여러 응답 중에서 임의로 하나의 응답을 선택한다.
-
SC (Self-consistency) 방식(Wang et al., 2022)은 기존 자기 일관성 방법으로, 답안을 추출하여 가장 자주 등장하는 응답을 선택하는 방식이다. 본 연구에서는 적용 가능한 경우에 SC를 평가하였다.
공정한 비교를 위해, 샘플링을 수행할 때(Greedy 디코딩을 제외한 모든 경우)는 항상 동일한 모델 응답 집합으로부터 최종 답안을 선택하였다. 코드 생성 과제의 경우, 우리는 실행 기반 자기 일관성(execution-based self-consistency, Shi et al., 2022; Li et al., 2022; Chen et al., 2019)과도 비교하였다.
이 방식은 코드 실행 결과가 가장 자주 등장하는 프로그램을 최종 답으로 선택하는 방식이다.
- USC와 실행 기반 자기 일관성 모두 우선 구문적으로 잘못된(syntactically invalid) 프로그램 후보를 제거한 후, 남은 프로그램에 대해 투표를 수행한다.
- ARCADE 벤치마크의 경우, 프로그램의 실행 결과가 정확히 일치하지 않더라도, 유사성(fuzzy matching)에 기반해 실행 결과가 동등한지 여부를 휴리스틱으로 판단하는 실행 기반 자기 일관성의 변형 버전(Yin et al., 2023)도 추가로 평가하였다.
구현 세부 사항
- 본 연구는 instruction-tuned PaLM 2-L 모델(Anil et al., 2023)과 GPT-3.5-turbo 모델(gpt-3.5-turbo-0613 버전)을 사용하여 실험을 진행하였다.
- 별도의 언급이 없는 한, LLM은 SC 및 USC 모두에 대해 초기에 총 8개의 샘플을 생성하였다.
- 수학적 추론, 긴 맥락 요약 과제, ARCADE 벤치마크의 Python 코드 생성 과제의 경우, 초기에 zero-shot 프롬프팅을 사용하여 생성된 샘플이기 때문에 출력 형식이 다양하다.
- 기존 자기 일관성(SC)의 경우, GSM8K에서는 정규 표현식(regular expression)을 사용하여 최종 답안을 추출했고, MATH 데이터셋에서는 Zheng et al. (2023a)의 답안 추출 코드를 그대로 사용하였다.
- BIRD-SQL 과제에서는 Li et al. (2023a)에서 제안된 1-shot 체인 오브 소트 프롬프트를 사용하여 성능을 높였고, TruthfulQA에서는 후보 응답의 품질 향상을 위해 one-shot 프롬프팅을 활용하였다.
- 온도(temperature)는 PaLM 2-L의 경우 0.6, GPT-3.5-turbo의 경우 1.0으로 설정하였다.
4.2. Main Results
TruthfulQA
표 1은 TruthfulQA 벤치마크의 평가 결과를 나타낸다.
이 과제는 생성된 답안이 자유 형식(free-form)이기 때문에 기존의 자기 일관성(SC)을 직접 적용할 수 없다.
- Greedy 디코딩 및 무작위 선택(Random) 방식과 비교할 때, USC를 사용하여 선택한 답안은 PaLM 2-L과 GPT-3.5-turbo 모델 모두에서 가장 높은 진실성(truthfulness)을 보였다.
부차적인 목표로 평가되는 유용성(informativeness)의 경우, USC 기반 답안은 PaLM 2-L 모델에서는 가장 높은 점수를 보였으며, GPT-3.5-turbo에서는 최고 점수보다 0.1 낮은 두 번째 점수를 보였다.
- 하지만 GPT-judge와 GPT-info 모델의 평가 정확도가 일반적으로 90~95% 정도라는 점을 고려하면(Lin et al., 2021), 이 0.1의 점수 차이는 통계적으로 큰 의미가 있다고 보기 어렵다.
- Evaluate these responses.
- Select the most consistent response based on majority consensus.
- Start your answer with "The most consistent response is Response X" (without quotes).
요약 과제
표 2는 긴 맥락 요약 과제의 결과를 나타낸다.
생성된 요약문이 자유 형식이기 때문에 기존 자기 일관성 방법(SC)은 적용이 불가능하다.
GovReport 데이터셋에서는 USC가 모든 평가 지표에서 베이스라인 대비 일관되게 성능을 향상시켰다. 추가적으로 섹션 4.3에서는 모델에게 가장 상세한(detailed) 요약문을 선택하도록 요구하면 성능이 더욱 향상된다는 사실도 함께 제시한다.
이것도 truthfulQA와 마찬가지로 평가될듯
전체적으로 성능 향상됨 (평가방식이 좀 다르긴하고 구식이긴 하지만)
코드 생성
표 3은 코드 생성 과제인 BIRD-SQL과 ARCADE 데이터셋의 결과를 보여준다. BIRD-SQL에서는 생성된 SQL 질의문의 효율성을 측정하는 valid efficiency 점수 또한 Li et al. (2023a)의 방식을 따라 평가하였다.
그 결과 USC는 코드 실행을 기반으로 답안을 선택하는 실행 기반 자기 일관성(execution-based self-consistency) 방식과 유사한 성능을 두 과제 모두에서 나타냈으며, 이 과정에서 USC는 코드 실행 결과를 전혀 사용하지 않고도 비슷한 성능을 달성하였다.
SC-Exec와 유사한 성능 달성함. 코드 돌려서 판단하는 모듈?이 얼마나 복잡하거나 코스트가 드는지 모르겠으나 USC는 직관적으로 간단하니까.. 장점이 있을듯
수학적 추론
표 4는 USC와 기존 자기 일관성을 수학적 추론 과제에서 비교한 결과를 나타낸다.
전반적으로 USC는 표준 자기 일관성과 비교하여 유사한 성능을 보였으며, 특히 USC는 표준 자기 일관성과 달리 답안 파싱(answer parsing) 과정을 거치지 않고도 투표를 수행할 수 있다는 장점이 있다.
USC도 SC와 비슷한 성능 달성
프롬프트도 아래처럼 되어있는걸 보면 LLM이 알아서 self-consistency을 반영한다는게 신기하긴함
- Evaluate these responses.
- Select the most consistent response based on majority consensus.
- Start your answer with "The most consistent response is Response X" (without quotes).
4.3. Ablations
응답 순서의 영향
이전 연구들(Wang et al., 2023b; Zheng et al., 2023b)에 따르면, 대규모 언어 모델(LLM)이 여러 후보 응답의 품질을 평가할 때, 후보 응답이 제시되는 순서에 따라 영향을 받을 수 있다고 보고된 바 있다.
하지만 본 연구의 표 5 결과에 따르면, USC를 적용한 경우 전체적인 모델 성능은 응답 순서가 달라지더라도 거의 일정하게 유지되었으며, 변동성(variance)도 매우 낮게 나타났다.
- 이 부분은 이전 결과와 다른점
- 사실 LLM에 따라 다른거 아닐까?
이는 USC 방법에서 응답 순서가 미치는 영향이 매우 미미함을 시사한다.
후보 응답 개수의 영향
다음으로, USC에서 사용하는 후보 응답 개수에 따른 성능 변화를 분석하였다.
그림 3에 나타난 바와 같이, USC는 TruthfulQA와 BIRD-SQL 데이터셋에서는 샘플 수가 많을수록 일관되게 성능이 향상되었다.
반면 SummScreen 데이터셋에서는 5개의 샘플 이후부터 추가적인 성능 향상이 없었으며,
- GSM8K 데이터셋에서는 16개의 샘플에서 오히려 정확도가 떨어졌다.
- 이는 후보 응답 개수가 많아질 때 프롬프트(prompt)의 길이가 증가하여 LLM이 긴 맥락(long-context)을 이해하는 데 어려움을 겪거나, 여러 후보 응답을 처리할 때 LLM이 정확한 빈도(counting)를 수행하지 못하는 한계 때문일 가능성이 있다.
- 사실 이러한 방식은 샘플이 많아질수록 long context을 처리해야하므로 단점이 있는건 분명한듯
추가로 섹션 4.4에서는 후보 응답 수가 증가함에 따라 USC와 기존 자기 일관성(SC)의 예측 결과가 어떻게 달라지는지를 더 자세히 분석하였다.
응답 선택 기준
USC의 주요 장점 중 하나는 일반성(generality)이다.
- 동일한 기준으로 여러 다양한 과제들에 적용될 수 있다는 것이다.
- 그럼에도 불구하고, 과제의 특성에 따라 응답을 선택하는 지시문(prompt)을 약간 변경하면 USC의 성능이 더 향상될 수 있다.
예를 들어 표 6에서 보듯이, 긴 맥락 요약 과제에서 LLM에게 “가장 상세한 응답(the most detailed response)”을 선택하도록 요청하면, ROUGE-1 및 ROUGE-Lsum 점수가 약 2점 정도 추가로 향상되는 것을 확인할 수 있었다.
프롬프트 엔지니어링하면 성능 향상의 룸이 있긴하다
4.4. USC와 기존 자기 일관성(SC)의 선택 결과는 얼마나 일치하는가?
우리는 앞선 실험에서 표준 자기 일관성(SC)이 적용 가능한 과제에서 USC가 8개의 샘플로는 SC와 비슷한 전반적 성능을 보였지만, GSM8K 데이터셋에서 16개 샘플을 사용했을 때 추가 성능 향상을 이루지 못했음을 보였다.
이 절에서는 USC와 SC 간의 관계, 특히 두 방식이 최종적으로 선택한 응답이 얼마나 일치하는지 좀 더 깊이 분석한다.
그림 4는 수학적 추론 벤치마크에서 USC의 예측 결과에 대한 세부 분석을 제시하고 있으며,
그림 5는 USC와 SC가 서로 다른 응답을 선택했을 때의 성능을 추가적으로 비교하고 있다.
본 분석을 통해 우리는 다음과 같은 사항을 관찰하였다.
-
투표 결과가 동점(tie)이 되는 경우가 USC와 SC 간 선택 차이에서 특히 8개의 후보 응답을 사용할 때 상당한 비율을 차지했다. 구체적으로, 표준 SC 방식은 최대 득표 응답이 여러 개인 경우 항상 인덱스가 가장 작은 응답을 선택하는 반면, USC는 응답 형식이나 다른 기준에 따라 다른 응답을 선택하기도 한다.
-
USC와 SC 간의 **일치율(match ratio)**은 두 방법의 정확도보다 항상 더 높게 나타났다. 이는 정답 여부(answer correctness)를 판단하는 것보다 응답 간 일관성(consistency)을 평가하는 것이 더 쉽다는 사실을 나타낸다.
-
후보 샘플 수가 8개에서 16개로 늘어날 경우, USC와 SC의 일치율은 감소하는 경향을 보였으며, 이는 USC가 SC를 불완전하게 근사하는 방법임을 시사한다. 그러나 이러한 선택 결과의 차이가 반드시 성능 저하로 이어지는 것은 아니었으며, 오히려 USC가 SC가 틀린 경우에 정답을 선택하는 경우도 있었다.
5. 관련 연구
언어 모델의 응답 재순위화 및 선택
응답 재순위화(reranking)는 언어 모델의 출력 품질을 높이기 위해 널리 사용되는 방법으로, 모델이 여러 개의 응답을 생성한 뒤 추가적인 기준을 이용해 순위를 다시 매기는 과정을 거친다. 이 방법은 일반적으로 추가적인 학습이 필요한 재순위화 모델을 사용하거나, 때로는 사람의 레이블이 부착된 데이터를 필요로 한다. 예를 들어, Cobbe 등(2021)은 생성된 응답이 정답인지 아닌지를 사람이 레이블링한 데이터를 바탕으로 재순위화 모델을 학습했으며, Shen 등(2021)은 생성기(generator)와 재순위화 모델을 함께 학습하여 수학 문제에서 성능을 높였다. 별도의 생성기와 재순위화 모델을 사용하는 대신, Thoppilan 등(2022)은 사람이 평가한 데이터를 이용하여 대화 모델(dialog model)이 후보 응답을 직접 평가하는 방식으로 모델을 미세조정하였다.
코드 생성 분야에서는 주로 코드 실행 결과와 언어의 문법적 특성을 활용하여 순위를 개선하는 여러 재순위화 모델이 제안되었다(Ni 등, 2023; Yin & Neubig, 2019; Zeng 등, 2022). 이와 달리, USC는 추가적인 레이블 데이터나 별도의 재순위화 모델 없이, 최초의 응답을 생성한 LLM 자체를 그대로 사용하여 최종 답안을 선택한다는 차이점이 있다.
지금까지 여러 일관성(consistency) 기반의 응답 선택 방법이 제안되었으며, 일반적으로는 여러 후보 응답 중 가장 빈번하게 등장하는 응답을 선택하는 투표 방식을 사용한다(Wang 등, 2022; Zhou 등, 2022; Wightman 등, 2023; Yue 등, 2023; Bertsch 등, 2023). 예를 들어 자기 일관성(self-consistency, Wang 등, 2022)은 체인 오브 소트 프롬프팅으로 생성된 추론 경로들 중에서 가장 자주 나타나는 최종 답안을 선택하여 성능을 향상시켰다. 한편, 후보 응답들이 동일한 문제에 대해 서로 다른 프롬프트 변형(prompt variants)을 통해 생성되기도 한다(Zhou 등, 2022; Wightman 등, 2023; Yue 등, 2023).
개방형 생성(open-ended generation) 과제에서는 Jain 등(2023)이 후보 응답 간 n-gram 유사도를 측정하여 일관성 점수를 계산하였으며, 각 응답의 일관성 점수는 다른 응답들과의 pairwise 유사도를 모두 더한 값으로 정의된다.
코드 생성 과제의 경우, 일반적으로 코드 실행 결과가 가장 자주 등장하는 프로그램을 선택하는 방식으로 일관성을 평가한다(Shi 등, 2022; Li 등, 2022; Chen 등, 2019). 코드 실행의 일관성 외에도, 코드와 명세(specification)의 일관성을 평가하여 이를 재순위화에 활용하는 연구도 있다(Min 등, 2023; Zhang 등, 2023a; Huang 등, 2023a).
본 연구에서는 후보 응답 간의 유사성을 명시적으로 정의하지 않고 LLM 자체가 직접 일관성 평가를 수행하게 하였으며, 이를 다양한 과제에 성공적으로 적용할 수 있음을 입증하였다.
다수의 후보 응답을 활용한 성능 향상
최근의 연구들은 후보 응답 집합으로부터 LLM이 최종 예측 결과를 향상시킬 수 있음을 보였다. Yang 등(2023)은 기존에 생성된 응답의 경로(trajectory)가 주어지면, LLM이 이를 바탕으로 최적화 문제의 더 나은 해답을 반복적으로 생성할 수 있음을 증명하였고, 이는 프롬프트 최적화와 다양한 수학 최적화 과제에서 효과적임을 보였다. 또 다른 연구들은 여러 개의 추론 경로(reasoning chains)를 종합(aggregate)한 후, 이를 바탕으로 LLM이 더 나은 최종 응답을 생성하도록 유도하여 다단계 질의응답(multi-hop QA, Yoran 등, 2023) 및 의료 분야의 질의응답(Singhal 등, 2023)에서 성능을 높였다.
그러나 USC의 접근법은 LLM에게 더 나은 응답 생성을 요구하는 것이 아니라, 이미 후보 응답 중에 높은 품질의 해답이 존재한다는 점에 착안하여 가장 일관된 응답을 선택하는 데 집중하고 있다. 응답의 정답성을 향상시키는 것보다 일관성에 기반한 선택을 수행하는 것이 일반적으로 더 쉬운 작업이며, USC가 이를 잘 활용하여 여러 과제의 성능을 높임을 입증하였다.
응답 평가를 위한 대규모 언어 모델 사용
본 연구가 가정하는 핵심 아이디어는 LLM이 여러 응답 간의 일관성을 평가할 수 있을 만큼 반성적(reflective)이라는 것이다. 이 가정은 최근 연구에서 나타난 LLM이 생성된 텍스트의 품질을 평가하는 데에도 유용하다는 결과와 연결된다(Bubeck 등, 2023; Fu 등, 2023; Wang 등, 2023a; Zhang 등, 2023b).
LLM 기반 평가기는 인간이 작성한 참조 문서(human reference) 없이 자연어 생성 결과를 평가하는 데 일정 부분 성공을 거두었지만,
- 다른 연구에서는 LLM 평가기가 때로는 인간의 평가와 잘 일치하지 않거나, 모델이 생성한 텍스트에 편향되는 경향이 있다는 문제점도 보고했다(Bubeck 등, 2023; Liu 등, 2023).
또 다른 접근법으로는, LLM의 예측 확률을 이용하여 여러 선택지 중에서 답변의 품질을 평가하는 방법도 제안되었다(Ren 등, 2023; Adiwardana 등, 2020). 또한 Lin 등(2022)은 산술 과제(arithmetic task)에서 LLM이 직접 자신의 응답에 대한 신뢰 수준을 출력하도록 유도하여 좋은 결과를 얻었다. 본 연구는 LLM이 단순한 평가자 역할을 넘어, 스스로 다수의 응답을 생성한 뒤 이들 간의 일관성을 평가함으로써 본인의 출력 품질을 직접 향상시킬 수 있음을 보여준다.
6. 한계점과 향후 연구 과제
USC는 자유 형식 생성(open-ended generation) 과제를 지원하며, 기존 자기 일관성(self-consistency) 방식이 적용 가능한 영역에서는 대체로 유사한 성능을 달성하지만, 현재 USC 구현 방식은 기존의 답안 추출(extraction) 기반 자기 일관성 방식과 비교하여 몇 가지 한계가 존재한다.
첫째, 기존의 자기 일관성 방법은 최종 답안을 추출할 수만 있다면 얼마든지 많은 샘플 수에도 적용할 수 있지만, USC는 기본적으로 사용되는 언어 모델의 맥락 길이(context length)에 따라 사용 가능한 샘플 수가 제한된다. 다만, 최근 더 발전된 긴 맥락을 처리할 수 있는 LLM들이 등장함에 따라, 일반적인 응용 상황에서는 맥락 길이가 충분히 확보되어 USC가 더 많은 샘플을 효과적으로 활용할 수 있을 것으로 기대된다.
둘째, 기존 자기 일관성 방식의 투표(voting) 메커니즘은 각 응답의 신뢰도(confidence)나 불확실성(uncertainty)을 본질적으로 제공한다(Wang et al., 2022). 그러나 현재의 USC는 이러한 신뢰도 추정 기능이 아직 개발되지 않았다. 향후 연구로서 USC의 신뢰도 추정을 위한 보정(calibration) 메커니즘을 개발할 수 있으며, 이 과정에서 LLM을 활용하여 출력의 클러스터링과 pairwise 자기 일관성을 측정하는 방식이 유망하다.
또한 USC는 설계상 추가적인 LLM 호출(query)이 필요하기 때문에 추가적인 추론 비용(inference cost)이 발생한다. 다만 USC는 최종 응답을 선택하는 과정에서 단지 선택된 응답의 인덱스만을 출력하도록 요청하기 때문에, USC의 출력 길이는 개별 후보 응답의 길이에 비해 훨씬 짧다. 비용을 더 줄이기 위한 방안으로, 보다 가벼운(light-weight) 언어 모델을 활용하여 USC를 수행하거나, 긴 맥락을 더 효율적으로 처리하는 최적화 방안을 고려하는 것이 가능하다.
마지막으로, 기존 자기 일관성과 USC 모두 공통적으로 가지는 한계는 일관성(consistency)을 기준으로 최종 답안을 선택한다는 것이다. 일관성은 범용적이고 효과적인 기준이지만, 가장 일관된 응답이 반드시 최고의 응답(best response)이라고 보장되지는 않는다. 부록 A에서는 항상 가장 좋은 응답을 선택한다고 가정한 오라클(oracle) 성능과의 사이에 여전히 주목할 만한 성능 격차가 있음을 보여준다. 본문 4.3절에서 보였듯이 과제 특성에 따라 별도의 기준을 설계하여 성능을 더 향상시킬 수 있으므로, 향후 연구에서는 USC 프레임워크를 정교화하여 오라클 성능에 더 가까이 다가가는 방법을 개발할 계획이다.
7. 결론
본 연구에서는 표준 자기 일관성을 확장하여 자유 형식의 생성 과제를 지원하는 범용 자기 일관성(Universal Self-Consistency, USC) 방법을 제안하였다. USC는 다양한 응용 분야에서 성능을 뚜렷하게 향상시켰으며, 답안 추출이 가능한 과제들에서는 기존 자기 일관성과 유사한 성능을 보였다. 앞서 6절에서 논의한 한계점들에 대한 개선 외에도, 향후 연구로서 LLM의 위치 편향(position bias)을 완화하고 긴 맥락 이해(long-context understanding) 성능을 높여 USC의 효과성과 견고성을 더욱 향상시키는 방안도 중요한 과제로 고려하고 있다.
Reference
댓글
댓글 쓰기