본문 바로가기
Computer/LLM

InstructGPT Evaluation

by hexists 2023. 4. 17.

https://openai.com/research/instruction-following

https://arxiv.org/abs/2203.02155

 

instructGPT의 Evaluation에 대해 정리합니다.

위 논문에서 3.6 Evaluation 부분을 보고 이해한대로 정리한 내용입니다.

 

잘못 이해한 부분이 있다면 언제든지 알려주세요.

 

Alignment

  • 평가에서 중요한 개념
  • Leike et al. (2018): user intentions에 따라서 행동하는 모델을 훈련
  • Askell et al. (2021): helpful, honest, and harmless 되도록 정렬
    • instructGPT에서는 Askell과 유사한 framework를 사용
  • helpful 평가
    • 모델은 1) instructions을 잘 수행해야 하고, 2) few-shot prompt에서 추론도 잘해야 함
    • (prompt의 의도가 명확하지 않거나 애매할 수 있기 때문에) labeler의 선호도로 평가
    • 유저의 실제 의도와 labeler가 prompt만 읽고 유추한 것에 차이가 있을 수 있음
  • honesty 평가
    • 모델의 실제 출력과 올바른 출력의 "belief" 비교가 필요함, 모델이 big black box이기에 우리는 belief를 유추할 수 없음
    • 그 대신 truthfulness(진실성, 세계가 진실인지에 대한 모델의 진술이 사실인지 아닌지)를 측정
      • closed domain(hallucinations)에 대한 경향 평가
      • TruthfulQA dataset 사용
      • truthfulness의 small parts에 대한 평가로 볼 수 있음
  • harmless 평가
    • 출력이 real world에서 사용되는지에 의존적임
    • 프로젝트의 초기, labelers 직접 평가했지만, 출력이 어떻게 사용될지 너무 많은 추측이 필요해서 중단함
    • harmful 일 수 있는 동작의 다양한 측면을 포착하는 것을 목표로 하는 specific proxy criteria 모음을 사용
    • RealToxicityPrompts, CrowS-Pairs datasets으로 bias and toxicity를 벤치마크

 

위 내용을 2가지 부분으로 정리하면...

  • Evaluations on API distribution
    • prompts 집합에 대한 human preference ratings
    • 평가시 학습에 포함되지 않은 고객의 prompt만 선택
    • GPT-3 형평성을 위해 instructGPT와 GPT-3 prompt를 함께 평가
    • 각 모델에 대해 baseline policy 선호되는 빈도를 계산
    • baseline: 175B SFT 모델
    • labeler는 각 답변의 전체 품질 평가: 1-7 Likert scale와 각 모델 출력의 metadata 범위를 수집
  • Evaluations on public NLP datasets
    • 2종류의 public datasets을 사용: TruthfulQA, RealToxicityPrompts
      • 언어 모델 안전성의 측면, 특히 진실성, 독성 및 편견
      • zero-shot performance: 질문 답변, 독해 및 요약
    • RealToxicityPrompts dataset에 대해 human evaluations 수행
    • sampling-based NLP tasks에 대한 모델의 samples를 릴리즈

본문 내용입니다.

3.6 Evaluation

To evaluate how “aligned” our models are, we first need to clarify what alignment means in this context.
aligned를 평가하기 위해서는 먼저 alignment의 의미부터 명확하게 해야 한다.

 

The definition of alignment has historically been a vague and confusing topic, with various competing proposals (Chen et al., 2021; Leike et al., 2018; Gabriel, 2020).
alignment 정의는 역사적으로 모호하고 혼란스러운 주제였다.

 

Following Leike et al. (2018), our aim is to train models that act in accordance with user intentions.

Leike에 따르면, 우리의 목표는 user intentions에 따라서 행동하는 모델을 훈련시키는 것이다.

 

More practically, for the purpose of our language tasks, we use a framework similar to Askell et al. (2021), who define models to be aligned if they are helpful, honest, and harmless.

더 실질적으로 우리의 language tasks의 목적을 위해 Askell과 유사한 framework를 사용한다. Askell은 모델을 helpful, honest, and harmless 되도록 정렬한다.

 

