NL-274, (SE-SL, SE-RG) Integrate the Essence and Eliminate the Dross: Fine-Grained Self-Consistency for Free-Form Language Generation, ACL 2024

◼ Comment

  • 이 논문도 나쁘지 않고 비슷하게 구현이 가능할거 같긴함
  • 일단 USC와 꽤 유사한데, 다른점이 생성된 응답을 모두 사용하지 않고 필터링을 한다라는 것
    • 프롬프트가 바뀌었다는 것
  • 필터링방법
    • 크게 2가지다
    • 먼저 주어진 응답과 나머지 응답간의 ROUGE 계산하여 평균하여 점수별로 유사도 점수 생성
      • 이게 높은 top-k 고름
    • 그 다음 k-medodis clustering으로 묶고 대표 응답 선택
  • 필터링된 응답 입력에 넣어주고 논문에 있는 프롬프트로 응답 생성하게함
    • 그러면 응답에서 유사한 부분이 있는 chunk들을 llm이 알아서 잘 구성해서 새로운 응답을 만든다는 것이다
  • 평가 데이터세트
    • 코드 데이터
      • HumanEval (Chen et al., 2021)
      • HumanEval+ (Liu et al., 2023a): Python 코드 생성을 위한 벤치마크
      • BIRD-SQL (Li et al., 2023a): 텍스트를 SQL로 변환하는 과제용 데이터셋
    • 텍스트 요약
      • DailyMail: 짧은 문서 요약용 (Nallapati et al., 2016)
      • SummScreen: 긴 문서 요약용 (Chen et al., 2022)
    • 수학추론
      • GSM8K (Cobbe et al., 2021)
      • MATH (Hendrycks et al.)
    • 코드는 돌려서 정답이 제대로 나오는지 판단해서 평가하면 되고
    • 수학추론은 정규식파싱이나 그런걸로 정답 구하고
    • 텍스트요약은 정통 automatic eval과 llm 으로 평가 이런것으로 함
  • 성능 자체는 당연히 올랐다는 것을 입증함
  • 하지만 아직도 USC에 있는 Long context로 입력이 늘어날수록 한계가 보여지기는 함

Abstract

Self-Consistency(SC)는 LLM에서 여러 샘플을 활용해 다양한 추론 과제에서 큰 성능 향상을 보였지만, 자유 형식의 생성 과제에서는 정답을 집계하는 것이 어려워 성능이 저하되는 한계를 가지고 있습니다. 이를 보완하기 위해 제안된 변형 기법들인 UCS와 USC는 샘플 선택이나 투표 메커니즘을 통해 출력 품질을 개선하려 하지만, 여러 후보 샘플에 담긴 미묘한 합의 지식을 충분히 활용하지 못해 종종 최적 이하의 출력을 생성하는 문제가 있습니다.

이러한 한계를 해결하기 위해, 본 논문에서는 Fine-Grained Self-Consistency(FSC)를 제안합니다. FSC는 후보 샘플들로부터 세분화된 수준의 공통 정보를 추출하고 통합하여 LLM의 성능을 오픈엔디드 및 추론 과제 모두에서 향상시킵니다.

이와 함께 두 가지 전략도 함께 소개됩니다:

  1. 후보 필터링(candidate filtering) – 유사한 샘플들을 식별하여 고품질의 후보 집합만을 사용함으로써 전체 품질을 향상시킵니다.

  2. 병합(merging) – 유사한 샘플들을 결합함으로써 입력 토큰 수를 줄이고 효율성을 높입니다.

FSC의 효과는 GPT-3.5-turbo와 GPT-4를 이용한 요약, 코드 생성, 수학적 추론 등 다양한 과제에서의 실험을 통해 입증되었으며, 기존 방식 대비 유의미한 성능 향상을 보여줍니다. 이는 FSC가 다수 샘플에서 세밀한 합의 지식을 효과적으로 통합하여 출력 품질을 최적화할 수 있는 가능성을 제시합니다.

1 Introduction

대규모 언어 모델(LLM)의 눈부신 성공은 자연어 처리의 지형을 변화시켰으며, 산술 연산 및 상식 추론과 같은 명확한 정답이 있는 추론 과제부터 코드 생성(Austin et al., 2021), 요약(Goyal et al., 2022)과 같은 자유 형식 생성 과제에 이르기까지 다양한 작업에서 상당한 성능 향상을 보여주었습니다(Wei et al., 2022).

