2023. 9. 6. 12:29ㆍPaper Review
Abstract
언어 모델 확장이 사용자 의도 (or 요구)에 부합한 텍스트 생성을 장려하지 않는다. (예를 들어, 사용자가 대화 task를 요구한다고 가정할 때, 언어 모델 확장은 대화 task의 수행 능력 향상의 본질적인 해결책이 아니다. 왜냐하면 언어 모델이란 학습 데이터를 재현해주는 모델이지, 대화 task를 수행하기 위해 만들어진 모델이 아니기 때문이다. 즉, 언어 모델을 확장하면 학습 데이터를 더 잘 재현할 뿐, 사용자의 의도에 부합한 텍스트를 더 잘 생성하는데 본질적으로 도움을 주지 못한다.)
다시 말해, 기존 언어 모델은 사용자에게 맞춰져 있지 않다. 즉, 사용자 맞춤이 아니다.
이번 연구에서는, 어떻게 하면 언어 모델이 사용자 의도(=광범위한 task)에 맞춰질 수 있는지에 대한 방법론(=fine-tuned by RLHF)을 제시한다.
1). 2가지 방식으로 수집한 프롬프트(라벨러가 작성한 프롬프트, OpenAI API로 수집한 프롬프트)와 라벨러가 수집한 시연(=질문/답변)을 가지고 지도 학습(첫번째 fine-tuning)을 진행한다. 이후, 2). 모델 출력값에 순위(적절 or 부적절)를 매겨, RLHF(두번째 fine-tuning)을 진행한다.
학습한 프롬프트 내에서는, 175B의 GPT-3의 출력값보다 1.3B의 InstructGPT의 출력값을 사람들이 더 선호하는 것으로 나타났다..
게다가, 진실성과 유해 측면도 개선됐다.
이러한 결과로 RLHF로 언어 모델을 fine-tuning하는 것이 사용자 의도에 맞춰지는 유망한 방법임을 증명했다.
(사용자 의도에 맞춰지다 = 사용자 의도에 부합한 텍스트 생성을 장려한다)
Making language models bigger does not inherently make them better at following a user's intent. For example, large language models can generate outputs that are untruthful, toxic, or simply not helpful to the user. In other words, these models are not aligned with their users. In this paper, we show an avenue for aligning language models with user intent on a wide range of tasks by fine-tuning with human feedback.
Starting with a set of labeler-written prompts and prompts submitted through the OpenAI API, we collect a dataset of labeler demonstrations of the desired model behavior, which we use to fine-tune GPT-3 using supervised learning. We then collect a dataset of rankings of model outputs, which we use to further fine-tune this supervised model using reinforcement learning from human feedback.
In human evaluations on our prompt distribution, outputs from the 1.3B parameter InstructGPT model are preferred to outputs from the 175B GPT-3, despite having 100x fewer parameters. Moreover, InstructGPT models show improvements in truthfulness and reductions in toxic output generation while having minimal performance regressions on public NLP datasets.
our results show that fine-tuning with human feedback is a promising direction for aligning language models with human intent.
(나는 "의도 파악"이 아닌 "의도에 부합한 텍스트 생성"으로 해석했다. 언어 모델이 생각(=파악)을 한다고 보이게는 무리가 있기 때문이다.)
1. Introduction
대규모 언어 모델은 (task의 몇 가지 예시를 입력값으로 제공하여) 다양한 자연어 task를 수행하도록 지시(=prompt)할 수 있다. 하지만, 이러한 모델은 의도치 않은 행동(e.g., 없는 사실 지어내기, 편견 혹은 유해 텍스트 생성, 사용자의 지시사항 불이행)을 자주 한다. 왜냐하면, 기존 대규모 언어 모델이 사용하는 목표 함수(=웹페이지의 다음 토큰 예측)와 우리가 원하는 것(=사용자 지시사항을 유익하고 안전하게 이행)이 다르기 때문이다. 때문에, 기존 언어 모델 목표 함수는 misaligned(=맞춰져 있지 않음 혹은 일치하지 않음)이라고 표현할 것이다. 의도치 않은 행동을 미연에 방지하는 것은 여러 서비스에 사용되고 배포되는 언어 모델한테는 중요한 문제다.
이번 연구에서, (사용자 의도와 일치하게 행동하도록 학습시켜) 언어 모델을 align하게 만들었다. 사용자 의도는 외적 의도(=지시 사항 이행)와 내적 의도(=진실성, 편견 혹은 유해 금지)를 포괄한다.
우리는 언어 모델이 유용(=helphul)하고, 진실(=honest)되고, 무해(harmless)하길 원한다.
여러 가지 fine-tuning 방식을 사용해 언어 모델을 align하게 만들었다. 자세히 말하자면, RLHF를 사용해 다양한 종류의 지시사항을 따르도록 GPT-3를 fine-tuning했다.
1. 언어 모델이 취해야할 적절한 행동의 데모를 라벨러가 수집한다. 2). 수집한 데모로 지도 학습 모델(=SFT)을 만든다. 3). SFT로 프롬프트 당 여러 개의 텍스트를 생성한 후, 라벨러가 순위를 매겼다. 4). 세 번째 단계에서 수집한 데이터로, 라벨라가 어떤 행동을 선호하는지 예측하는 보상 모델(=RM)을 만든다. 5). RM(=보상 함수)의 결과값인 보상값 최대화하기 위해, PPO 알고리즘을 사용해 SFT을 fine-tuning한다.
(참고로, 각 단계(1, 3, 5)에서 사용되는 프롬프트(OpenAI API 프롬프트 or 라벨러가 작성한 프롬프트)는 따로 구분되어 있다. 공유X)
이 절차를 통해 GPT-3의 행동과 특정 집단의 선호도를 일치시킨다.
(학습 데이터에 포함되지 않은) 테스트 데이터(=API 프롬프트로 표현)로 InstructGPT의 생성 텍스트를 라벨러가 평가할 것이다. 뿐만 아니라 여러 가지 NLP 공개 데이터셋에 대한 평가도 진행할 것이다.
1. 라벨러가 GPT-3보다 InstructGPT의 생성 텍스트를 선호한다. API 프롬프트로 비교해본 결과, 175B GPT-3보다 1.3B InstructGPT를 선호하는 것으로 나타났다. (파라미터 개수가 100배 이상 차이난다.). 뿐만 아니라, GPT-3에 few-shot 프롬프트를 추가해 지시사항을 더 잘 따르도록 유도했음에도 불구하고 같은 결과를 보였다.
2. 진실성 측면에서, InstructGPT가 GPT-3보다 높은 성능을 보였다. TruthfulQA 벤치마크에서, InstructGPT가 GPT-3보다 진실된 정보성 답변을 약 2배 자주 제공했다. (입력값에서 제공되지 않은 정보를 결과값에서 포함하고 있으면 안되는) API 프롬프트에서 제공한 "closed-domain" task에선, InstructGPT가 GPT-3보다 입력에 없는 사실을 약 2배 덜 만들었다.
3. 유해 측면에서, InstructGPT가 GPT-3와 비교해 약간의 성능 향상을 보였다. (안타깝게도, 편견 측면은 성능 향상을 보이지 못했다.)
존중하라고 지시(=prompt)했을 때, InstructGPT가 GPT-3보다 유해 텍스트를 약 25% 덜 생성했다.
하지만, Winogender와 CrowSPairs 데이터에서는 높은 성능 향상을 보이지 못했다.
4. 기존 RLHF의 fine-tuning 과정을 수정하여, NLP 공개 데이터셋의 성능 감소를 최소화할 수 있다.
사용자 의도와 모델 행동을 일치시키는 과정은 특정 task의 성능 감소를 초래한다.
PPO 업데이트와 pretraining 분포의 log-likelihood를 높이는 업데이트를 혼합하여 만든 PPO-ptx 모델은 라벨러의 선호도를 건들지 않는 동시에 성능 감소를 줄일 수 있다.
5. 학습 데이터 생성에 참여하지 않은 라벨러도 InstructGPT보다는 GPT-3를 선호하는 것으로 나타났다.
6. 서로 다른 2개의 NLP task 집합(FLAN, T0)으로 GPT-3를 각각 fine-tuning한 2개 모델과 InstructGPT를 비교했다.
API 프롬프트로 비교해본 결과, FLAN과 T0 모델 모두 SFT 모델보다 낮은 성능을 보였고, InstructGPT가 두 모델을 압도했다.
7. RLHF fine-tuning때 거의 제공되지 않은 지시사항도 잘 수행했다.
InstructGPT의 가능성(=능력)을 조사해본 결과, fine-tuning때 거의 제공되지 않은 지시사항(e.g., 코드 요약, 코드에 대한 질의)도 잘 수행했다.
GPT-3도 위와 같은 task를 수행할 수 있지만, 더 자세한 지시(=prompt)가 필요로 할 뿐더러, 대부분의 경우 지시사항을 따르지 않는다.
이러한 결과는 InstructGPT가 "지시사항 이행"이라는 개념(or 능력)을 일반화할 수 있음을 시사한다.
InstructGPT는 (경험이 거의 없어도) task에 맞는 행동이 무엇인지 기억하고 있다.
8. 하지만 여젼히, InstructGPT도 간단한 실수를 한다.
이러한 결과로, RLHF로 대규모 언어 모델을 fine-tuning하는 것은 광범위한 task에 대한 모델 행동을 옳바르게 교정해줄 수 있음을 보여줬다.
Large language models (LMs) can be "prompted" to perform a range of natural language processing (NLP) tasks, given some examples of the task as input. However, these models often express unintended behaviors such as making up facts, generating biased or toxic text, or simply not following user instructions. This is because the language modeling objective used for many recent large LMs-predicting the next token on a webpage from the internet-is different from the objective "follow the user's instructions helpfully and safely". Thus, we say that the language modeling objective is misaligned. Averting these unintended behaviors is especially important for language models that are deployed and used in hundreds of applications.
We make progress on aligning language models by training them to act in accordance with the user's intention. This encompasses both explicit intentions such as following instructions and implicit intentions such as staying truthful, and not being biased, toxic, or otherwise harmful.
we want language models to be helpful, honest, and harmless.
We focus on fine-tuning approaches to aligning language models. Specifically, we use reinforcement learning from human feedback to fine-tune GPT-3 to follow a broad class of written instructions.
We then collect a dataset of human-written demonstrations of the desired output behavior on (mostly English) prompts submitted to the OpenAI API and some labeler-written prompts, and use this to train our supervised learning baselines. Next, we collect a dataset of human-labeled comparisons between outputs from our models on larger set of API prompts. We then train a reward model (RM) on this dataset to predict which model output our labelers would prefer. Finally, we use this RM as a reward function and fine-tune our supervised learning baseline to maximize this reward using the PPO algorithm.
This procedure aligns the behavior of GPT-3 to the stated preferences of a specific group of people.
We mainly evaluate our models by having our labelers rate the quality of model outputs on our test set, consisting of prompts from held-out customers (who are not represented in the training data). We also conduct automatic evaluations on a range of public NLP datasets.
Labelers significantly prefer InstructGPT outputs over outputs from GPT-3. On our test set, outputs from the 1.3B parameter InstructGPT model are preferred to outputs from the 175B GPT-3, despite having over 100x fewer parameters.
This result holds true even when we add a few-shot prompt to GPT-3 to make it better at following instructions.
InstructGPT models show improvements in truthfulness over GPT-3. On the TruthfulQA benchmark, InstructGPT generates truthful and informative answers about twice as often as GPT-3.
On "closed-domain" tasks from our API prompt distribution, where the output should not contain information that is not present in the input, InstructGPT models make up information not present in the input about half as often as GPT-3.
InstructGPT shows small improvements in toxicity over GPT-3, but not bias.
InstructGPT models generate about 25% fewer toxic outputs than GPT-3 where prompted to be respectful. InstructGPT does not significantly improve over GPT-3 on the Winogender and CrowSPairs datasets.
We can minimize performance regressions on public NLP datasets by modifying our RLHF fine-tuning procedure.
our alignment procedure comes at the cost of lower performance on certain tasks that we may care about. We can greatly reduce the performance regressions on these datasets by mixing PPO updates with updates that increasing the log likelihood of the pretraining distribution (PPO-ptx), without compromising labeler preference costs.
Our models generalize to the preferences of "held-out" labelers that did not produce any training data.
they prefer InstructGPT outputs to outputs from GPT-3 as about the same rate as our training labelers.
Public NLP datasets are not reflective of how our language model are used.
We compare GPT-3 fine-tuned on our human preference data (i.e. InstructGPT) to GPT-3 fine-tuned on two different compilations of public NLP tasks; the FLAN and T0. These datasets consist of a variety of NLP tasks; combined with natural language instructions for each task. On our API prompt distribution, our FLAN and T0 models perform slightly worse than our SFT baseline, and labelers significantly prefer InstructGPT to these models.
InstructGPT models show promising generalization to instructions outside of the RLHF fine-tuning distribution.
We qualitatively probe InstructGPT's capabilities, and find it is able to follow instructions for summarizing code, answer questions about code, and sometimes follows instructions in different languages, despite these instructions being very rare in the fine-tuning distribution. In contrast, GPT-3 can perform these tasks but requires more careful prompting, and does not usually follow instructions in these domains. This result is exciting because it suggests that our models are able to generalize the notion of "following instructions." They retain some alignment even on tasks for which they get very little direct supervision signal.
InstructGPT still makes simple mistakes.
Overall, our results indicate that fine-tuning large language models using human preferences significantly improves their behavior on a wide range of tasks.
2. Related Work
1. 모델과 사용자 의도를 일치시키려는 연구: 1). 사람의 피드백으로 프롬프트를 보완하여, 사용자 의도와 일치하는 텍스트를 생성하려는 연구 (by GPT-3) 2). 텍스트 기반 환경과 강화학습으로, 모델과 표준 행동(=사용자 의도)을 일치시키려는 연구
2. 지시사항을 잘 이행하도록 언어 모델 학습: 여러 연구에서, "지시사항으로 여러 NLP task를 한꺼번에 fine-tuning하면, (zero-, few-shot에서) held-out task의 성능이 향상된다"는 일관된 결과를 발견했다.
3. 언어 모델의 유해성 평가: 언어 모델의 행동을 바꾸려는 이유 중 하나는 모델의 유해성을 완화하기 위함이다. (특히 실제 서비스에 사용되는 모델) 초기 단계지만, 여러 곳에서 정확한 유해성 평가 benckmark를 구축하는데 많은 노력을 기울이고 있다.
언어 모델의 유해성 문제는 풀기 힘들다. 왜냐하면, 모델 행동을 바꾸면 부작용(e.g., 성능 감소)이 나오기 때문이다.
4. 유해성을 완화하기 위해 언어 모델의 행동을 바꾸려는 연구가 많이 진행되고 있다.
Research on alignment and learning from human feedback.
use written human feedback to augment prompts and improve the performance of GPT-3. There. has also been work on aligning agents in text-based environments using RL with a normative prior.
The question of what it means for language models to be aligned has also received attention recently.
Training language models to follow instructions
A consistent finding across studies is that fine-tuning LMs on a range of NLP tasks, with instructions, improves their downstream performance on held-out tasks, both in the zero-shot and few-shot settings.
Evaluating the harms of language models
A goal of modifying the behavior of language models is to mitigate the harms of these models when they're deployed in the real world.
There is a nascent but growing field that aims to build benchmarks to concretely evaluate these harms
Making significantly process on these problems is hard since well-intentioned interventions on LM behavior can have side-effects.
Modifying the behavior of language models to mitigate harms.
3. Methods and experimental details
3.1. High-level methodology
시작하기 앞서, Pretrained-LM, 프롬프트, 그리고 라벨러가 필요하다.
1). 데모 데이터 수집 및 supervised policy(=model) 학습: 프롬프트에 맞는 행동의 데모(=예시)를 라벨러가 수집한다. 수집한 데이터로 pre-trained GPT-3를 fine-tuning한다.
2). 비교 데이터 수집 및 보상 모델 학습: supervised policy로 프롬프트 당 여러 개의 텍스트를 생성한 후, 라벨러가 순위를 매겨 비교 데이터를 수집한다. 라벨러가 선호하는 텍스트가 무엇인지 정확히 예측하기 위해, 수집한 데이터로 보상 모델을 학습시킨다.
3). RM과 PPO 알고리즘으로 policy 최적화: (RM의 결과값인) 보상값을 최대화하기 위해, (즉, supervised policy의 생성 텍스트와 라벨러의 선호도가 일치하도록 하기 위해) supervised policy를 PPO 알고리즘으로 fine-tuning한다.
We start with a pretrained model, a distribution of prompts on which we want our model to produce aligned outputs, and a team of trained human labelers.
Step 1: Collect demonstration data, and train a supervised policy. Our labelers provide demonstrations of the desired behavior on the input prompt distribution. We then fine-tune a pretrained GPT-3 model on this data using supervised learning.
Step 2: Collect comparison data, and train a reward model. We collect a dataset of comparisons between model outputs, where labelers indicate which output they prefer for a given input. We then train a reward model to predict the human-preferred output.
Step 3: Optimize a policy against the reward model using PPO. We use the output of the RM as a scalar reward. We fine-tune the supervised policy to optimize this reward using the PPO algorithm.
Steps 2 and 3 can be iterated continuously; more comparison data is collected on the current best policy, which is used to train a new RM and then a new policy.
3.2. Dataset
프롬프트 데이터는 주로 OpenAI API에서 제공된 텍스트 프롬프트로 구성되어 있다. (참고로, OpenAI API에서 제공된 프롬프트는 InstructGPT 초기 버전(=데모 데이터만 가지고 학습된 모델(SFT))의 API가 제출한 프롬프트다.)
이때, 몇 가지 전처리 과정을 진행했다. 1). 프롬프트 중복 제거 (by long comon prefix) 2). 사용자 당 프롬프트 개수를 200개로 제한 3). 사용자 기반으로 학습, 검증, 평가 데이터 분리. 즉, 학습 데이터에 포함된 사용자는 검증 데이터와 평가 데이터에 포함되지 않는다.
InstructGPT 초기 버전을 학습시키기 위해, 라벨러에게 프롬프트 작성을 요구했다. 왜냐하면, 학습하기 위해선, 지시사항 프롬프트 데이터가 필요하기 한데, GPT-3의 API에는 지시사항 프롬프트가 자주 제출되지 않았다.
이렇게 만들어진 프롬프트로, 3가지 데이터를 만들 것이다. 1). 라벨러의 데모를 포함하고 있는 SFT 데이터셋, 2). 생성 텍스트와 그에 따른 라벨러의 순위를 가지고 있는 RM 데이터셋, 2). 프롬프트만 가지고 있는 PPO 데이터셋
Our prompt dataset consists primarily of text prompts submitted to the OpenAI API, specifically those using an earlier version of the InstructGPT models on the Playground inference. (Specifically,we train on prompts submitted to earlier versions of the InstructGPT models on the OpenAI API Playground, which we trained only using demonstration data.) Customers using the Playground were informed that their data could be used to train further models.
We heuristically deduplicate prompts by checking for prompts that share a long common prefix, and we limit the number of prompts to 200 per user ID. We also create our train, validation, and test splits based on user ID. so that the validation and test sets contain no data from users whose data is in the training set.
To train the very first InstructGPT models, we asked labelers to write prompts themselves. This is because we needed an initial source of instruction-like prompts to bootstrap the processes, and these kinds of prompts weren't often submitted to the regular GPT-3 models on the API.
From these prompts, we produce three different datasets used in our fine-tuning procedure: (1) our SFT dataset, with labeler demonstrations used to train our SFT models. (2) our RM dataset, with labeler rankings of model outputs used to train our RMs, and (3) our PPO dataset, without any human labels, which are used as inputs for RLHF fine-tuning.
3.3. Tasks
학습할 task는 2가지 경로에서 왔다. 1). 라벨러가 작성한 프롬프트, 2). InstructGPT의 초기 버전 OpenAI API에서 제공된 프롬프트
데이터의 96%가 영어다. 하지만, 다른 언어로 작성된 지시에 따르는 능력을 보았다. 뿐만 아니라, 코딩 task도 수행했다.
라벨러에게 최선을 다해 작성자의 의도를 추론하도록 요구했다. 이때, (답변의 진실성과 유해성과 같은) 내적 의도도 같이 고려했다.
Our training tasks are from two sources: (1) a dataset of prompts written by our labelers and (2) a dataset of prompts submitted to early InstructGPT models on our API.
Our dataset is over 96% English, however we also probe our model's ability to respond to instructions in other languages and complete coding tasks.
In each case, we ask our labelers to do their best to infer the intent of the user who wrote the prompt, and ask them to skip inputs where the task is very unclear. Moreover, our labelers also take into account the implicit intentions such as truthfulness of the response, and potentially harmful outputs
3.4. Human data collection
데모와 생성 텍스트 순위 그리고 평가를 하기 위해, 40명(=labeler)을 고용했다.
학습 및 평가 도중, 사용자 의도와 일치하는 기준이 무엇인지 혼동이 왔다. (e.g., 사용자가 유해성 답변을 요구하는 경우) 학습 때 유용성에 우선순위를 두고, 평가 때 진실성과 유해성에 우선순위를 두었다.
모델이 일반화가 되었는지 확인하기 위해, 40명(=held-out labeler)을 추가로 고용했다.
task가 많고 다양함에도 불구하고, 라벨러 간의 의견 일치 비율이 매우 높다. 학습 라벨러의 의견 일치 비율은 72.6 ±1.5%이고, 평가 라벨러의 의견 일치 비율은 77.3±1.3%다.
To produce our demonstration and comparison data, and conduct our main evaluations, we hired a team of about 40 contractors.
During training and evaluation, our alignment criteria may come into conflict: for example, when a user requests a potentially harmful response. During training we prioritize helpfulness to the user.
However, in our final evaluations we asked labelers prioritize truthfulness and harmfulness.
As an initial study to see how well our model generalizes to the preferences of other labelers, we hire a separate set of labelers who do not produce any of the training data.
Despite the complexity of the task, we find that inter-annotator agreement rates are quite high: training labelers agree with each-other 72.6 ±1.5% of the time, while for held-out labelers this number is 77.3±1.3%.
3.5. Models
1). Supervised fine-tuning (SFT): 라벨러 데모 데이터로 GPT-3를 fine-tuning(=지도 학습)한다. (이때, epoch=16, dropout=0.2, LR decay=cosine을 사용한다.) RM 검증 데이터의 점수가 가장 높은 SFT 모델을 사용할 것이다.
학습 도중, SFT 모델이 검증 데이터에 빠르게(=1 epoch) 과적합됨을 발견했다. 하지만, 학습이 진행될수록 RM 점수와 사람 평가가 향상됨을 보였다.
2). Reward modeling (RM): 포롬프트와 생성 텍스트가 주어졌을 때, 라벨러의 선호도를 예측하는 모델을 만들 것이다. 이때, projection layer를 제거한 6B SFT 모델만 사용할 것이다.
RM은 동일한 프롬프트에 대한 여러 답변을 비교한 데이터셋으로 학습시킬 것이다. cross-entropy 손실 함수와 라벨러가 매긴 답변 순위(=라벨)를 사용할 것이다.
보상(=선호도)의 차이는 한 응답이 다른 응답보다 선호할 log 확률로 나타낸다.
비교 데이터를 수집하기 위해, 라벨러가 동일 프롬프트에 대한 K개의 답변에 순위를 매겼다. 이는 각 프롬프트마다 $n \choose 2$개의 비교 데이터를 생성한다.
만약 각 프롬프트의 비교 데이터를 무작위로 섞으면, 1 epoch 학습만에 RM은 과적합된다. ($n \choose 2$개의 비교 데이터 각각을 하나의 데이터로 취급하면, 각 답변은 k-1번의 forward 연산과 기울기 업데이트에 사용된다.) 결론, epoch마다 답변을 반복적으로 학습시키 때문에, 1 epoch 학습이 과적합을 유발하는 것이다.
무작위로 섞는 대신, $n \choose 2$개 비교 데이터를 하나의 배치(=batch)로 묶으면 매우 효율적이다. 왜냐하면, 각 답변마다 한 번의 forward 연산만 진행하면 되기 때문이다. 이는 더 이상 과적합을 유발하지 않기에, 검증 데이터의 정확도와 손실값을 많이 향상시켜준다.
RM의 손실 함수는 다음과 같다:
$$loss(\theta) = \frac{1}{K \choose 2} E_{(x, y_w, y_t) \sim D} [\log(\sigma(r_\theta (x, y_w) - r_\theta (x, y_t)))]$$
($\theta$=파리미터, $x$=프롬프트, $y$=프롬프트에 대한 답변, $r_\theta(x, y)$=답변에 대한 선호도, $y_m$=선호 답변, $y_t$=비선호 답변)
3). Reinforcement learning (RL): (사용자 프롬프트와 답변으로 구성되어 있는) 환경에서 PPO를 사용해 SFT를 fine-tuningg한다. 프롬프트가 주어지면, SFT로 답변을 생성하고, 이를 기반으로 RM이 선호도를 예측하면, episode가 끝난다.
1. RM의 과잉 최적화를 막기 위해, 토큰 별 KL 페널티를 추가했다. (PPO 모델)
2. NLP 공개 데이터의 성능 감소를 줄이기 위해, PPO 기울기와 pretraining 기울기를 혼합했다. (PPO-ptx 모델)
RL의 목표 함수는 다음과 같다.
$objective(\phi) = E_{(x, y) \sim D_{\pi_\phi^{RL}}} [r_\theta (x, y) - \beta \log(\pi_\phi^{RL}(y|x) / \pi^{SFT}(y|x))] + \gamma E_{x \sim D_{pretrain}} [\log(\pi_\phi^{RL}(x))]$
($\pi_\phi^{RL}$= RL 정책(=PPO 모델), $\pi^{SFT}$ = SFT 모델,
$D_{pretrain}$=사전 학습 분포(=데이터), $\beta$=KL 보상 계수, $\gamma$=사전 학습 분포(=데이터) 손실 계수))
Baseline: PPO 모델을 SFT 모델 및 GPT-3 (+few-shot)과 비교할 것이다. 뿐만 아니라, 175B GPT-3를 fine-tuning한 모델(FLAN, T0)와도 비교할 것이다.
Supervised fine-tuning (SFT). We fine-tune GPT-3 on our labeler demonstrations using supervised learning. We trained for 16 epochs, using a cosine learning rate decay, and residual dropout of 0.2. We do our final SFT model selection based on the RM score on the validation set. we find that our SFT models overfit on validation loss after 1epoch; however, we find that training for more epochs helps both the RM score and human performance ratings.
Reward modeling (RM). Starting from the SFT model with the final unembedding layer removed, we trained a model to take in a prompt and response, and output a scalar reward. In this paper we only use 6B RMs.
the RM is trained on a dataset of comparisons between two model outputs on the same input. They use a cross-entropy loss, with the comparisons as labels - difference in rewards represents the log odds that one response will be preferred to the other by a human labeler.
In order to speed up comparison collection, we present labelers with anywhere between K = 4 and K = 9 responses to rank. This produces $n \choose 2$ comparisons for each prompts shown to labeler.
If we simply shuffle the comparisons into one dataset, a single pass over the dataset caused the reward model to overfit. (If each of possible $n \choose 2$ comparisons is treated as a seperate data point, then each completion will potentially be used for K-1 separate gradient updates. The model tends to overfit after a single epoch, so repeating data within an epoch also causes it to overfit.
Instead, we train on all $n \choose 2$ comparisons from each prompt as a single batch element. This is much computationally efficient because it only requires a single forward pass of the RM for each completion and because it no longer overfits, it achieves much improved validation accuracy and log loss.
Specifically, the loss function for the reward model is:
$$loss(\theta) = \frac{1}{K \choose 2} E_{(x, y_w, y_t) \sim D} [\log(\sigma(r_\theta (x, y_w) - r_\theta (x, y_t)))]$$
where $r_\theta(x, y)$ is the scalar output of the reward for prompt x and completion y with parameters $\theta$, $y_m$ is the preferred completion out of the pair of $y_w$ and $y_t$, and $D$ is the dataset of human comparisons.
Reinforcement learning (RL). we fine-tuned the SFT model on our environment using PPO. The environment is a bandit environment which presents customer prompt and expects a response to the prompt. Given the prompt and response, it produces a reward determined by the reward model and ends the episode.
In addition, we add a per-token KL penalty from the SFT model at each token to mitigate over optimization of the reward model. The value function is initialized from the RM. We call these. models "PPO".
We also experiment with mixing the pretraining gradients into the PPO gradients, in order to fix the performance regressions on public NLP datasets. We call these models "PPO-ptx". We maximize the following combined objective function in RL training:
$objective(\phi) = E_{(x, y) \sim D_{\pi_\phi^{RL}}} [r_\theta (x, y) - \beta \log(\pi_\phi^{RL}(y|x) / \pi^{SFT}(y|x))] + \gamma E_{x \sim D_{pretrain}} [\log(\pi_\phi^{RL}(x))]$
where $\pi_\phi^{RL}$ is the learned RL policy $\pi^{SFT}$ is the supervised trained model, and $D_{pretrain}$ is the pretraining distribution. The KL reward coefficient, $\beta$,and the pretraining loss coefficient, $\gamma$, control the strength of the KL penalty and pretraining gradients respectively.
Baselines. We compare the performance of our PPO models to our SFT models and GPT-3. We also compare to GPT-3 when it is provided a few-shot prefix
We additionally compare InstructGPT to fine-tuning 175B GPT-3 on the FLAN and T0 datasets.
3.6. Evaluation
이번 연구의 목표는 사용자 의도와 일치하게 행동하는 모델을 학습시키는 것이다. NLP 테스크 목적에 맞게, 3가지 기준(유용성, 정직성(진실성), 유해성)으로 평가할 것이다.
1). 유용하기 위해서는, 모델이 지시사항을 따라야할 뿐만 아니라, few-shot 혹은 pattern으로 의도 또한 추론해야 한다. 프롬프트의 의도가 불명확하거나 모호한 경우, 라벨러의 추측에 의존해야 한다. 하지만, 라벨러가 API 프롬프트에 관여하지 않았기에, 사용자 의도와 라벨러가 추측한 의도가 다를 수 있다.
2). 생성 모델의 정직함(=공정성)의 측정 방법은 불분명하다. 왜냐하면, 모델의 답변과 정답에 대한 모델의 믿음(?)을 비교해야 하는데, 안타깝게도 정답에 대한 모델의 믿음(?)을 추론할 수 없다. 대신 진실성을 측정했다. 이때, 2가지 평가 지표를 사용했다. 1. closed-domain 테스크에서 사실을 지어내는(=환상) 빈도. 2. truthfulQA(=질문에 대한 답변이 사실인지)
3). 텍스트 유해성은 현실에서 어떻게 사용되는지에 따라 결정된다. 이전 연구에서는, 라벨러가 잠재적 유해성이 있는지 평가했다. 하지만, 텍스트의 사용 의도가 수도 없이 많기에 진행을 중단했다.
그래서, 다양한 측면에서 유해성이 있을 만한 행동을 찾는 것에 집중한 새로운 기준을 사용할 것이다.
(1. 사용자 관점에서 답변이 부적절했는지, 2. 특정 집단을 펌하하는지, 3. 폭력적이고 성적인지)
뿐만 아니라, 편견과 유해성을 측정하기 위해 만들어진 공개 데이터셋으로도 평가할 것이다.
API 프롬프트 평가: 핵심 평가 지표는 학습 데이터에서 제외된 API(=customer) 프롬프트에 대한 사람의 선호도다. 이때, InstructGPT의 학습을 위해 만들어진 프롬프트만 주어지면, GPT-3에게는 불공평한 평가가 될 수 있기 때문에, GPT-3 API에게 제출된 프롬프트도 추가로 사용할 것이다.
두 가지 프롬프트를 사용해, 라벨러가 어느 모델의 생성 텍스트를 선호하는지 측정할 것이다.
NLP 데이터셋 평가: 두 가지 종류의 NLP 데이터셋을 사용할 것이다. 1. 안전성, 진실성, 유해성, 편견을 평가하는 데이터셋, 2. 전통적인 task의 zero-shot 성능을 평가하는 데이터셋(유용성). 뿐만 아니라, RealToxicityPrompt를 이용해 모델의 유해성 정도도 평가할 것이다.
our aim is to train model that act in accordance with user intention. More practically, for the purpose of our language tasks, we use a framework similar to Askell, who define models to be aligned if they are 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:". Since a given prompt's intention can be unclear or ambiguous, we rely on judgement from our labelers.
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 though was intended from only reading the 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.
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.
In most case, the harms from language models depend on how their outputs are used in the real world. Earlier in the project, we had labelers evaluate whether an output was 'potentially harmful'. However, we discontinued this as it required too much speculation about how the outputs would ultimately be used;
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: 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. We also benchmark out model on datasets intended to measure bias and toxicity.
Evaluations on API distribution. Our main metric is human preference on a held out set of prompts from the same source as our training distribution. When using prompts from the API for evaluation, we only select prompts by customers we haven't included in training. However, given that our training prompts are designed to be used with InstructGPT models, it's likely that they disadvantages the GPT-3 baselines. Thus, we also evaluate on prompts submitted to GPT-3 models on the API.
In both cases, for each model we calculate how often its outputs are preferred to a baseline policy.
Evaluations on public NLP datasets. We evaluate on two types of 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.
We also conduct human evaluations of toxicity on the RealToxicityPrompts dataset.
4. Result
4.1. Results on the API distribution
1. (customer 프롬프트와 GPT-3 API 프롬프트 모든 부분에서) 기존 라벨러는 GPT-3보다 InstructGPT를 선호한다.
뿐만 아니라, 모든 평가 기준(유용성, 진실성, 유해성)에서 높은 점수를 받았다.
이는 InstructGPT가 GPT-3보다 믿을 만하고(=진실성) 다루기 쉽다(=유용성(=no few-sot), 유해성)는 것을 시사한다.
2. held-out 라벨러도 InstructGPT를 더 선호하는 것으로 나타났다.
이는, InstructGPT가 기존 라벨러에게 과적합 되지 않음을 의미한다. 즉, InstructGPT는 일반화가 되어 있음을 의미한다.
다음 실험은 위 결론에 힘을 실어준다.
라벨러를 다섯 집단으로 나눈다. 그 후, 다섯 RM를 학습시킨다. (이때, 학습에는 네 집단이 평가에는 한 집단이 투입된다.)
평가 결과, RMs의 평균 정확도 69.6±0.9%(평가 집단), 학습: 72.4±0.4%(학습 집단)을 보였다.
이는 RM이 학습 집단에 과적합되지 않음(=모든 집단의 선호도를 반영함)을 의미한다. 즉, 보상 모델은 일반화되어 있다.
3. NLP 공개 데이터셋은 언어 모델의 사용 용도를 반영하지 못했다.
T0, FLAN 모델은 GPT-3와 GPT-3 (prompted)보다 높은 성능을 보이지만, SFT 모델보다 낮은 성능을 보여준다.
이는, NLP 공개 데이터셋이 API 프롬프트 분포에서 높은 성능을 보일 만큼 다양한 내용을 가지고 있지 않기 때문이다.
자세히 말하자면, NLP 공개 데이터셋은 상대적으로 평가하기 쉬운 task(e.g., 분류 혹은 QA)를 수행하도록 설계되어 있다. 하지만, 이러한 task는 API 포름프트의 작은 부분(18%) 차지하고 있다. 즉, 사용자가 이와 비슷한 프롬프트를 가끔 사용한다. 반면에, 자유 생성 혹은 브레인스토밍과 같은 프롬프트는 57%로 자주 사용한다.
Labelers significantly prefer InstructGPT outputs from GPT-3. On our test set of prompts, our labelers significantly prefer InstructGPT outputs across model sizes.
We also found that our results do not change significantly when evaluated on prompts submitted to GPT-3 models on the API.
we show that labelers also rate InstructGPT outputs favorably along several more concrete axes.
These results suggest that InstructGPT models are reliable and easier to control than GPT-3.
On our model generalize to the preferences of "held-out" labelers that did not produce any training data. Held-out labelers have similar ranking preferences as workers who we used to produce training data.
Thus, our InstructGPT model aren't simply overfitting to the preferences of our training labelers.
We see further evidence of this from the generalization capability of our reward models. We ran an experiment where we split our labelers into 5 groups, and train 5 RMs (with 3 different seeds) using 5-fold cross validation (training on 4 of the groups, and evaluating on the held-out group). These RMs have an accuracy of 69.6±0.9% on predicting the preference of labelers in the held-out group, a small decease from their 72.4±0.4% accuracy on predicting the preferences of labelers in their training set.
Public NLP datasets are not reflective of how our language models are used.
We find that these models perform bettern than GPT-3, on par with GPT-3 with a well-chosen prompt, and worse than our SFT baseline. This indicates that these datasets are not sufficiently diverse to improve performance on our API prompt distribution.
We believe our InstructGPT model outperfoms FLAN and T0 for two reasons. First, public NLP datasets are designed to capture tasks that are easy to evaluate. However, classification and QA are small part (about 18%) of what API customers use our language models for, whereas open-ended generation and brainstorming consist of about 57% of our prompt dataset according to labelers. Second, it can be difficult for public NLP datasets to obtain a very high diversity of inputs.
4.2. Results on public NLP datasets
1. (InstructGPT를 GPT-3와 비교해본 결과) 진실성 측면에서, 상당한 성능 향상을 보였다.
사람이 truthfulQA로 평가해본 결과, 사실을 기반한 정보성 답변을 생성해내는 능력이 상당히 개선됐다. GPT-3에게 불리하지 않은 프롬프트로 평가해봐도, 사실을 기반한 정보성 답변을 더 잘 만들어냈다.
(정답이 확실하지 않을 때는 "I have no comment"(=할 말이 없어요)"를 생성하도록 지시하는) Instruction+QA" 프롬프트로도 평가를 해봤다.
그 결과, OPP 모델에서 다음과 같은 특징을 발견했다. (잘못된 정보를 자신있게 답변하는 대신) 진실성은 있지만 정보성이 없는 답변을 주로 생성한다.
2. (InstructGPT를 GPT-3와 비교해본 결과) 유해성 측면에서는, 약간의 성능 향상을 보였다. (안타깝게도, 편견에서는 성능 향상을 보이지 못했다.)
2가지 방식(1, Perspective API, 2. 라벨러)으로 모델을 평가했다. 이때, 유해성 정도에 따라 모델이 어떤 텍스트를 생성하는지 파악하기 위해, 유해성 정도에 기반해 프롬프트를 균일하게 추출했다. (in RTP)
평가 결과는 다음과 같다. 1). 존중 프롬프트가 있는 경우, InstructGPT는 GPT-3보다 유해한 텍스트를 덜 생성했다. 2). 존중 프롬프트가 없는 경우, 비슷하다. 3). 흥미롭게도 무례 프롬프트가 있는 경우, InstructGPT는 GPT-3보다 유해한 텍스트를 더 많이 생성했다.
라벨러 평가도 위와 동일하다. 존중 프롬프트가 있는 경우 GPT-3보다 무해하지만, 없는 경우 비슷하다.
위 결과를 요약하자면, (존중 프롬프트를 감안할 때) InstructGP는 예상보다 낮은 성능 향상을 보여줬다. (존중 프롬프트가 없어도 성능 향상을 보여야 하는게 당연한거 아닌가?)
편견 텍스트를 생성하는 모델 편견 정도를 평가 하기 위해, Winogender과 CrowS-Pair를 사용했다. 이 데이터셋은 잠재적 편견을 파악할 수 있는 문장 쌍으로 구성되어 있다. (e.g., The nurse notified the patient that 1). her shift would be ending in an hour or 2). his shift would be ending in an hour.)
편견이 없는 모델은 두 문장 중 특정 문장을 더 선호하거나 덜 선호하지 않고, 오직 중립을 보인다. 즉, entropy가 최대값을 보인다.
평가 결과, InstructGPT는 GPT-3보다 낮은 편견 수치를 보여주지 못했다. 다시 말해, 비슷한 수치를 보여줬다.
하지만, 이상하게도 존중 프롬프트를 추가하면, 편견 수치가 증가했다. (편견 패턴(?)은 불명확했다.) 이유를 추측해보자면, 지시 모델(=InstructGPT)은 일반 모델보다 (텍스트에 편견이 있던 없던) 텍스트 생성에 더 큰 확신(=확률)을 가지고 있다. 그렇기에 편견 수치가 증가할 수 있다.
3. RLHF fine-tuning 과정을 수정하면 NLP 공개 데이터의 성능 감소를 최소화할 수 있다.
pre-training 업데이트를 기존 OPP fine-tuning에 추가하면, 모든 task의 성능 감소를 최소화해줄 뿐만 아니라, 특정 task의 성능도 향상시켜준다.
뿐만 아니라, KL 계수를 단순히 증가시키는 것보다 pre-training 업데이트와 적절히 혼합하는 것이 더 큰 성능 향상에 도움이 된다는 것도 보였다.
InstructGPT models show improvements in truthfulness over GPT-3. As measured by human evaluations on the truthfulQA dataset, our PPO models show small but significant improvements in generating truthful and informative outputs compared to GPT-3.
When evaluated only on prompts that were not adversarially selected against GPT-3, our PPO models are still significantly more truthful and informative than GPT-3.
we also give a helpful "Instruction+QA" prompt that instructs the model to respond with "I have no comment" when it is not certain of the correct answer. In this case, our PPO models err on the side of being truthful and uninformative rather than confidently saying a falsehood
InstructGPT shows a small improvements in toxicity over GPT-3, but not bias. We first evaluate our models on the RealToxicityPrompts dataset. We do this in two ways: we run model samples through the Perspective API to obtain automatic toxicity scores, and we also send these samples to labelers to obtain ratings on absolute toxicity, toxicity relative to the prompt, continuity, and overall output preference. We sample prompts from this dataset uniformly according to prompt toxicity to better access how our models perform with high input toxicity.
We find that, when instructed to produce a safe and respectful output, InstructGPT models generate less toxic outputs than those from GPT-3 according to the Perspective API. This advantage disappears when the respectful prompt is removed ("no prompt"). Interestingly, when explicitly prompted to produce a toxic output, InstructGPT outputs are much more toxic than those from GPT-3.
These results are confirmed in our human evaluations: InstructGPT is less toxic than GPT-3 in the "respectful prompt" setting, but perform similarly in the "no prompt" setting.
To summarize, all of our models are rated as less than expected given the prompt
To evaluate the model's propensity to generate biased speech, we also evaluated InstructGPT on modified versions of the Winogender and CrowS-Pairs datasets. These dataset consists of pairs of sentences which can highlight potential bias.
Perfectly unbiased models will have no preference between the sentences in each pair and will therefore have maximum entropy. By this metric, our models are not less biased than GPT-3. The PPO-ptx model shows similar bias to GPT-3, but when instructed to act respectfully it exhibits lower entropy and thus higher bias. The pattern of the bias is not clear; it appears that the instructed models are more certain of their outputs regardless of whether or not their outputs exhibit stereotypical behavior.
We can minimize performance regressions on public NLP datasets by modifying our RLHF fine-tuning procedure.
We want to alignment procedure that avoids an alignment tax,
we show that adding pretraining updates to our PPO fine-tuning(PPO-ptx) mitigates these performance regressions on all datasets, and even surpasses GPT-3 on HellaSwg.
Mixing in pretraining updates perform better than the simpler solution of increasing the KL coefficient.
4.3. Qualitative results
1. InstructGPT는 fine-tuning때 거의 제공되지 않은 지시사항도 잘 이행한다. 즉, "지시사항 이행" 능력이 일반화되어 있다.
비영어권 언어와 코드가 fine-tuning의 비주류 프롬프트임에도 불구하고, 비영어권 언어의 지시사항과 코드에 대한 요약 및 질의 답변을 잘 이행했다. 위와 같은 결과는 사용자 의도와 일치하게 텍스트를 생성하도록 학습시키는 방식은 (경험하지 못한) 지시사항 이행 능력을 일반화시켜준다.
GPT-3도 이러한 지시사항을 이행할 수 있지만, 더 자세한 프롬프트를 요구하고, 대부분의 경우 제대로 이행하지 못한다.
2. InstructGPT도 간단한 실수를 한다.
(1) 프롬프트에 거짓 가정을 제공했을 때, 가끔 가정을 참이라고 판단한다. (2) 손해를 지나치게 경계한다; 문맥에 명확한 답변에 있는 간단한 질문이 주어졌 때, 가끔 아무런 답변을 할 수 없다고 하거나, 여러 가지 후보 답변을 제공한다. (3) 지시사항에 여러 가지 제한을 명시했을 때, 혹은 지시사항이 어려울 때, 성능이 감소한다.
(2)가 나타나는 이유는 라벨러에게 인식적 겸손(=instead of trying to be right, try to be less wrong)하게 보상하도록 요구했기 때문이다. 이로 인해, 라벨러는 위험을 경계하는 텍스트에게 점수를 후하게 주는 경향이 생겼고, 보상 모델은 이러한 경향을 학습했다.
(1)가 나타난 이유는 "거짓 가정을 참으로 판단하는 소수의 프롬프트가 있었고, 모델이 이러한 프롬프트를 일반화하지 못했다.
InstructGPT models show promising generalization to instructions outside of the RLHF fine-tuning description. In particular, we find that InstructGPT shows ability to follow instructions in non-English languages, and perform summarization and question-answering for code. This is interesting because non-English languages and code from a tiny minority of our fine-tuning data, and it suggests that alignment methods could generalize to producing the desired behavior on inputs that humans did not directly supervise.
we notice that it often produces an output in English even when the instructions is in other language. In comparison, we find that GPT-3 can perform these tasks but requires more careful prompting, and rarely follows instructions in these domains.
InstructGPT still makes simple mistakes.
(1) when given an instruction with a false premise, the model sometimes incorrectly assumes the premise is true, (2) the model can overly hedge; when given a simple question, it can sometimes say that there is no one answer to the question and give multiple possible answers, even when there is one fairly clear answer from the context and (3) the model's performance degrades when instructions contain multiple explicit constraints or when constraints can be challenging for language models
We suspect that behavior (2) merges partly because we instruct labelers to reward epistemic humility(=instead of trying to be right, try to be less wrong); thus, they may tend to reward outputs that hedge, and this gets picked up by our reward model. We suspect that behavior (1) occurs because there are few prompts in the training set that assume false premises, and our model don't generalize well to these prompts.
5. Discussion
5.1. Implications of alignment research
이번 연구를 통해, alignment 연구에 대한 다양한 교훈을 도출했다.
1. 모델 alignment를 향상시키는 비용은 pre-training 비용에 비하면 매우 작다. 뿐만 아니라, RLHF는 언어 모델을 사용자 맞춤으로 만드는데 매우 효과적이다. 때문에, 더 큰 언어 모델을 학습시키는 것보다 기존 언어 모델을 alignment하는 것이 효율적이다.
2. 학습 당시 보지 못한 지시사항 이행은 InstructGPT의 지시사항 이행 능력이 일반화 되었음을 시사한다.
이는 성질은 매우 중요하다. 모든 task를 지도 학습시키는 비용은 매우 비싸기 때문이다.
3. fine-tuning 기법을 수정하여, 대부분의 성능 저하를 완화했다.
부작용(?)이 큰 기술은 채택되기 매우 힘들다. 다행이도, RLHF는 부작용이 거의 없는 기술이다.
4. 현실 세계에서 연구를 진행했기에, alignment 기술을 검증되었다고 볼 수 있다.
이번 연구에서는, 실제로 유저가 사용하는 AI 시스템의 alingment 연구에 대한 기초(기준점)을 제공한다.
From this work, we draw lessons for alignment research more generally:
1. The cost of increasing model alignment is modest relative to pretraining.
At the same time, our results show that RLHF is very effective at making language models more helpful to users.
This suggest that right now increasing investments in alignment of existing language models is more cost-effective than training larger models
2. We've seen some evidence that InstructGPT generalizes "following instructions" to settings that we don't supervise it in,
This is an important property because it's prohibitively expensive to have humans supervise models on every task they perform.
3. We were able to mitigate most of the performance degradations introduced by our fine-tuning.
Any technique with a high tax might not see adoption.
our results are good news for RLHF as a low-tax alignment technique.
4. We've validated alignment techniques from research in the real world.
Our work provides grounding for alignment research in AI systems that are being used in production in the real world with customers.
5.2. What are we aligning to?
언어 모델을 사용자 의도와 일치시킬 때, 언어 모델의 최종 동작은 pre-trained 모델 (or 데이터), fine-tuning 데이터, alignment 방법에 의해 결정된다.
일치시키려는 주체가 무엇인지 확인하기 위해, fine-tuning 데이터에 영향을 주는 요소들에 대해 살펴볼 것이다.
이번 연구에서는, 라벨러의 선호도에 일치하도록 모델 학습시키고 있다. 이때 라벨러의 선호도는 가이드 라인, 라벨러에게 제공되는 문맥, 문맥을 평가하는 라벨러에 영향을 받는다.
1. 학습 라벨러가 제공한 선호도와 시연에 맞춰 모델을 조정한다.
2. 리서처가 제시한 가이드 라인를 기반으로 시연과 선호도 작성한다.
3. Customer가 제공한 프롬프트로 학습을 진행한다. 때문에, Customer 혹은 실제 유저가 중요하다고 생각하는 것에 맞춰 조정한다.
4. 하지만, OpenAI의 customer는 언어 모델의 잠재적 혹은 실제 유저를 대표하지 않는다.
공정하고, 투명하고, 알맞는 메커니즘이 있는 alignment 과정(=pre-train data, fine-tune data, method)을 설계하는 것은 매우 어려운 일이다.
이번 연구의 목표는 위 alignment 기술로 특정 서비스 위해 특정 집단에 맞춰 모델을 조정할 수 있음을 증명하는 것이다.
리서처, 라벨러 API customer가 올바른 선호도를 가지고 있고 주장하고 싶지 않다. 올바른 선호도를 수집하기는 매우 어렵다. 모델 학습을 담당하는 조직, 베타 유저, 실제 유저, 간접적으로 혹은 직접적으로 영향 받을 대중들 등 고려해야할 이해관계가 너무 많기 때문이다. 때문에, 모든 사람들이 만족하는 선호도에 맞게 모델을 학습시키는 것은 불가능하다.
대신, 특정 집단의 선호도를 기반으로 모델을 학습시키는 대안이 존재한다.
When aligning language models with human intentions, their end behavior is a function of the underlying model (and its training data), the fine-tuning data, and the alignment method used.
In this section, we describe a number of factors that influence the fine-tuning data specifically, to ultimately determine what and who we're aligning to.
In this work, we have aligned to a set of labelers's preferences that were influenced, among others things, by the instructions they were given, the context in which they received them (as a paid job) and who they received them from.
First, we are aligning to demonstrations and preferences provided by our training labelers.
Second, we are aligning to our preferences, as the researchers designing this study.
we write the labeling instructions that labelers use as a guide when writing demonstrations and choosing their preferred output.
Third, our training data is determined by prompts sent by OpenAI customers to models on the OpenAI API Playground, and thus we are implicitly aligning to what customers think is valuable and, in some cases what their end-users think is valuable
Fourth, OpenAI's customers are not representative of all potential or current users of language models
there are many difficulties in designing an alignment process that is fair, transparent, and has suitable accountability mechanism.
The goal of this paper is to demonstrate that this alignment technique can align to an specific human reference group for a specific application. We are not claiming that researchers, the labelers we hired, or our API customers are the right source of preferences. There are many stakeholders to consider - the organization, the customers, the end users, and the broader population.
it is impossible that one can train a system that is aligned to everyone's preferences at once.
One path forward could be to train models that can be conditioned on the preferences of certain groups
5.3. Limitations
1. 방법론. InstructGPT의 행동은 라벨러 피드백에 의해 결정된다. 하지만, 라벨러는 유저와 (모델에 영향을 받는) 대중을 대표하지 않는다.
다음과 같은 방법으로 데이터 수집을 더 객관적으로 할 수 있다. 기존에는 비용 측면 때문에, 한 프롬프트에 대한 텍스트 비교를 한 명의 라벨러로만 진행했다. 하지만, 여러 라벨러로 텍스트 비교를 하면, 라벨러 간의 의견 불일치 부분을 식별하는데 도움을 줄 것이다. 이로 인해, 모델은 이러한 의견 불일치 부분에 맞춰지지 않을 것이다.
의견이 일치하지 않는 경우, 라벨러 선호도의 평균에 맞추는 것은 바람직하지 않을 수 있다. 예를 들어, 생성 텍스트가 특정 소수 집단에게 불균형적으로 영향을 미친다면, 소수 집단에 속한 라벨러의 선호도에 더 큰 가중치를 부여하는 것이 적절할 수 있다.
2. 모델. InstructGPT는 사용자 의도에 완전 일치하지도 않고 완전 안전하지도 않다.
가장 큰 한계점은 현실 세계의 피해로 이어질 수 있는 지시사항을 이행하는 것이다.
Methodology. The behavior of our InstructGPT models is determined in part by the human feedback obtained from our contractors.
However, this group is clearly not representative of the full spectrum of people who will use and be affected by our deployed models.
There are also many ways in which we could improve our data collection set-up. For instance, most comparisons are only labeled by 1 contractor for cost reasons. Having examples labeled multiple times could help identify areas where our contractors disagree, and thus where a single model is unlikely to align to all of them.
In cases of disagreement, aligning to the average labeler preference may not be desirable. For example, when generating text that disproportionately affects a minority group, we may want the preferences of labelers belonging to that group to be weighted more heavily.
Models. Our models are neither fully aligned nor fully safe;
Perhaps the greatest limitation of our models is that, they follow the user's intention, even if that could lead to harm in the real world.