To be helpful, the model should follow instructions, but also infer intention from a few-shot prompt or another interpretable pattern such as “Q: {question}\nA:”.

도움을 주기 위해서는 모델이 instructions을 따라야 하지만, few-shot prompt 또는 “Q: {question}\nA:”와 같은 해석 가능한 패턴으로부터 의도를 추론해야 한다.

 

Since a given prompt’s intention can be unclear or ambiguous, we rely on judgment from our labelers, and our main metric is labeler preference ratings.

prompt의 의도가 명확하지 않거나 애매할 수 있기 때문에, 우리는 labeler의 판단에 의존하고, 우리의 주요 평가는 labeler의 선호도 평가이다.

 

However, since our labelers are not the users who generated the prompts, there could be a divergence between what a user actually intended and what the labeler thought was intended from only reading the prompt.

그러나, labelers는 prompt를 만든 사람이 아니기 때문에, 유저가 실제로 의도한 것과 labeler가 prompt만 읽고 유추한 것과 차이가 있을 수 있다.

 

It is unclear how to measure honesty in purely generative models; this requires comparing the model’s actual output to its “belief” about the correct output, and since the model is a big black box, we can’t infer its beliefs.
순수하게 생성 모델에서 정직한지 측정하는 게 명확하지 않다. 이를 위해서는 모델의 실제 출력과 올바른 출력의 "belief"와 비교해야 하는데, 모델이 big black box이기에 우리는 belief를 유추할 수 없다.

 

Instead, we measure truthfulness—whether the model’s statements about the world are true—using two metrics:

(1) evaluating our model’s tendency to make up information on closed domain tasks (“hallucinations”), and

(2) using the TruthfulQA dataset (Lin et al., 2021).

그 대신에 우리는 truthfulness(진실성, 세계가 진실인지에 대한 모델의 진술이 사실인지 아닌지)를 측정한다.

1) closed domain, hallucinations에 대한 정보를 구성하는 모델의 경향을 평가

2) TruthfulQA dataset을 사용 

 

Needless to say, this only captures a small part of what is actually meant by truthfulness.

이것은 truthfulness의 작은 부분만 포착합니다.

Similarly to honesty, measuring the harms of language models also poses many challenges.
honesty와 유사하게, LM의 harms(피해)에 대해 평가하는 것도 많은 도전들이 있다.

 

In most cases, the harms from language models depend on how their outputs are used in the real world.

대부분의 케이스에서 harms은 얼마나 그 출력이 real world에서 사용되는지에 의존한다.

 

For instance, a model generating toxic outputs could be harmful in the context of a deployed chatbot, but might even be helpful if used for data augmentation to train a more accurate toxicity detection model.

예를 들면, 모델이 생성한 toxic outputs은 chatbot의 문맥에서는 harmful 했을 수 있다. 그러나 더 정확한 toxicity detection model 학습을 위한 data augmentation에서는 더 도움이 될 수 있다.

 

Earlier in the project, we had labelers evaluate whether an output was ‘potentially harmful’.

프로젝트의 초기에, 우리는 labelers들이 출력이 potentially harmful을 평가했다.

 

However, we discontinued this as it required too much speculation about how the outputs would ultimately be used; especially since our data also comes from customers who interact with the Playground API interface (rather than from production use cases).
그러나, 우리는 궁극적으로 출력이 어떻게 사용될지 너무 많은 추측이 필요해서 중단했다. 특히 우리의 데이터는 Playground API interface에서 상호작용하는 고객으로부터 오기 때문이다.

 

Therefore we use a suite of more specific proxy criteria that aim to capture different aspects of behavior in a deployed model that could end up being harmful:
그러므로 우리는 배포된 모델에서 harmful 일 수 있는 동작의 다양한 측면을 포착하는 것을 목표로 하는 specific proxy criteria 모음을 사용합니다. ???

 

we have labelers evaluate whether an output is inappropriate in the context of a customer assistant, denigrates a protected class, or contains sexual or violent content.