하지만 LLM은 여전히 어려운 과제에서는 최적이 아닌 샘플을 생성할 수 있습니다. 출력 품질을 개선하기 위한 노력으로, 특정 기준에 따라 여러 샘플 중 최상의 응답을 선택하는 방법이 제안되어 왔습니다. 

  • 예를 들어, 훈련된 모델을 사용해 출력들을 재정렬(reranking)하거나(Ravaut et al., 2023), 
  • LLM을 활용해 응답을 평가하는 방식(Liu et al., 2023b)이 있습니다. 
  • 하지만 이러한 방식은 별도의 모델이 추가로 필요하며, 후보들 간에 존재하는 지식을 간과합니다.

이러한 한계를 극복하기 위해 Wang et al. (2023)은 추가 모델 없이 성능을 개선할 수 있는 자기 일관성(Self-Consistency, SC) 방법을 제안했습니다. SC는 여러 샘플에 대해 투표 메커니즘을 적용함으로써 단일 샘플링의 노이즈를 완화합니다. 그러나 SC는 정답을 명확히 매칭할 수 있는 과제에만 적용 가능하며, 자유 형식의 문제에서 정답을 어떻게 집계할 것인지는 여전히 미해결 문제로 남아 있습니다.

최근 연구들은 이러한 SC 개념을 자유 형식 생성 과제로 확장하려는 시도를 하고 있습니다. 

  • 예를 들어 UCS(Jain et al., 2023)는 후보들 간의 유니그램 중첩도를 계산하여 가장 높은 점수를 얻은 응답을 선택합니다. 
  • 또 다른 방식인 USC(Chen et al., 2023)는 규칙 기반 기준 대신 LLM의 능력을 활용해 가장 일관성 있는 응답을 선택합니다. 
  • 하지만 이 두 방식 모두 여전히 선택(selection) 혹은 투표(voting) 메커니즘에 의존하고 있으며, 이는 자유 형식 생성 과제의 본질과 잘 맞지 않습니다. 자유 형식 생성에서는 개별 토큰이 아니라 출력 전체의 내용이 품질을 결정하기 때문입니다.

따라서 샘플 단위의 선택 방식은 다음 두 가지 이유로 인해 최적 이하의 출력을 초래합니다:

  1. 낮은 품질의 샘플이라도 국소적으로 유용한 정보를 담고 있을 수 있으나, 선택되지 않은 샘플의 합의 지식을 활용할 수 없습니다.

  2. 선택된 샘플에서도 저품질 구간을 제거하여 품질을 높이는 것이 불가능합니다.

결국 이러한 조잡한(coarse-grained) 선택 방식은 후보 샘플들 사이에 존재하는 세분화된(fine-grained) 합의의 역할을 억누르거나 무시하게 됩니다.

그림 1과 표 1은 이러한 선택 기반 SC 방식이 잘 작동하지 않는 사례를 보여줍니다. 

그림에서는 코드 생성 과제에서 후보의 전반적인 품질이 낮을 경우 성능이 저조함을 보여주며, 표에서는 요약 과제에서 어느 하나의 샘플도 정답의 의미 정보를 완전히 담지 못하는 사례를 설명합니다. 이런 경우 어떤 샘플을 선택하더라도 최적 이하의 출력만 생성될 수 있습니다.

이 문제를 해결하고 자유 형식 문제에서 다수 샘플 간의 합의 지식을 더 잘 활용하기 위해, 우리는 **Fine-Grained Self-Consistency (FSC)**를 제안합니다. FSC는 여러 후보 샘플을 생성한 후, LLM의 텍스트 이해 및 대조 능력을 활용하여 샘플 간 세분화된(segment-level) 공통 요소를 추출합니다. 이후 이 합의된 요소들을 종합하여 최적화된 출력을 생성함으로써, 후보 샘플로부터 핵심적인 내용을 효과적으로 통합합니다.

이를 바탕으로 우리는 두 가지 추가 전략도 제안합니다:

  • 후보 필터링(candidate filtering): 자동화된 평가 지표를 사용하여 상호 유사성이 높은 후보 샘플 집합을 식별함으로써 전체 품질을 향상시킵니다.

  • 병합(merging): 유사한 샘플들을 하나로 병합하여 입력 토큰 수를 효과적으로 줄입니다.

