AI바라기의 인공지능

LLM / VLM : 논문 리뷰 : Self-Taught Evaluators 본문

논문리뷰

LLM / VLM : 논문 리뷰 : Self-Taught Evaluators

AI바라기 2024. 8. 28. 13:29

Abstract

모델 기반 평가는 성공적인 모델 개발의 핵심입니다. 훈련을 위한 보상 모델로서, 그리고 인간 평가를 대체하는 수단으로 사용됩니다. 이러한 평가자를 훈련시키는 표준적인 접근 방식은 모델 응답에 대한 방대한 양의 인간 선호도 판단을 수집하는 것이지만, 이는 비용이 많이 들고 모델이 개선됨에 따라 데이터가 쓸모없게 됩니다.

 

이 연구에서는 인간 주석 없이 합성 훈련 데이터만 사용하여 평가자를 개선하는 것을 목표로 하는 접근 방식을 제시합니다. 레이블이 지정되지 않은 지침에서 시작하여, 반복적인 자기 개선 체계는 대조적인 모델 출력을 생성하고 LLM-as-a-Judge를 훈련하여 추론 추적 및 최종 판단을 생성하며, 개선된 예측을 사용하여 각각의 새로운 반복에서 이 훈련을 반복합니다. 레이블이 지정된 선호도 데이터 없이도, Self-Taught Evaluator는 강력한 LLM (Llama3-70B-Instruct)을 RewardBench에서 75.4에서 88.3(다수결 투표 시 88.7)로 향상시킬 수 있습니다. 이는 GPT-4와 같은 일반적으로 사용되는 LLM 심사위원보다 성능이 뛰어나고 레이블이 지정된 예제로 훈련된 최고 성능의 보상 모델과 성능이 비슷합니다.

 

 

Introduction

Large language models (LLMs)은 개발 라이프사이클의 모든 단계에서 강력한 평가자에 의존합니다. 훈련 시에는 인간의 선호도에 맞추기 위한 reward model로 사용되거나 (Bai et al., 2022; Ouyang et al., 2022), 반복적인 자기 개선을 위해 사용되며 (Yuan et al., 2024), 추론 시에는 인간 평가의 대안으로 사용됩니다 (Li et al., 2023; Chiang and Lee, 2023; Wang et al., 2023a; Liu et al., 2023). 따라서 평가 능력의 향상은 전체 워크플로우에 분명히 도움이 될 것입니다. 더 나은 전반적인 기술을 개발하고자 하는 과학 연구 과정 자체를 강화하는 것도 포함됩니다.

 

이러한 강력한 평가자 모델을 구축하는 것은 일반적으로 모델 응답에 대한 인간 주석에서 얻은 많은 양의 고품질 선호도 데이터에 의존하는데, 이는 챌린징한 작업(예: 코딩 및 수학)에는 전문가 주석이 필요하기 때문에 수집하는 데 비용과 시간이 많이 소요될 수 있습니다. 인간 생성 데이터에 대한 이러한 의존성은 새로운 작업이나 평가 기준으로 확장하는 데 상당한 어려움을 야기합니다. 게다가 새로운 모델은 필연적으로 이전 모델보다 개선되기 때문에 기존 주석은 일반적으로 구식이 됩니다. 왜냐하면 판단은 이전의 덜 효율적인 모델 응답에 대한 주석을 기반으로 하기 때문입니다.

 

이 연구에서는 대신 훈련 루프에서 인간 주석 선호도를 전혀 사용하지 않고 순전히 합성적으로 생성된 데이터에 의존하는 반복적인 자체 훈련 접근 방식을 탐구합니다. 시드 모델이 주어지면, 우리의 방법은 먼저 프롬프팅을 사용하여 주어진 입력에 대해 대조적인 합성 선호도 쌍을 생성합니다. 한 응답은 다른 응답보다 열등하도록 설계됩니다. 다음으로, 모델을 LLM-as-a-Judge로 사용하여 이러한 쌍에 대한 추론 추적 및 판단을 생성하는데, 이는 합성 선호도 쌍 디자인을 고려할 때 정확한지 여부를 레이블링할 수 있습니다. 이 레이블이 지정된 데이터에 대해 훈련한 후에는 우수한 LLM-as-a-Judge를 얻게 되며, 이를 통해 전체 프로세스를 반복하여 자체 개선할 수 있습니다.

 

