-
Training language models to follow instructions with human feedback (a.k.a. InstructGPT, 2022) 리뷰AI/NLP 2023. 1. 26. 16:25728x90
Training language models to follow instructions with human feedback
(a.k.a. InstructGPT, 2022) 리뷰목차
- 들어가며...
- Paradigms for Applying LLMs
들어가며...
- meta : Blender bot 3.0
- google : LaMDA
- 실제 구글 개발자가 LaMDA가 감정이 있다고 하자, 해고당한 적 있음
- https://medium.com/predict/does-googles-lamda-robot-experience-feelings-184fa300f9aa
- General AI가 오고 있는가 ?
- DALLI / ChatGPT .... : 오고 있는 중 아닐까 ?
- ChatGPT가 불러온 파장
- Google's T5 : A Seq2Seq2 pretrained LM
- Multitask 다 때려박으면 다 잘하나 ?
- 그건 아닌데, task간의 regularization을 잘하더라 ?
- Multitask 다 때려박으면 다 잘하나 ?
- OpenAI GPT3
- 초거대 모델
- 모델의 사이즈를 키우는 것이 더 좋은 성능을 가지고 있다 (아직까지는 .... )
- Scaling Laws for Neural Language Models (https://arxiv.org/abs/2001.08361)
Paradigms for Applying LLMs
- Pre-train then Fine-tune
- 우리가 흔히 사용하는 방식
- 하지만 한 task에 집중해서 매번 fine-tuning해야 한다는 단점이 있다
- 또한 pretraining해서 얻은 commonsense들을 다 잃어버린다
- Prompt learning (In-context Learning)
- 우리가 아는 GPT-2도 Metra-learning의 한가지 방법인 'in-context learning'을 통해 학습되었다
- in-context learning은 원하는 task에 대한 간단한 설명을 함께 Input하여 주는 방법
- Pre-train then Fine-tune 방식과 거의 성능이 비슷해지고 있다
- ex: FLAN & T0 fine-tune the model for better zero-shot performance
- 어떻게 prompt engineering을 잘 구성할 것이냐 ! 가 성능을 좌우하게 된다
- 지난번에 민한님께 발표 부탁드렸던 논문 PET도 이런 결, 어떻게 instruction을 자동화하여 잘 만들지에 대한 논문
- 여기서 모델에게 질문하는 방법, 즉 프롬프트를 구성하는 방식이 결과물의 퀄리티를 좌우한다.
- GPT-3는 이런 한계를 극복하고자 GPT의 새로운 버전인 InstructGPT를 발표했다.
- 그리고 이 새로운 모델에 대한 피드백이 너무나 좋은 나머지, <Instruct>라는 수식어를 빼고 GPT-3 API에서 디폴트로 InstructGPT가 사용되도록 하였다. (API 상에서 175B InstructGPT 모델은 text-davinci-001이라는 이름으로 지정되어 있다)
- InstructGPT는 human-instructions을 fine-tune한다
- 우리가 아는 GPT-2도 Metra-learning의 한가지 방법인 'in-context learning'을 통해 학습되었다
- Parameter-efficient Tuning
- Pre-train을 건들지 않고 가벼운 weight를 가진 parameter 붙여서 학습 진행
GPT3 논문 제목이 " Language Models are Few-Shot Learners ",
연구실 분이 발표하신 논문은 "It’s Not Just Size That Matters:Small Language Models Are Also Few-Shot Learners"
GPT-3는 in-context learning 방식으로 Few-shot 세팅에서 NLU 태스크를 잘 수행할 수 있다는 것을 보여주었다.
이러한 성과는 1750억 개에 달하는 엄청난 양의 파라미터로 수많은 텍스트에 대해 진행한 사전학습을 통해 달성할 수 있었는데, 이 모델을 학습시키는 데에 드는 비용이 $4.6 million, 약 52억 원에 달할 것으로 추정된다.
천문학적인 학습 비용 이외에도 GPT-3가 가지는 한계는 존재한다. GPT-3에서 사용하는 in-context learning은 모델이 컨텍스트에 주어진 태스크에 대한 설명이나 예시를 통해 어떤 태스크를 수행해야 하는지를 추론 단계에서 '유추'해내는 것을 의미한다. 이 방법은 GPT-3가 학습한 LM이 아주 잘 작동할 때만 작동한다. 뿐만 아니라, Transformer의 구조상 컨텍스트에 밀어 넣을 수 있는 토큰의 개수는 몇백 개에 불과하기 때문에 예제 자체가 길어지거나 더 많은 예제를 넣고자 할 때 scalable하지 않을 수 있다.
이러한 in-context learning 대신 <PET 알고리즘>을 사용해 작은 모델로도 few-shot learning이 가능하다는 제안을
"It’s Not Just Size That Matters:Small Language Models Are Also Few-Shot Learners" 에서 한 것이다.
이 논문에서 제안한 모델은 다음과 같은 방식으로 few-shot 셋팅에서 NLU태스크를 풀어냈다.
(1) 텍스트 인풋을 태스크에 대한 묘사를 포함한 Cloze 스타일의 질문으로 바꾼다.
(2) 그라디언트 기반의 최적화를 수행한다.
(3) 라벨링되지 않은 데이터로부터 정보를 추가적으로 활용하여 성능을 향상한다.
이러한 방법을 통해 작은 모델로도 SuperGLUE 태스크에 대해 GPT-3를 능가하는 성적을 달성했다. 아래의 그래프는 32개의 학습 샘플만으로 SuperGLUE 태스크를 풀었을 때의 결과이다. GPT-3에 사용된 파라미터의 0.1%만으로 SuperGLUE에서 더 높은 성적을 낸 것을 확인할 수 있다왜 강화학습이 잘 되는지, 왜 LM이 잘 되는지 아직 blackbox라서, explainability가 중요할 듯 하다
이런 것들이 잘 해결하는 분야에 대해선 아직 가능성... 있다
Reference
https://arxiv.org/abs/2203.02155
https://littlefoxdiary.tistory.com/101
https://littlefoxdiary.tistory.com/62
728x90'AI > NLP' 카테고리의 다른 글