우리는 GPT-3.5-turbo 및 GPT-4를 사용하여 요약, 코드 생성, 수학적 추론 등 다양한 과제에 대해 FSC를 평가했습니다. 그 결과, 제안된 방법이 기존 기준선(baseline)들보다 큰 폭으로 성능이 향상됨을 확인했습니다. 추가 실험에서는, 필터링 전략이 더 나은 후보 샘플을 선택함으로써 성능을 더욱 향상시킬 수 있고, 병합 전략은 성능을 유지하면서 비용을 줄일 수 있음을 보여줍니다.

요약하면, 본 연구의 주요 기여는 다음과 같습니다:

  • 자유 형식 생성 과제에서 여러 샘플 내 합의 지식을 최대한 활용하기 위한 Fine-Grained Self-Consistency(FSC) 기법을 제안합니다.

  • 후보 필터링병합이라는 두 가지 전략을 고안하여 성능 향상과 비용 절감을 동시에 달성합니다.

  • 광범위한 실험을 통해 제안된 방법이 경쟁력 있는 기존 방식들을 능가함을 입증합니다.

2 관련 연구

일관성 기반 응답 선택 접근법
기존 연구에서는 다양한 일관성 기반 응답 선택 방법이 제안되어 왔으며, 일반적으로는 가장 빈번하게 나타나는 응답을 선택하는 투표 방식을 포함합니다(Wang et al., 2023; Zhou et al., 2022; Portillo Wightman et al., 2023; Yue et al., 2023; Li et al., 2023b). Wang et al. (2023)이 제안한 Self-Consistency 방식은 동일한 과제에 대해 여러 응답을 생성한 후, 가장 빈도가 높은 최종 답에 도달하는 추론 경로를 선택함으로써 chain-of-thought 추론의 성능을 향상시킬 수 있음을 보여주었습니다.

후보 응답은 동일 문제에 대해 다양한 프롬프트 변형으로부터 도출될 수도 있으며(Zhou et al., 2022; Portillo Wightman et al., 2023; Yue et al., 2023), 자유 형식 생성 과제의 경우 Jain et al. (2023)은 후보 응답 간의 **쌍별 유사도(pairwise similarity)**를 측정하는 n-그램 일관성 점수를 제안하였습니다. 각 응답의 일관성 점수는 다른 후보들과의 유사도 점수를 합산하여 계산됩니다. Chen et al. (2023)은 규칙 기반 유사도 정의 없이 LLM 자체를 활용해 가장 일관성 있는 응답을 선택하는 방식을 제안하였습니다.

본 연구에서는 이와 같은 선택 기반 self-consistency 기법이 자유 형식 생성 과제에서 겪는 조잡한(coarse-grained) 한계를 집중적으로 분석하고, 다수 샘플 내에서 추출한 세분화된(segment-level) 합의 지식을 완전하게 활용하여 보다 일관된 출력을 얻을 수 있는 Fine-Grained Self-Consistency (FSC) 방법을 제안합니다.

다중 후보를 활용한 응답 개선
최근 연구는 LLM이 다수의 후보 응답을 기반으로 자신의 예측 출력을 향상시킬 수 있음을 보여주고 있습니다. Zheng et al. (2023)은 이전에 생성된 해결 경로(trajectory)를 입력으로 하여, LLM이 최적화 과제에서 반복적으로 더 나은 해답을 생성할 수 있음을 입증했습니다. 다른 연구들에서는 다수의 추론 체인을 집계하고 이를 기반으로 LLM이 더 나은 최종 응답을 생성하도록 프롬프트를 구성함으로써, multi-hop 질의응답(Yoran et al., 2023), 수학적 추론(Yang et al., 2023), 기계 번역(Zhang et al., 2024), 코드 생성(Huang et al., 2023) 등 다양한 작업에서 성능 향상이 보고되었습니다.

하지만 본 연구에서 제안한 FSC는 LLM에 새로운 응답 생성을 유도하지 않고, **기존 샘플 간의 일관된 정보(consistency)**를 추출 및 통합함으로써 성능을 향상시키는 데 집중합니다. 우리는 FSC가 여러 응답을 효과적으로 활용하여 다양한 과제에서 성능을 높일 수 있음을 실험적으로 입증합니다.

3 방법

Fine-Grained Self-Consistency (FSC)의 핵심 아이디어는 LLM이 생성한 각 응답을 세그먼트(segment) 단위로 공통성을 측정하고 추출한 뒤, 이를 융합하여 더 높은 수준의 공통성을 갖는 최종 응답을 생성하는 것입니다. 

그림 2는 기존의 선택 기반 self-consistency와 본 연구에서 제안하는 fine-grained self-consistency의 개념을 비교하여 보여줍니다.