실험에서는 Llama-3-70B-Instruct에서 시작하여 제안된 방법은 RewardBench (Lambert et al., 2024)에서 정확도를 75.4에서 88.7(다수결 투표 시, 또는 88.3)로 향상시킵니다. 이는 동일한 Llama-3-70B-Instruct 모델에서 파생된 보상 모델의 성능과 같거나 능가하는데, 예를 들어 10k 주석의 HelpSteer2 데이터셋 (Wang et al., 2024b)을 사용하면 동일한 LLM-as-a-Judge 설정을 사용하여 85.6의 성능을 달성합니다.

 

 

Related Work

LLM-based Evaluators

전통적인 평가 벤치마크는 참조 답변이 필요한 자동화된 메트릭을 사용하지만 (Wang et al., 2019; Rajpurkar et al., 2016), 이러한 유형의 벤치마크는 여러 유효한 답변이 가능한 개방형 또는 복잡한 지침(예: 창의적인 글쓰기 및 코딩)을 평가할 때 심각한 제한을 야기할 수 있습니다. 응답별 인간 평가는 비용이 많이 들 수 있기 때문에 최근 많은 연구에서 LLM을 효과적인 평가자로 제안했습니다.

 

이러한 평가자는 여러 가지 형태로 제공됩니다. 점수를 직접 출력하는 분류기 (Zhu et al., 2023; Wang et al., 2024a) 또는 판단에 대한 설명을 제공하는 데 도움이 되는 자연어로 된 chain-of-thought를 먼저 생성할 수 있는 LLM-as-a-Judge 프롬프팅을 통해 제공됩니다 (Zheng et al., 2023). 응답은 단독으로 채점되거나 (Kim et al., 2023) 쌍으로 서로 비교하여 채점될 수도 있습니다 (Dubois et al., 2023; Li et al., 2023; Bai et al., 2023; Saha et al., 2024).

LLM 평가는 인간 평가자를 위한 확장 가능한 프록시로서, 그리고 LLM-as-a-Judge의 경우 설명 가능한 프록시로서도 큰 가능성을 보여줍니다 (Ye et al., 2024; Zheng et al., 2023). 그러나 이러한 "off-the-shelf" 평가자 중 다수는 여러 작업에서 높은 분산을 보여 (Bavaresco et al., 2024), 개선된 방법의 필요성을 나타냅니다.

 

 

Synthetic Data

Synthetic data는 훈련 예제를 효율적으로 얻기 위한 유망한 솔루션으로 떠올랐으며, 실제 데이터에 접근하기 어려운 환경(예: 모든 조건을 포괄하는 날씨 데이터 (Lam et al., 2023))이나 정확한 주석을 얻기 어려운 환경(예: 코딩 작업 (Liu et al., 2024))에서 특히 유용할 수 있습니다. 또한 synthetic data는 다양한 평가 기준이나 안전 제약과 같은 특정 요구 사항에 맞춰 쉽게 커스터마이징할 수 있다는 이점이 있습니다 (Kim et al., 2023; El Emam et al., 2020; Howe et al., 2017).

Synthetic data는 모델 alignment (Lee et al., 2023), 원본 모델의 기능 개선 (Yuan et al., 2024; Li et al., 2024a; Yu et al., 2024; Li et al., 2024b), 모델에 새로운 기술 교육 (Schick et al., 2023; Lanchantin et al., 2023) 등에 유용하게 활용되었습니다. 평가 맥락에서 synthetic data는 사실성 (Wei et al., 2024; Feng et al., 2023), 안전성 (Perez et al., 2023; Hubinger et al., 2024), 코딩 (Gu et al., 2024), 일반적인 지침 준수 (Zeng et al., 2024)와 같은 작업을 측정하는 데 사용되었으며, 실제 인간 판단과 높은 상관관계를 보였습니다.

 

West-of-n 접근 방식 (Pace et al., 2024)은 초기 모델에서 가장 높은 점수와 가장 낮은 점수를 받은 쌍을 사용하여 선호도 쌍을 구성함으로써 reward model을 개선하는 데 사용되었습니다. 특히 LLM-as-a-Judge 모델의 경우, LLM에 특정 품질의 응답을 생성하도록 프롬프트하여 합성 응답을 생성했습니다 (Kim et al., 2023).

 

 

 

 

Method

우리는 LLM-as-a-Judge 접근 방식 (Zheng et al., 2023)을 사용한 쌍별 평가 설정을 고려합니다. 이 접근 방식은 다음을 입력으로 받습니다:

  • 입력 (사용자 지침) x
  • 사용자 지침 x에 대한 두 가지 가능한 비서 응답 y(A) 및 y(B)
  • 평가 기준을 포함하고 우승 답변을 평가하고 선택하도록 요청하는 평가 프롬프트 (예: 그림 8 참조)

 