우리는 출력이 customer assistant의 context에서 부적절한지, protected class(보호 계층)을 폄하하는지,  sexual or violent content를 포함하는지 labelers가 평가하도록 합니다.

 

We also benchmark our model on datasets intended to measure bias and toxicity, such as RealToxicityPrompts (Gehman et al., 2020) and CrowS-Pairs (Nangia et al., 2020).

우리는 또한 RealToxicityPrompts, CrowS-Pairs datasets로 bias and toxicity를 벤치마크합니다.

 

To summarize, we can divide our quantitative evaluations into two separate parts:
요약하자면, 우리는 2개의 부분들로 평가를 나눌 수 있습니다.

 

Evaluations on API distribution.

Our main metric is human preference ratings on a held out set of prompts from the same source as our training distribution.

우리의 주요 평가지표는 training distribution와 같은 source로부터 나온 prompts 집합에 대한 human preference ratings입니다.

 

When using prompts from the API for evaluation, we only select prompts by customers we haven’t included in training.

평가를 위해 API에서 prompt를 사용할 때, 우리는 학습에 포함되지 않은 고객의 프롬프트만 선택합니다.

 

However, given that our training prompts are designed to be used with InstructGPT models, it’s likely that they disadvantage the GPT-3 baselines.

그러나, training prompt는 instructGPT와 사용되도록 디자인되었기 때문에, GPT-3 기준에서는 불리할 수 있습니다.

 

Thus, we also evaluate on prompts submitted to GPT-3 models on the API;

따라서, 우리는 또한 GPT-3에 제출된 prompts도 평가합니다.

 

these prompts are generally not in an ‘instruction following’ style, but are designed specifically for GPT-3.

이 prompts는 일반적으로 'instruction following' 스타일이 아니지만, GPT-3에 맞춰 디자인되어 있습니다.

 

In both cases, for each model we calculate how often its outputs are preferred to a baseline policy;

양쪽 케이스에서 각 모델에 대해 baseline policy 선호되는 빈도를 계산합니다.

 

we choose our 175B SFT model as the baseline since its performance is near the middle of the pack.

우리는 175B SFT 모델을 성능이 pack의 중간에 가깝기 때문에 baseline으로 봅니다.

 

Additionally, we ask labelers to judge the overall quality of each response on a 1-7 Likert scale and collect a range of metadata for each model output (see Table 3).

추가적으로 우리는 labelers에게 1-7 Likert scale에서 각 답변의 전체 quality에 대해 판단하고, 각 모델 출력의 metadata 범위를 수집하도록 요청합니다(표 3 참조).

 

Evaluations on public NLP datasets.

We evaluate on two types of public datasets:

우리는 2종류의 public datasets를 평가합니다.

 

those that capture an aspect of language model safety, particularly truthfulness, toxicity, and bias, and those that capture zero-shot performance on traditional NLP tasks like question answering, reading comprehension, and summarization.

1) 언어 모델 안전성의 측면, 특히 진실성, 독성 및 편견

2) zero-shot performance: 질문 답변, 독해 및 요약

 

We also conduct human evaluations of toxicity on the RealToxicityPrompts dataset (Gehman et al., 2020).

우리는 또한 RealToxicityPrompts dataset에 대해 human evaluations을 수행합니다.

 

We are releasing samples from our models on all of the sampling-based NLP tasks.

우리는 sampling-based NLP tasks에 대한 모델의 samples를 릴리즈하고 있습니다.

 

참고

- Askell et al. (2021), A General Language Assistant as a Laboratory for Alignment

- Lin et al., (2021), TruthfulQA: Measuring How Models Mimic Human Falsehoods

  -  https://github.com/sylinrl/TruthfulQA

- RealToxicityPrompts: https://allenai.org/data/real-toxicity-prompts

- CrowS-Pairs datasets: https://github.com/nyu-mll/crows-pairs

'Computer > LLM' 카테고리의 다른 글

ReAct  (0) 2023.05.31
MLM vs CLM  (0) 2023.04.20
In-context Learning  (0) 2023.04.13
nanoGPT, prepare.py  (0) 2023.03.16
nanoGPT, readme  (0) 2023.03.08