구체적으로, 선택 기반 self-consistency 방식은 LLM이 생성한 여러 응답을 특정 일관성 기준에 따라 정렬하고(Jain et al., 2023; Chen et al., 2023), 상위 응답을 최종 출력으로 선택합니다. 

  • 하지만 이러한 방식은 **응답 내부의 세부적인 일관성(consistency)**을 평가하지는 않습니다.

반면, FSC는 각 응답을 세그먼트 수준에서 분석하여 공통 부분을 추출하고, 이를 **통합(fusion)**하여 최종 출력을 생성함으로써 보다 정교한 일관성(consistency)을 지닌 출력을 도출합니다.

  • 그림 3에서는 **Fine-Grained Self-Consistency(FSC)**의 전체 워크플로우를 제시하며, 여기에는 두 가지 플러그인 구성 요소인 **후보 필터링(candidate filtering)**과 **병합(merging)**이 포함되어 있습니다.

3.1 Fine-Grained Self-Consistency

응답 내 세그먼트의 일관성을 사전에 정의된 지식으로 나누고 측정하는 것은 어렵기 때문에, 우리는 LLM이 지닌 비교 및 통합 능력을 활용하여 세분화된 수준에서의 공통 요소를 자동적으로 추출하고, 서로 다른 응답 간의 일관성 지식을 통합하려 합니다.

그림 3에서 보이듯, 여러 입력 응답을 하나로 **연결(concatenate)**한 후, LLM에게 생성된 응답들의 주요 합의(consensus)를 추출하고 이를 통합하여 최종 응답을 생성하라는 명령어와 함께 프롬프트를 구성합니다.

이 방식은 세밀한 수준에서 공통성을 측정하며, 서로 다른 응답에서 일관성 있는 정보를 효과적으로 통합함으로써, 기존 선택 기반 self-consistency 방식의 조잡한 한계를 극복합니다.

그냥 USC와 유사한데, 프롬프트 엔지니어링인거 아닌가??

  • 단지 응답후보를 다 사용하는게 아니고 아래의 과정을 거쳐서 사용한다는게 다른정도


3.2 Candidates Filtering

그림 3에서 보이듯, LLM이 생성한 응답들의 품질은 서로 상이할 수 있기 때문에, 우리는 후보 필터링(candidates filtering) 전략을 제안합니다. 이 전략은 샘플 단위에서 생성된 응답의 일관성을 측정하여, 일관성이 낮은 응답을 제거함으로써 전체 후보 집합의 품질을 보장합니다.

구체적으로, 유사도 함수 Sim\text{Sim}이 주어졌을 때, 각 응답 ii에 대해 샘플 수준 self-consistency 점수 SCSim(i)\text{SCSim}(i)를 다음과 같이 정의합니다:

SC_Sim(i)=1N1j=1,jiNSim(j,i)\text{SCSim}(i) = \frac{1}{N - 1} \sum_{j=1, j \ne i}^{N} \text{Sim}(j, i)

여기서 NN은 응답의 총 개수이며, 유사도 함수 Sim\text{Sim}에는 ROUGE(Lin, 2004)를 사용합니다.
최종적으로는 SCSim\text{SCSim} 값이 높은 상위 Top-k 개의 응답을 필터링된 후보 집합으로 선택하며, 여기서 kk는 하이퍼파라미터입니다.

응답 ri을 다른 모든 응답들과 ROUGE을 계산해서, 평균낸게 해당 문장의 유사도 점수라고 함

  • 점수가 큰 문장 k개들을 필터링된 후보 집합으로 선택
  • 뭐랄까 너무 간단한 로직이긴함

3.3 병합(Merge)

그림 3에서 보이듯, FSC의 계산 비용을 줄이기 위해, 우리는 의미적으로 유사한 후보들을 병합하여 LLM이 통합해야 할 응답 수를 줄이는 전략을 제안합니다.

또한, LLM의 입력 길이 제한으로 인해 한 번에 일관성 추출에 사용할 수 있는 샘플 수에는 제약이 존재합니다. 병합을 통해 LLM에 더 다양한 지식을 포함한 샘플들을 제공함으로써, LLM의 지식 관점(knowledge field of view)을 확장할 수 있습니다.

구체적으로, 유사한 응답들을 병합하기 위해 우리는 의미 유사도 기반의 K-Medoids 클러스터링 알고리즘을 사용합니다. 모든 응답들을 c개의 클러스터로 분류하고, 각 클러스터는 유사한 응답들의 집합을 포함하게 됩니다. 이후 각 클러스터의 **중심값(centroid)**을 대표 응답으로 선택하고, 나머지 응답은 버립니다.