LLM-as-a-Judge 모델의 목표는 어떤 응답 y가 더 나은지 선호도를 출력하는 것입니다: A 또는 B. 이를 위해 최종 판단 이전에 모델이 최종 판단을 결정하는 데 도움이 되는 자연어로 생성된 일련의 단계인 chain-of-thought (또는 "reasoning chain")를 출력하는 것이 일반적입니다.

이러한 모델은 DPO (Rafailov et al., 2023), Iterative DPO (Xu et al., 2023) 및 Self-Rewarding methods (Yuan et al., 2024)와 같은 훈련 방법을 위한 preference optimization 훈련 데이터를 구축하기 위한 쌍별 reward model로 사용될 수 있습니다. 또한 평가에도 사용될 수 있습니다. 예를 들어, 많은 인기 있는 벤치마크 리더보드는 GPT4 (Achiam et al., 2023)와 같은 고정된 LLM-as-a-Judge 평가 모델을 사용하여 구축됩니다 (Li et al., 2023).

우리는 이러한 평가자를 훈련시키기 위한 새로운 방법을 제안합니다. 우리의 전체적인 방법은 현재 모델의 판단을 구성된 합성 데이터를 사용하여 주석을 달아 개선 사항을 부트스트랩하는 반복적인 훈련 체계입니다. 따라서 Self-Taught Evaluator는 다음 반복에서 더 나은 성능을 발휘합니다. 전체 파이프라인은 다음과 같습니다:

  • 초기화: 우리는 프로덕션 시스템에서 일반적으로 수집되는 유형의 방대한 양의 인간 작성 사용자 지침 세트와 초기 시드 LLM에 액세스할 수 있다고 가정합니다.
  • 지침 선택: 다음으로 LLM을 통해 분류하여 선별되지 않은 세트에서 균형 잡힌 챌린징한 사용자 지침 분포를 선택합니다.
  • 응답 쌍 구성: 각 사용자 지침 (예시)에 대해 두 가지 모델 응답 (선택 및 거부)의 선호도 쌍을 생성하고, 거부된 응답이 선택된 응답보다 품질이 낮을 가능성이 있도록 프롬프트를 통해 생성합니다.
  • 반복 훈련: 그런 다음 다음 두 단계를 반복합니다:
    • (i) 판단 주석: 각 예시에 대해 현재 모델에서 최대 N번까지 LLM-as-a-Judge가 생성한 추론 추적 및 판단을 샘플링합니다. 정확한 판단을 찾으면 해당 예시를 훈련 세트에 추가하고, 그렇지 않으면 폐기합니다.
    • (ii) 모델 Fine-tuning: 새로 구성된 훈련 세트에서 모델을 fine-tune하여 다음 반복을 위한 업데이트된 모델을 생성합니다.

각 훈련 반복에서 훈련 세트의 크기는 현재 모델의 품질에 따라 달라집니다. 모델이 개선됨에 따라 모델이 더 많은 정확한 판단을 찾을 수 있게 되어 훈련 세트의 크기도 증가할 것으로 예상하며, 이는 모델에 일종의 자동 커리큘럼을 제공합니다. 다음으로 각 단계를 자세히 설명합니다.

 

 

 

3.1 Initialization

사용자 지침 풀 {xi}에 접근할 수 있다고 가정합니다. 각 샘플 xi는 하나의 텍스트 지침이거나 사용자와 비서 간의 턴으로 구성된 multi-turn 대화 기록일 수 있으며, 마지막 턴은 사용자의 지침 또는 질문입니다. 지침에는 일반적으로 일반 지식 및 추론, 코딩, 안전, 수학적 추론과 같은 다양한 기술이 포함됩니다.

 

3.2 Instruction Selection

인간이 작성한 사용자 지침 풀이 주어지면 주제, 다양성, 난이도, 모델의 답변 능력 측면에서 불균형뿐만 아니라 많은 노이즈가 있을 수 있습니다. 따라서 훈련에 더 사용할 수 있는 고품질 합성 응답 및 판단을 생성하기 위해 지침의 하위 집합을 선택하는 것을 목표로 합니다.

LLM을 사용하여 각 입력을 코딩, 추론, 브레인스토밍 등과 같은 특정 범주로 분류합니다. 사용하는 정확한 프롬프트는 그림 7에 나와 있습니다. 그런 다음 해당 범주 내에서 데이터를 자유롭게 선택하고 훈련에 유용하지 않다고 판단되는 특정 범주를 버릴 수 있습니다.

 

 

3.3 Response Pair Construction

