지난 포스트에서는 LLM 기반의 시스템을 평가하는 방법에 대해 알아보았다
LLM 기반의 시스템을 평가하기 위해서는 시스템의 각 구성요소에 대한 평가가 필요한데,
인공지능이 생성한 텍스트의 품질을 평가하기 위해서는 체계적인 Human Evaluation이 가장 확실할 것이다.
그러나 생성된 텍스트의 품질을 사람이 평가하는 것은 시간과 인적 자원 측면에서 cost가 크다.
이에 자연어 생성(NLG) 시스템이 생성한 텍스트의 품질을 자동으로 평가하는 방법에 대한 연구가 꾸준하게 이루어졌다.
하지만 인공지능이 생성한 텍스트의 품질을 자동으로 평가하는 것은 어려운 일이다. 태스크에 대한 정답이 있는 경우 사용할 수 있는 reference-based 평가에서 gold label에 대한 기계적인 평가 매트릭인 BLEU나 ROUGE와 같은 지표는 창의성이나 다양성이 필요한 태스크에서 인간의 판단 혹은 선호와 낮은 상관관계를 보이는 것으로 나타났다.
게다가 모든 태스크에 대해 Gold label이 존재하는 것이 아니므로 최근에는 정답 없이도(reference-free) 생성 결과물의 품질을 평가하는 LLM 기반의 평가 방법들이 제안되고 있다.
G-Eval에서는 Chain-of-Thought(CoT)와 양식 채우기(form-filling) 패러다임을 활용하여
대규모 언어모델을 통해 생성 결과물의 품질을 평가할 것을 제안한다.
논문의 주요 발견은 아래와 같다:
- LLM 기반의 reference-based 혹은 reference-free 평가에서 모두 기존의 평가 방식을 능가하는 것으로 나타났으며,
특히 대화나 창의성을 요구하는 태스크에서 효과가 뛰어나다. - 텍스트 요약과 대화 생성 태스크에 있어 GPT-4를 백본으로 사용하는 G-EVAL 프레임워크는
사람 평가와의 피어슨 상관계수가 0.514로, 기존에 제안된 모든 방법을 크게 능가하는 상관성을 보인다. - 단, 이 방식은 프롬프트에 민감하기 때문에 CoT를 통해 더 많은 컨텍스트와 가이드를 제공할 때 alignment가 높아진다.
- LLM 기반의 평가에서 출력 토큰의 확률에 따라 불연속적인 점수에 가중치를 부여하여 continuous score을 얻을 수 있다.
- LLM 기반의 평가를 면밀히 조사한 결과, 람이 작성한 텍스트보다 LLM이 작성한 텍스트를 선호하는 편향성을 발견하였다. 따라서 LLM 기반의 매트릭을 LLM 학습의 보상 신호로 사용할 경우, 편향된 결과를 야기할 수 있다. (self reinforcement of LLMs)
G-EVAL Method
G-Eval은 세 개의 주요 구성요소로 이루어져 있다:
1) 평가하고자 하는 태스크에 대한 설명과 평가 기준에 대한 프롬프트
2) CoT - LLM이 생성한 세부 중간 평가 단계
3) Scoring function - 아웃풋 확률 값에 기반하여 최종 평가 점수를 계산
1. 생성 결과물 평가를 위한 프롬프트
프롬프트는 평가하려는 태스크에 대한 정의와 원하는 평가 기준을 정의하는 자연어 명령어를 말한다.
예를 들어 텍스트 요약의 경우 아래와 같은 프롬프트를 사용할 수 있다.
You will be given one summary written for a news article. Your task is to rate the summary on one metric. Please make sure you read and understand these instructions carefully. Please keep this document open while reviewing, and refer to it as needed.
뉴스 기사에 대해 작성된 하나의 요약이 주어질 것이다. 너의 임무는 하나의 매트릭으로 요약문을 평가하는 것이다.
아래 지침을 주의 깊게 읽고 이해하도록 하라. 검토를 진행하는 동안 이 지침을 열어두고, 필요할 때 참조하라.
이제 태스크에 대해 평가에 필요한 기준을 프롬프트화하면 된다.
평가 기준은 일관성, 간결성, 문법적 오류 없음 등 태스크에 따라 다양하게 설정할 수 있다.
예를 들어 텍스트 요약에서 <일관성> 항목을 평가하고자 하는 경우, 아래와 같은 내용을 프롬프트에 추가할 수 있다.
Evaluation Criteria:
Coherence (1-5) - the collective quality of all sentences. We align this dimension with the DUC quality question of structure and coherence whereby ”the summary should be well-structured and well-organized. The summary should not just be a heap of related information, but should build from sentence to sentence to a coherent body of information about a topic.”
평가 기준:
일관성 (1-5) - 일관성은 모든 문장에 대한 총체적인 품질을 의미한다. 이 기준은 다음과 같은 구조와 일관성에 대한 DUC 품질 질문과 관련이 있다: "요약문은 잘 구조화되고 잘 정리되어 있어야 한다. 요약문은 관련된 정보를 나열한 수준이 아니라 하나의 주제에 대한 일관된 정보로 문장에서 문장으로 이어져 있어야 한다."
2. 생성 결과물 평가를 위한 자동 Chain-of-Thoughts 구성
CoT는 텍스트 생성 과정에서 LLM이 생성하는 중간 representation 시퀀스이다.
생성된 텍스트를 평가하는 단계에서는 단순한 정의 이상의 자세한 평가 지침이 필요한데, 각각의 태스크에 대해 이러한 평가 단례를 수동으로 설계하는 것은 많은 시간이 소요된다. 대규모 언어모델은 이러한 평가 단계를 스스로 생성할 수 있기 때문에 CoT를 통해 LLM이 텍스트를 평가할 수 있도록 더 많은 컨텍스트와 지침을 제공할 수 있고, 평가 과정과 결과를 설명하는 데에도 도움이 될 수 있다.
아래는 텍스트 요약 태스크에서 <일관성> 항목을 평가하기 위해 프롬프트에 "Evaluation Steps:"라는 표현을 추가하여 LLM이 생성하도록 한 CoT이다.
1. Read the news article carefully and identify the main topic and key points.
2. Read the summary and compare it to the news article. Check if the summary covers the main topic and key points of the news article, and if it presents them in a clear and logical order.
3. Assign a score for coherence on a scale of 1 to 5, where 1 is the lowest and 5 is the highest based on the Evaluation Criteria.
평가 단계:
1. 뉴스 기사를 주의 깊게 읽고 주요 주제와 요점을 한다.
2. 요약문을 읽고 뉴스 기사와 비교한다. 요약이 뉴스 기사의 주요 주제와 요점을 명확하고 논리적인 순서로 제시하였는지 확인한다.
3. 일관성에 대한 점수를 1-5점까지의 척도로 부여한다. 이때 평가 기준에 따라 1은 가장 낮은 점수, 5가 가장 높은 점수이다.
3. 채점함수 (Scoring Function)
채점 함수는 아래의 세 가지를 인풋으로 LLM을 호출한다 :
1. 생성 결과물 평가를 위한 프롬프트
2. 자동으로 생성된 CoT
3. 입력 컨텍스트와 평가해야 할 대상 텍스트
조건부 텍스트 생성 확률을 평가 지표로 사용하는 GPTScore(Fu et al., 2023)와 달리 G-EVAL은 양식 채우기 방식으로 평가 작업을 직접 수행한다. 예를 들어, 텍스트 요약의 일관성을 평가하기 위해 일관성을 평가하기 위해 텍스트 요약에서 프롬프트와 CoT, 뉴스 기사, 요약문을 입력으로 LLM을 호출하여 각 평가 항목에 대해 1에서 5까지의 점수를 출력한다. 하지만 이렇게 직접 점수를 출력하는 방식에는 두 가지 문제가 있다:
- 일부 평가 태스크에서는 하나의 숫자가 점수 분포를 지배하였다.
예를 들어 1-5점 척도에서는 3점이 지배적으로 출력되었다. 이로 인해 사람이 판단하기에 점수가 낮은 결과물과 G-EVAL 점수와의 상관관계가 낮아질 수 있다. - 프롬프트에서 소수점 단위의 평가를 명시적으로 요청하더라도 LLM은 주로 정수 아웃풋을 출력하였다.
이로 인해 평가에서 동점이 많이 발생하였고, 이로 인해 생성된 텍스트 간의 미묘한 차이를 포착하지 못한다.
이를 해결하기 위해 LLM의 출력 토큰 확률을 사용하여 점수를 정규화하고, 그들의 가중합을 최종 결과로 사용할 것을 제안한다.
점수의 집합(1-5까지의 숫자 등)이 프롬프트 S={s1, ..., sn}에 정의되어 있을 때, 각 점수에 대한 확률 p(si)는 LLM에 의해 계산되며, 최종 점수는 다음과 같이 계산한다:
이 방식을 통해 생성된 텍스트의 품질과 다양성을 더 잘 반영할 수 있는 연속적인 점수를 얻을 수 있다.
실험 결과
논문에서는 SummEval, Topical-Chat, QAGS 세 가지 벤치마크 데이터에 대해 요약과 대화 생성 태스크에 대한 메타평가를 실시하였다.
실험 상세
GPT-3.5(text-davinci-003) 및 GPT-4를 포함한 OpenAI의 GPT 제품군을 LLM으로 활용하여 평가를 수행하였다.
✔ GPT-3.5의 경우, 모델 아웃풋의 결정성을 높이기 위해 temperature 0으로 설정
✔ GPT-4는 경우 토큰 확률을 출력하지 않기 때문에 이를 추정하기 위해 20번 아웃풋을 샘플링하도록 n=20, temperature=1, top-p=1로 설정하였다.
● 벤치마크
- SummEval : 요약에 대한 다양한 평가 방법을 비교하는 벤치마크 데이터셋. 요약문에 대해 유창성(fluency), 일관성(coherence), 일치성(consistency), 관련성(relevance) 네 가지 측면에 대한 사람의 평가를 제공한다. 데이터는 CNN/DailyMail 데이터 세트를 기반으로 한다.
- Topical-Chat : 지식을 필요로 하는 대화 응답 생성에 대한 다양한 평가자에 대한 meta evaluation을 위한 테스트베드. 자연스러움(naturalness), 일관성(coherence), 참여성(engagingness), 근거성(groundedness) 네 가지 지표를 사용한다.
- QAGS : 요약 태스크에서 hallucination을 평가하기 위한 벤치마크. 두 개의 요약 데이터셋에 대해 일관성(consistency) 측면을 평가하는 것을 목표로 한다.
● 베이스라인
G-eval을 다음과 같은 SoTA 방법론들과 비교한다.
- BERTScore - BERT 임베딩을 기반으로 두 텍스트 간의 유사성을 측정
- MoverScore - BERTScore에 soft alignment를 추가하고 새로운 집계 방법을 사용하여 보다 강건한 유사도 측정
- BARTScore - 사전 학습된 인코더-디코더의 평균 likelihood를 활용한 통합 평가기. 소스와 타깃의 평태에 따라 다른 점수를 예측할 수 있음.
- FactCC와 QAGS - 생성된 요약의 사실적 일관성을 측정.
- FactCC: 요약이 원본과 일치하는지 여부를 예측하는 BERT 기반 분류기.
- QAGS : 질문-답변 기반의 평가기. 요약문에 대해 질문을 생성하고 그 답변을 소스 문서에서 찾을 수 있는지 확인하는 방식
- USR - 다양한 관점에서 대화 응답을 평가하는 평가기로, 각 타겟 응답에 대해 서로 다른 점수를 할당하는 각기 다른 버전이 존재함
- UniEval - 텍스트 생성의 다양한 측면을 QA 작업으로 평가하는 통합 평가기. 사전 학습된 T5 모델을 사용하여 평가 과제, 소스 및 대상 텍스트를 질문과 답변으로 인코딩한 다음 QA 점수를 평가 점수로 계산함. 또한 질문 형식을 변경하여 다양한 평가 과제를 처리할 수 있음
- GPTScore - GPT-3과 같은 생성적 사전 훈련 모델로 텍스트를 평가하는 새로운 프레임워크. 생성형 사전 학습 모델이 주어진 지시문과 콘텍스트에 따라 고품질의 텍스트를 생성할 확률을 더 높게 할당한다고 가정함. G-EVAL과 달리 GPTScore는 평가 작업을 양식 채우기 문제가 아닌 조건부 생성 문제로 보고 점수를 측정함.
요약 태스크 평가 결과
- ROUGE 스코어와 같이 모델 아웃풋과 reference 요약문의 토큰 단위 유사성을 비교하는 매트릭은 사람의 평가 결과와 상관관계가 매우 낮음
- BERTScore 등 뉴럴네트워크를 활용한 매트릭의 경우 ROUGE보다 개선된 결과를 보이며, BARTScore, UniEval과 같은 프레임워크에서 상관관계가 향상됨
- 논문에서 제안한 G-EVAL 방식이 GPT 기반의 평가 방식인 GPTScore을 비롯한 다른 방법론을 능가하는 성능을 보이고, GPT-4를 사용한 결과가 사람의 평가와 더 높은 상관도를 보임.
대화 생성 태스크 결과
- ROUGE 매트릭은 참여도(Engagingness)와 근거성(Groundedness) 측면에서는 어느정도 상관관계를 보이나, 자연스러움이나 일관성 측면을 잘 반영하지 못함
- UniEval 프레임워크가 모든 측면에서 사람의 판단과 가장 일관된 점수를 예측했으나, G-EVAL이 기존의 이러한 SoTA를 능가하는 결과를 보여줌.
Hallucination에 대한 평가 결과
생성형 언어모델은 종종 문맥 입력과 일치하지 않는 텍스트를 생성하는 Hallucination 현상을 일으키는 경우가 있으며, 강력한 대규모 언어모델 또한 이런 문제를 겪고 있다. 이에 생성형 언어모델의 일관성 측면을 측정하기 위한 연구가 활발하게 이루어지고 있다. QAGS 메타 평가 벤치마크에서는 CNN/DailyMail과 XSum 데이터에 대해 이러한 Hallucination과 관련된 일관성 지표를 측정한다.
위 표를 보면 BARTScore가 CNN 데이터셋에 있어 일관성 지표를 매우 잘 측정하지만, 보다 추상적인 데이터인 QAGS-XSUM에서는 사람의 평가와 낮은 상관관계를 보이는 것을 알 수 있다.
반면 G-EVAL-4는 평균적으로 QAGS에서 모든 최신 평가기보다 성능이 뛰어나며, 특히 QAGS-Xsum에서 큰 차이를 보인다. 반면에 G-EVAL-3.5, 는 이 벤치마크에서 좋은 성적을 거두지 못했다. 이는 일관성 측면을 측정함에 있어 LLM의 capacity가 중요하다는 것을 알 수 있다.
상세 분석
G-Eval은 LLM이 생성한 텍스트를 선호하는가
LLM을 평가자로 사용할 때 우려사항 중 하나는 모델이 직접 작성한 고품질 텍스트보다 LLM 자체에서 생성한 결과물을 더 선호할 수 있다는 점이다. 이 문제를 조사하기 위해 요약 과제에 대한 실험을 수행하여 LLM이 생성한 요약과 사람이 작성한 요약의 평가 점수를 비교해 보았다. 이 실험에서는 프리랜서 작가에게 뉴스 기사의 고품질 요약문을 작성하도록 요청한 다음, annotator가 사람이 작성한 요약문과 LLM이 생성한 요약문을 비교 평가한 데이터셋을 활용하였다.
데이터는 다음의 세 카테고리로 나누어진다:
1) 사람이 평가했을 때 GPT-3.5가 작성한 요약보다 사람이 작성한 요약이 더 높은 점수를 받은 경우
2) 사람이 평가했을 때 GPT-3.5가 작성한 요약보다 사람이 작성한 요약이 더 낮은 점수를 받은 경우
3) 사람이 평가했을 때 GPT-3.5가 작성한 것과 사람이 작성한 요약이 같은 품질이라고 평가한 경우
G-Eval-4를 통해 위의 각각의 케이스에 대해 요약문을 평가하고 평균 점수를 비교한 결과는 아래와 같다.
그림에서 볼 수 있듯이 G-EVAL-4는 항상 GPT-3.5가 작성한 요약을 선호한다.
그 이유는 다음과 같이 추정해볼 수 있다:
1. 품질이 좋은 시스템이 생성한 결과물은 평가가 어렵다. 사람이 생성한 요약문과 LLM이 생성한 요약문에 대한 사람 평가조차도 평가자 간의 의견 합의의 정도가 낮았다 (Krippendorff's alpha = 0.07)
2. 모델이 생성과 평가에 있어 같은 평가 기준에 대한 개념을 가지고 있기 때문에 LLM 기반의 요약을 선호하도록 편향되었을 수 있다.
이러한 평가에 있어서의 편향성을 줄이기 위해서는 추가 연구가 필요하다.
LLM 기반의 평가기를 추가 튜닝에 보상 시그널로 활용한다면 LLM에 대한 자기 강화(self-reinforcement)가 일어날 수 있으며, 이로 인해 실제 NLG 태스크에 대한 평가 기준이 아닌 LLM 고유의 기준에 과적합되는 문제가 생길 수 있다.
Chain-of-Toughts의 영향
G-Eval 프레임워크를 CoT 유무에 따라 그 성능을 요약 태스크에 대해 비교해본 결과, 특히 유연성 항목에 있어 CoT를 사용할 때 사람의 평가와의 상관관계가 높은 것으로 나타났다. 이 결과로 미루어볼 때 CoT가 LLM이 생성된 결과를 평가함에 있어 더 많은 맥락과 가이드를 제공하며, 평가 과정과 결과에 대해 설명력을 높인다는 것을 알 수 있다.
Probability Normalization의 영향도
요약 태스크에 있어서는 probability를 활용한 결과가 이를 활용하지 않았을 때보다 떨어졌다.
논문 저자는 이러한 결과가 Kendall-Tau 상관관계의 계산 방법에 기인한다고 보았는데, 이 상관관계는 일치하는 쌍과 일치하지 않는 쌍의 개수를 활용한다.
확률값을 사용하지 않도 바로 점수를 매기는 경우 두 결과가 비긴다로 평가한 경우가 많은데, 이렇게 되면 모델이 생성된 텍스트를 평가하는 진짜 능력을 반영하지 못하게 된다. 반면 확률 정규화를 사용하면 보다 정교한 연속적인 점수를 얻을 수 있으며, 텍스트 간의 미묘한 차이를 점수화하게 된다. 점수의 랭크에 기반한 Spearman 상관관계의 경우 확률 정규화를 사용한 쪽의 상관성이 높게 나타난 것이 이를 설명한다.
모델 크기의 영향도
Topical-Chat의 engagingness와 groundednessrl기준을 제외하면,
대부분의 데이터셋과 척도에 대해 GPT-4를 사용한 결과가 GPT-3.5-turbo를 사용했을 때보다 사람과의 상관관계가 높았다.
대규모 언어모델은 G-Eval의 성능을 향상시킬 수 있으며, 일관성이나 상관성과 같은 까다로운 척도에 대해서도 특히 더 잘 작동하는 것을 알 수 있다.
예시 프롬프트
요약 태스크에서 <일관성> 평가
You will be given one summary written for a news article.
Your task is to rate the summary on one metric.
Please make sure you read and understand these instructions carefully.
Please keep this document open while reviewing, and refer to it as needed.
Evaluation Criteria:
Coherence (1-5) - the collective quality of all sentences. We align this dimension with the DUC quality question of structure and coherence whereby ”the summary should be well-structured and well-organized. The summary should not just be a heap of related information, but should build from sentence to sentence to a coherent body of information about a topic.”
Evaluation Steps:
1. Read the news article carefully and identify the main topic and key points.
2. Read the summary and compare it to the news article. Check if the summary covers the main topic and key points of the news article, and if it presents them in a clear and logical order.
3. Assign a score for coherence on a scale of 1 to 5, where 1 is the lowest and 5 is the highest based on the Evaluation Criteria.
Example:
Source Text:
{{Document}}
Summary:
{{Summary}}
Evaluation Form (scores ONLY):
- Coherence:
대화 생성 태스크에서 <Engagingness> 평가
You will be given a conversation between two individuals. You will then be given one potential response for the next turn in the conversation. The response concerns an interesting fact, which will be provided as well.
Your task is to rate the responses on one metric.
Please make sure you read and understand these instructions carefully. Please keep this document open while reviewing, and refer to it as needed.
Evaluation Crieteria:
Engagingness (1-3) Is the response dull/interesting?
- A score of 1 (dull) means that the response is generic and dull.
- A score of 2 (somewhat interesting) means the response is somewhat interesting and could engage you in the conversation (e.g., an opinion, thought)
- A score of 3 (interesting) means the response is very interesting or presents an interesting fact
Evaluation Steps:
1. Read the conversation, the corresponding fact and the response carefully.
2. Rate the response on a scale of 1-3 for engagingness, according to the criteria above.
3. Provide a brief explanation for your rating, referring to specific aspects of the response and the conversation.
Example:
Conversation History:
{{Document}}
Corresponding Fact:
{{Fact}}
Response:
{{Response}}
Evaluation Form (scores ONLY):
- Engagingness:
'AI' 카테고리의 다른 글
[Huggingface] 모델 학습 시 GPU 메모리 사용 알아보기 (2) | 2024.03.08 |
---|---|
Open-Ko-LLM | 한국어 대규모 언어모델 리더보드 (0) | 2024.02.16 |
LLM Evaluation | LLM 기반의 시스템을 어떻게 평가할 수 있을까 (5) | 2024.01.16 |
OpenAI GPT store 공개 - 내가 가진 아이디어로 노코딩 챗봇 개발 & 수익화하기 (34) | 2024.01.12 |
LLM fine-tuning 전략 | PEFT - Parameter Efficient Fine Tuning (3) | 2024.01.09 |