이 과정은 다양한 정보를 포함한 대표 응답을 선택함으로써 FSC의 계산 비용을 줄이는 동시에 정보의 다양성은 유지할 수 있도록 합니다.

응답을 다 사용하는게 아니고 c개의 클러스터로 분류해서 중심값을 대표 응답으로 선택한다고 함

  • 중심값이란게 뭐지? 클러스터로 묶인 응답중 가장 중심에 가까운 응답을 말하는 거겠지?

3.2와 3.3에서 추출된 대표 응답들만 사용하겠다 같음

  • 3.2와 3.3을 순차적으로 필터링하는건지, 병렬적으로 하는건지 언급이 왜없음!??
  • 뒤에 실험 부분에도 안써있는거 같음

4 Experiment

4.1 Evaluation setup

4.1.1 Benchmarks

우리는 FSC를 다음과 같은 다양한 과제에서 평가하였습니다:

코드 생성 (Code Generation)

세 가지 널리 사용되는 코드 생성 벤치마크에서 실험을 수행했습니다:

  • HumanEval (Chen et al., 2021)

  • HumanEval+ (Liu et al., 2023a): Python 코드 생성을 위한 벤치마크

  • BIRD-SQL (Li et al., 2023a): 텍스트를 SQL로 변환하는 과제용 데이터셋

HumanEval은 사람이 직접 작성한 Python 프로그래밍 문제로 구성되어 있으며, HumanEval+는 여기에 더 많은 단위 테스트를 추가해 강화된 버전입니다.
BIRD-SQL은 95개의 데이터베이스로부터 파생된 총 37개 전문 도메인에서의 텍스트-투-SQL 변환 문제로 구성되어 있으며, 총 크기는 33.4GB로 훨씬 더 어려운 데이터셋입니다.

텍스트 요약 (Text Summarization)

다음 두 개의 널리 사용되는 요약 데이터셋을 활용해 실험을 수행했습니다:

  • DailyMail: 짧은 문서 요약용 (Nallapati et al., 2016)

  • SummScreen: 긴 문서 요약용 (Chen et al., 2022)

DailyMail 데이터셋에서는 각 입력이 약 800단어 길이의 뉴스 기사이며, 출력은 사람이 작성한 약 55단어 요약문입니다.
SummScreen은 **TV 쇼 에피소드의 전체 대본(평균 5,600단어)**을 입력으로 받고, 100단어 내외의 에피소드 요약을 출력으로 가집니다.

성능 평가지표로는 Nallapati et al. (2016)을 따라 ROUGE-1, ROUGE-2, ROUGE-L을 사용하여 참조 요약문과의 n-그램 중첩도를 측정하고, BERTScore F1 (Zhang et al., 2019)도 함께 측정합니다.

수학적 추론 (Mathematical Reasoning)

정형화된 정답을 가지는 과제에 대해 FSC의 일반화 성능을 검증하기 위해 다음 두 데이터셋을 도입했습니다:

  • GSM8K (Cobbe et al., 2021)

  • MATH (Hendrycks et al.)

GSM8K는 총 8,500개의 초등학교 수준 수학 문제로 구성되어 있고, MATH는 고등학생 수학 경시대회 문제 12,500개로 구성된 보다 어려운 데이터셋입니다.

4.1.2 기준선(Baselines)

우리는 FSC를 다음과 같은 self-consistency 기법들과 비교 평가합니다:

  1. Random: 여러 응답 중 하나를 무작위로 선택 (온도 > 0인 설정에서 수행)

  2. UCS (Jain et al., 2023): 후보 응답 간의 유니그램 중첩도를 계산한 후, 가장 높은 점수를 가진 응답을 최종 결과로 선택

  3. USC (Chen et al., 2023): LLM 자체를 활용하여 가장 일관성 있는 응답을 선택

  4. SC (Wang et al., 2023): 정답 추출 기반의 표준 self-consistency 방식, 여러 샘플 간의 투표 메커니즘을 통해 샘플링 노이즈를 완화

여기서 Random 방식은 temperature > 0일 때 LLM 자체의 기본 성능을 나타내며, UCS와 USC는 선택 기반 self-consistency 기법의 강력한 기준선입니다.
코드 생성 및 요약 과제는 자유 형식 출력이므로 SC는 적용이 어려워, 정답이 명확한 수학 추론 과제에서만 평가합니다 (정확한 정답 매칭이 가능하기 때문).