선별된 훈련 풀의 각 입력 xi에 대해, 다음으로 w가 l(losing)보다 선호될 것으로 예상되는 두 응답 y(w)i 및 y(l)i가 포함된 preference data를 생성합니다. 우리는 인간 주석을 사용하지 않고 합성 방식으로 데이터를 생성하여 이를 달성합니다.

지침 xi가 주어지면 먼저 instruction-following LLM에 프롬프트하여 평소처럼 baseline 응답 y(w)i를 생성합니다. 그런 다음 LLM에 프롬프트하여 원본 지침의 "noisy" 버전 x'i = ϕ(xi)를 생성합니다. 그림 2에 제공된 프롬프트 템플릿을 사용하여 "사용자로부터 위의 지침과 매우 관련성이 높지만 의미적으로 동일하지 않은 수정된 지침을 생성하십시오"라고 요청합니다. 그런 다음 LLM에 x'i에 대한 고품질 응답 y(l)i를 프롬프트하는데, 이는 xi에 대한 좋은 응답이 아닐 것입니다. 이렇게 하면 원본 입력 xi에 대한 합성 선호도 y(w)i ≻ y(l)i가 생성됩니다.

그런 다음 이 쌍 데이터를 사용하여 훈련 예제를 구성합니다.

(xi, y(A)i , y(B)i )

여기서 승자가 w = A인지 w = B인지 순서를 무작위로 지정하는데, 이는 LLM-as-a-Judge 추론에서 position bias를 처리하는 데 중요합니다.

 

3.4 Judgment Annotation

LLM-as-a-Judge 모델은 다음과 같은 방식으로 각 훈련 예제 ei := (xi, y(A)i , y(B)i )에 대한 평가 판단(추론 체인 및 평결) {ji}를 생성하는 데 사용됩니다. 주어진 입력 ei에 대해 모델에서 샘플링하여 N개의 다양한 평가 J := {j1i , . . . , jNi }를 수집합니다. 그런 다음 3.3절에서 파생된 ground truth 레이블링과 최종 평결이 일치하지 않을 때 jni 를 제거하여 J를 필터링하기 위해 rejection sampling을 적용합니다. 그런 다음 정답 풀에서 하나의 정확한 추론 체인과 평결을 무작위로 선택합니다. 그러한 판단이 존재하지 않으면(J가 비어 있으면) 예제를 버립니다.

이제 fine-tuning을 위한 합성 선호도의 최종 훈련 예제를 구성할 수 있습니다.

((xi, y(A)i , y(B)i ), ji)

 

3.5 Model Fine-tuning (Iterative Training)

Self-Taught Evaluator(LLM-as-a-Judge 모델)는 먼저 시드 LLM으로 초기화됩니다. 그런 다음 모델은 반복적인 방식으로 훈련됩니다. 각 반복에서 현재 모델을 사용하여 3.4절에 설명된 대로 훈련 예제에 판단을 주석으로 추가하여 훈련 예제 {(xi, y(A)i , y(B)i , ji)}를 제공합니다. 이들은 fine-tuning을 통해 다음 반복 모델을 훈련하는 데 사용됩니다. 각 반복에서 시드 모델에서 초기화합니다.

 

Experiments

 

4.1 Experimental Setup

Training. 초기 모델 M0는 Llama3-70B-Instruct에서 초기화됩니다. 각 반복 i = 1, ..., T에서 이전 반복의 모델 Mi-1을 사용하여 합성 선호도를 생성한 다음 훈련 데이터에 대한 판단을 생성하고 Llama3-70B-Instruct를 다시 fine-tune합니다. instruction fine-tuning에는 fairseq2 라이브러리 (Balioglu, 2023)를 사용하고 추론에는 vLLM (Kwon et al., 2023)을 사용합니다. 훈련하는 동안 negative log-likelihood loss는 훈련 예제의 평가 부분, 즉 ji에만 적용됩니다. 훈련 하이퍼파라미터는 표 7에 제공됩니다. 모델 선택은 held out set에 대해 계산된 쌍별 판단 정확도와 position bias의 조합을 사용하여 수행됩니다. 생성에 사용된 샘플링 매개변수는 표 8에 제공됩니다.

 

Instructions and Responses. WildChat 데이터셋 (Zhao et al., 2024)에서 추출한 방대한 양의 인간 작성 지침 {xi} 풀에서 시작합니다. 프롬프트 선택을 수행하기 위해 Mixtral 22Bx8 Instruct 모델을 사용하여 그림 7의 템플릿을 사용하여 각 지침의 범주에 주석을 달고 추론 범주에서 예제를 선택합니다. 이러한 입력은 챌린징한 입력이 될 것으로 예상하기 때문입니다. 선택된 입력에 대해 3.3절 및 그림 2에 따라 Mixtral 22Bx8 Instruct를 사용하여 합성 응답 y(w)i 및 y(l)i를 생성합니다.

 