4.1.3 구현 세부사항 (Implementation Details)

  • 모든 실험은 GPT-3.5-turboGPT-4 모델을 사용해 수행했습니다【Achiam et al., 2023】.

  • 두 모델 모두 temperature를 0.8로 설정하여 각 벤치마크에서 초기 응답 50개를 생성했습니다.

  • 요약(Summarization)Python 코드 생성 과제에서는 zero-shot prompting을 사용했으며, 이로 인해 출력 형식이 다양합니다.

  • BIRD-SQL에서는 Li et al. (2023a)를 따라 1-shot chain-of-thought prompting을 사용해 성능을 개선했습니다.

  • 실험 비용을 고려하여, DailyMail과 SummScreen의 테스트 세트에서 각각 1,000개의 샘플을 무작위로 추출해 요약 벤치마크를 구성했습니다.

  • FSC와 USC에서는 결과의 재현성을 위해 temperature를 0으로 설정했습니다.

  • 별도로 명시되지 않는 한, 모든 기준선에서 입력 응답 수는 기본적으로 5개로 설정하였습니다. (필터링되고 사용되는 최종응답이 5개라는거겠지? 50개-->5개)

  • 모든 실험은 5회 반복 수행되었으며, 평균 성능을 보고합니다.

4.2 주요 결과 (Main Results)

4.2.1 코드 생성 (Code Generation)

표 2는 HumanEval, HumanEval+, BIRD-SQL 세 가지 데이터셋에서의 결과를 보여줍니다.

우리는 실행 정확도(execution accuracy) 외에도, **Li et al. (2023a)**의 방법을 따라 **BIRD-SQL에서 생성된 SQL 쿼리의 효율성(valid efficiency score)**도 평가하였습니다. 이는 생성된 SQL 쿼리가 얼마나 효율적으로 작성되었는지를 측정합니다.

실험 결과, FSC는 모든 데이터셋에서 실행 정확도 기준으로 모든 기준선을 큰 차이로 능가했으며, 동시에 더 효율적인 SQL 코드도 생성함을 확인할 수 있습니다.

코드는 정확성으로 평가할 수 있긴하니 간단하긴 할듯


4.2.2 텍스트 요약 (Text Summarization)

표 3은 요약 벤치마크에 대한 결과를 보여줍니다.

FSC는 두 데이터셋 모두에서 모든 평가 지표에 대해 기준선 대비 꾸준한 성능 향상을 보여주며, 짧은 요약과 긴 요약 과제 모두에서 성능을 개선할 수 있음을 입증합니다.

이 평가 메트릭은 이제 얼마나 신빈성있는지 모르겠지만.. 일단 좋다

또한, LLM이 평가 과제에서 사람과 더 높은 일관성을 보이는 것으로 알려져 있는 점(Liu et al., 2023b; Yuan et al., 2023)을 고려하여, Liu et al. (2023b)의 방법을 따라 GPT-4를 요약문 평가자로 활용하였습니다.

표 4에 따르면, FSC는 UCS 및 USC보다 더 우수한 성능을 보여주었습니다.

그래도 LLM으로 평가한것에서도 더 좋다고 나온거보면 향상되긴 한 듯


4.2.3 수학적 추론 (Mathematical Reasoning)

표 5는 FSC를 **선택 기반 self-consistency 기법(UCS, USC)**뿐만 아니라 **표준 self-consistency(SC)**와 비교한 결과입니다.

  • SC에서는 GSM8K에서 정규 표현식 매칭을 통해 정답을 추출했고, MATH에서는 **Li et al. (2023b)**의 정답 파싱 코드를 재사용했습니다.

  • 전반적으로, FSC는 UCS 및 USC 대비 일관되게 더 높은 성능을 보였으며, SC와도 대등하거나 더 나은 성능을 나타냈습니다.

  • 특히 GPT-4 환경에서는 FSC가 SC보다 더 나은 결과를 보여주었으며, 이는 FSC가 단순히 최종 정답의 통계적 유사성에 의존하지 않고, 다양한 추론 경로에 대한 분석 및 통합을 효과적으로 수행하고 있음을 시사합니다.

이러한 결과는 FSC가 향후 정답 추출이 가능한 과제에도 일반화 가능성이 있음을 보여줍니다.

4.3 후보 필터링(Candidates Filtering)의 효과