Judge Annotation. 각 훈련 예제에 대해 모델 Mi-1에서 N = 15개의 판단을 샘플링하고 예제당 하나의 positive sample ji를 유지합니다. 그런 다음 전체 데이터셋에서 균형 잡힌 훈련을 위해 서로 다른 레이블("A가 더 좋음", "B가 더 좋음")에서 동일한 양의 예제를 샘플링합니다. M0 훈련을 위한 판단은 Mixtral 22Bx8 Instruct에서 샘플링되었으며, 후속 모든 반복에서는 훈련 중인 Llama 모델에서 샘플링되었습니다. 훈련 데이터는 (, {(xi, y(A)i , y(B)i , ji)})로 구성됩니다. 그림 8과 같이 MT-Bench 및 RewardBench의 표준 시스템 프롬프트를 사용합니다.

 

Majority Vote Inference. LLM-as-a-Judge는 LLM에서 생성된 chain-of-though 추론 체인과 그 뒤에 이어지는 평결을 사용하기 때문에 이러한 경우 다수결 투표 추론이 개선을 가져올 수 있다는 것이 알려져 있습니다 (Wang et al., 2023b). 최종 성능을 평가할 때 추론 시 N번 생성을 샘플링하고 최종 판단을 가장 일반적인 평결로 간주합니다.

 
 
 
 
 

 

정리 본입니다.

더보기




1. Prompt x:

  • Prompt는 LLM(Large Language Model)이 답변을 생성해야 하는 입력입니다. 이것은 사용자가 모델에 제공하는 질문이나 지시문과 같은 것입니다.

2. LLM (Large Language Model):

  • LLM은 주어진 Prompt를 기반으로 응답을 생성하는 언어 모델입니다. 여기서는 하나는 좋은 응답( ywy^w )을 생성하고, 다른 하나는 나쁜 응답( yly^l )을 생성하는 두 개의 LLM이 사용됩니다.

3. Good Response yw:

  • Good Response는 LLM이 생성한 좋은 응답입니다. 이는 **Judge MtM_t**에 의해 평가될 응답 중 하나입니다.

4. Bad Response yl:

  • Bad Response는 LLM이 생성한 덜 선호되는(나쁜) 응답입니다. 이 역시 **Judge MtM_t**에 의해 평가될 응답 중 하나입니다.

5. Judge Mt:

  • Judge는 현재의 모델 버전 MtM_t를 의미하며, LLM이 생성한 응답( ywy^wyly^l )들을 평가하여 어떤 응답이 더 나은지 판단합니다.

6. Sample Judgments J:

  • Sample Judgments는 **Judge MtM_t**가 내린 판단(평가) 결과들입니다. 즉, 어떤 응답이 더 나은지에 대한 판단( jj )을 의미합니다.

7. Judge Data:

  • Judge Data는 **Judge MtM_t**가 평가한 결과를 모아둔 데이터입니다. 이 데이터에는 Prompt xx, 좋은 응답 ywy^w, 나쁜 응답 yly^l, 그리고 Judge의 판단 결과가 포함됩니다.
  • 이 데이터는 다음 단계의 모델 훈련(SFT training)에서 사용되며, 모델을 업데이트( Mt+1M_{t+1} )하는 데 사용됩니다.

8. Optimization:

  • Optimization은 주어진 Judge Data를 사용하여 모델을 개선하는 과정입니다. 이 과정에서 모델은 새로운 데이터를 학습하여 더 나은 평가자가 됩니다.

9. SFT (Supervised Fine-Tuning) Training:

  • SFT TrainingJudge Data를 사용하여 모델을 지도 학습 방식으로 미세 조정하는 과정입니다. 이를 통해 모델의 평가 성능을 높입니다.

10. Next Iteration Model Mt+1M_{t+1}:

  • Next Iteration ModelSFT Training을 통해 업데이트된 다음 단계의 모델입니다. 이 모델은 이전 모델 MtM_t보다 더 나은 평가 능력을 가지게 됩니다.

이 요약된 과정에서, Judge Data는 LLM이 생성한 응답에 대한 평가 결과를 모아둔 데이터 집합으로, 다음 단계 모델의 성능을 높이는 데 중요한 역할을 합니다.