표 6은 **FSC에 후보 필터링 전략을 결합한 방식(FSC+Filter)**의 성능을, 기본 FSC선택 기반 self-consistency 기준선들과 비교한 결과를 보여줍니다.

구체적으로, FSC+Filter는 초기 N개의 응답에 대해 후보 필터링을 수행하여 N/2개의 필터링된 응답을 선택하고, 여기에 FSC를 적용하여 최종 출력을 생성합니다.

FSC+Filter가 N=10이지만 여기서 5개만 필터링해서 사용했다는 의미인듯

FSC+Filter(10)>FSC(5)라는 건 입력 문장 5개가 더 의미가 있어졌단 뜻

실험 결과, 후보 필터링을 결합한 FSC는 모든 벤치마크에서 기본 FSC보다 일관되게 더 나은 성능을 보여주었습니다. 이는 후보 필터링을 통해 고품질 응답 집합을 선별해 낼 수 있음을 의미합니다.

또한, 동일한 수의 입력 응답 수(N)를 기준으로 비교했을 때, FSC+Filter는 모든 데이터셋에서 UCS 및 USC보다 더 우수한 성능을 보였으며, 이는 DailyMail의 BERTScore 항목을 제외하면 전반적으로 FSC+Filter가 가장 뛰어남을 보여줍니다.

이러한 결과는 FSC와 후보 필터링 전략의 결합이 매우 효과적임을 입증합니다.

4.4 병합(Merge) 전략의 효과

표 7은 FSC에 병합(Merge) 전략을 적용한 결과를 보여줍니다.

실험 결과에 따르면, 병합 전략은 FSC의 입력 응답 수를 효과적으로 줄이면서도 성능 손실은 최소화할 수 있음을 보여줍니다.

  • 예를 들어, HumanEval 및 HumanEval+에서는 20.0%, DailyMail에서는 **26.5%**의 응답 수를 줄이면서도 성능 저하는 거의 없었습니다.

  • 단순히 입력 응답 수를 줄이는 방법(FSC에서 N = 4)과 비교했을 때, 병합 전략은 더 많은 비용 절감더 우수한 성능 유지를 보여주었습니다 (DailyMail의 Rouge2 및 RougeL을 제외하고는 모두 더 나은 결과).

FSC+Merge(5) 25%는 대략 1/4 응답 버렸다는거니까 평균 3.75개를 썼다는건데, 이게 그냥 FSC(4)보다 오히려 더 나은 결과를 보여주고
FSC(5)에서 큰 성능하락이 없다는 거니까, 이런 필터링이 의미있다고 주장하는 것

또한, FSC에 후보 필터링(Filter)과 병합(Merge) 전략을 모두 적용한 결과,

  • HumanEval과 HumanEval+에서는 최고의 성능을 기록하면서도 40.0%의 비용을 절감할 수 있었습니다.

  • DailyMail에서는 53.2%의 비용을 절감하면서도 성능 저하는 매우 미미했습니다.

이러한 결과는 두 전략(Filter + Merge)의 결합이 매우 효과적임을 강하게 시사합니다.

4.5 논의 (Discussion)

4.5.1 입력 응답 수의 변화에 따른 영향

그림 4는 **GPT-4 모델에서 FSC에 사용되는 입력 응답 수(n)**에 따른 성능 변화를 보여줍니다.

  • 실험 결과, n ≤ 8일 때 FSC는 입력 응답 수가 많을수록 꾸준히 성능이 향상되는 경향을 보였습니다.

  • 그러나 n = 16에서는 성능이 감소하였는데, 이는 입력 응답 수가 많아질수록 LLM이 긴 문맥을 이해하기 어려워지고, 입력 길이 제한에 도달하기 때문일 수 있습니다.

  • 따라서 입력 응답 수를 5개 정도로 제한하는 것이 성능과 계산 비용 간 균형을 이루는 이상적인 설정으로 판단됩니다.
    이와 같은 설정에서도 FSC는 모든 벤치마크에서 일관된 성능 향상을 보여주었습니다.

너무 입력 응답이 많으면 성능이 조금씩 떨어진다 => USC도 비슷한 문제 리포트
따라서 적절히 괜찮은거 5개만 넣어서 사용하는게 비용, 성능면에서 효율적이다

4.5.2 입력 응답 내 노이즈에 대한 강건성(Robustness)

표 8은 HumanEval 벤치마크에서 다양한 노이즈 분포 조건에서의 정확도를 보여줍니다.

  • 여기서 노이즈는 입력 응답 중 잘못된 예시의 비율로 정의되며, 예를 들어 분포 5/0모든 응답이 오답인 경우를 나타냅니다.

  • UCS와 USC는 입력 노이즈가 많을수록 성능이 급격히 하락하여, 랜덤 선택(Random select)보다도 못한 결과를 보이는 반면,

  • FSC는 모든 분포 조건에서 Random select보다 큰 차이로 우수한 성능을 보이며 높은 강건성을 입증했습니다.

  • 나름 의미있는 findings인듯. 응답에 노이즈가 많아도 FSC는 중요한 응답을 필터링하는 단계가 있고, 프롬프트 엔지니어링 효과?로 인해 성능이 그래도 좀 나온다는거 같음

  • 특히 **분포 5/0 조건(모든 입력이 오답)**에서도 FSC는 정확도가 0보다 높게 유지되어,

    • 오답들 속에서도 정답에 해당하는 정보 조각을 통합하고, 잘못된 부분을 제거하여 정답을 복원해내는 능력이 있음을 보여줍니다.

4.5.3 소형 오픈소스 모델에 대한 일반화 가능성

표 9는 코드 생성 과제에서 소형 오픈소스 모델인 Mistral-7B-Instruct-v0.2에 대해 FSC의 일반화 가능성을 검증한 결과입니다.

  • 기준선 샘플링에 대해 temperature는 0.2로 설정하고, 나머지 실험 구성은 메인 실험과 완전히 동일하게 유지하였습니다.

  • 결과적으로 FSC는 소형 모델에서도 효과적으로 작동할 수 있는 가능성을 보여주었습니다.

  • 오픈소스 모델로도 실험을 해줬으면 하는 아쉬움은 있긴함


4.5.4 FSC의 세그먼트 수준 합의(segment-level consensus) 분석

FSC가 더 높은 수준의 세그먼트 간 합의를 효과적으로 통합할 수 있다는 추가적인 정량적 근거를 제시하기 위해, 다음과 같은 실험을 수행했습니다:

  • 모든 생성된 후보 응답들에서 **4그램(4-gram)**을 추출하여 세그먼트를 대표하는 집합으로 구성하고, 최종 출력 응답의 4그램과의 중첩 정도를 계산하였습니다.

  • 이 값을 기준으로 두 개의 주요 기준선과 **FSC의 승률(win rate)**을 비교한 결과,

표 10에서 보여지듯, FSC는 후보 응답들로부터 보다 미세한 수준의 세그먼트를 더 많이 통합할 수 있음을 입증하였고, 이는 FSC가 더 높은 품질의 출력을 생성하는 데 기여함을 시사합니다.

5 결론 (Conclusion)

본 연구에서는 **Fine-Grained Self-Consistency (FSC)**를 제안하였습니다.
FSC는 다수의 샘플로부터 **세그먼트 수준의 합의 지식(segment-level consensus knowledge)**을 효과적으로 추출하고 활용함으로써, 기존 **선택 기반 self-consistency 방식이 가진 조잡한 한계(coarse-grained limitations)**를 극복합니다.

또한, 성능 향상과 비용 절감을 동시에 달성하기 위해 **후보 필터링(candidate filtering)**과 **병합(merge)**이라는 두 가지 전략도 함께 제안하였습니다.

광범위한 실험 결과, FSC는

  • 다양한 과제에서 성능을 크게 향상시켰으며,

  • 입력 응답 내 노이즈에 대한 강한 강건성을 보였고,

  • 정답 추출이 가능한 과제에도 일반화 가능성을 보여주었습니다.

추가 실험을 통해, 제안된 후보 필터링 및 병합 전략이 FSC의 성능을 더욱 향상시키는 동시에 계산 비용을 줄이는 데 효과적임을 확인할 수 있었습니다.

한계점 (Limitations)

다양한 과제에서 FSC가 뛰어난 성능 향상을 보여주었음에도 불구하고, 현재 구현된 FSC는 다음과 같은 한계점을 가지고 있습니다:

섹션 4.5.1에서 설명한 바와 같이, 일반적인 self-consistency 기법은 샘플 수에 제한 없이 적용 가능하지만, FSC는 기반이 되는 LLM의 컨텍스트 길이에 의해 지원 가능한 샘플 수가 제한됩니다.

즉, FSC는 응답이 매우 긴 과제(예: 이야기 생성, 장문 번역 등)에서는 적용에 제약을 받을 수 있습니다.Reference

댓글