Language model 이야기 (1) – GPT-3 패러다임
ChatGPT 출시로 함께한 GPT-3에서 시작된 새로운 패러다임을 알아봐요!
*본 연구는 모두의연구소 K-디지털 플랫폼의 지원 받아 작성된 글입니다.
시즌1 : ChatGPT의 근본원리를 파헤쳐 보다.
- FunLM LAB 시즌1을 시작하면서
- GPT-3에서 시작된 새로운 패러다임
- InstructGPT, LM과의 대화를 가능하게 하다
- ChatGPT을 탄생시킨 발견, In-context Learning(ICL)
- ICL의 원인에 대한 가설, Double Descent
- Prompt Engineering과 Small LM의 가능성
- FunLM LAB 시즌1을 마치며
1. FunLM LAB 시즌1을 시작하면서
2022년 11월 30일, ChatGPT라는 것이 처음 출시되었다는 소문을 들었습니다. Dialogue System 연구자 입장에서 그냥 지나칠 수 없는 소식이었기에, 잠시 연구를 멈추고 ChatGPT가 뭐길래 세상이 이렇게나 떠들썩한지 살펴보았습니다. GPT가 진화를 거듭하면서 text generation을 꽤 그럴듯하게 수행한다는 것쯤은 이미 알고 있었지만, AI가 내 의도를 알아듣고 사람처럼 대화를 주고받는게 (지금은 당연하게 느껴지지만) 가능해졌다는 것은 충격이 아닐 수 없었죠. 당시에는 Task-oriented Dialogue System을 주제로 연구하고 있었는데, ChatGPT를 이용하면 추가적인 fine-tuning 없이도 충분히 기본적인 Task-oriented Dialogue가 가능하다는 것을 직접 확인하고는 진행하던 연구를 중단할 수밖에 없었습니다.
모두의연구소 연구원들과 함께 1달 가량 ChatGPT는 어떤 기술적 백그라운드를 가지고 있는지 파헤쳐서 대략의 흐름을 파악할 수 있었습니다. 그래서 그 1달간의 서베이를 바탕으로 아래와 같은 3달간의 세미나 커리큘럼을 구성하였고, 이를 토대로 2월 15일부터 5월 10일까지 12주간의 멋진 세미나를 진행했습니다.
- FunLM LAB 시즌1 커리큘럼
- ChatGPT : (Intro)오늘날의 LM은 어디까지 가능하고 어떤 한계를 지니고 있나?
- GPT3 : Large Language Model은 이전과 근본적으로 어떤 점이 달라졌는가?
- InstructGPT : Human Feedback을 통한 강화학습은 어떻게 LM을 정교하게 만들었는가?
- Task-oriented Dialogue system : 믿고 일을 맡길 수 있는 챗봇을 위해
- In-Context Learning : LM의 맥락 대응 능력을 설명할 수 있을까?
- Emergent Abilities of LLM : LLM에게는 뭔가 특별한 것이 있는것 같은데?
- Double Descent : LM의 창발효과를 설명할 수 있을 키워드
- Small language models are also few-shot learners : 어쩌면 우리도 뭔가 해볼수 있을지도?
- RETRO : 검색 기반의 챗봇이 유용하지 않을까?
- Negation Problem : 현재의 LM이 가진 한계점에 대한 고찰
10명 정원으로 모집한 랩에 총 27명이나 지원해 주셔서, 부득이 많은 분들을 탈락시키게 되어 당시에는 정말 송구한 마음이었습니다. 그만큼 ChatGPT가 불러온 생성형 AI에 대한 관심이 컸다는 의미였겠죠? 어쨌든 랩짱 포함 14명이서 시작한 FunLM Lab 시즌1은 3개월 동안 단 한명의 탈락자도 없이 모두가 끝까지 열심히 참여해 주셨습니다. 지난 8년간의 모두연에서의 랩활동을 돌아보아도 이렇게 모두가 성실하고 열정적으로 참여했던 랩은 처음이었던 것 같습니다. 랩짱으로서 정말 행복했던 경험을 하게 해주신 FunLM Lab 연구원님들께 고마움을 전합니다.
이 글에서는 지난 시즌1에서 다룬 내용을 아주 간단히 맛보기로만 요약해 보려고 합니다. 실제로는 매주마다 진행자분께서 장문의 발표자료를 준비해 주셨고, 참가자 모두가 1가지 이상의 질문을 준비해 와서 심도있는 토론을 진행하였습니다.
2. GPT-3에서 시작된 새로운 패러다임
2020년 5월 공개된 Brown et al. 2020, Language Models are Few-Shot Learners (링크) 에서 가장 인상적인 부분은 아무래도 제목에서 말하는 Few-shot Learner로서의 언어모델(Language Model, 이하 LM이라고 표현합니다) 의 가능성입니다. 어쩌면 사람들은 GPT-3란 그저 GPT-2 때부터 이미 놀라운 수준인 Text Generation 능력을 엄청 큰 파라미터 사이즈로 극대화시킨 정도가 아닌가 생각할지도 모릅니다. (저는 그랬던 거 같네요) 하지만, Few-shot Learner라는 표현의 의미는 자연어처리(NLP)의 새로운 패러다임의 도래를 의미했습니다.
💡 New Paradigm : LM이 어떤 task를 수행하도록 하기 위해 LM을 새로 Finetune할 필요가 없다. |
sea otter - loutre de mer
같은 X-Y
형식의 paired dataset을 엄청난 규모로 모아서, 그 데이터셋으로 LM을 학습시키는 작업을 해왔습니다. 이것은 BART, T5 등의 pretrained LM이 보편화된 시점에도 finetune이라는 이름으로 계속되어온 일입니다. 그런데 GPT-3가 말하는 것은, LM에게 어떤 task를 수행하게 하기 위해 엄청난 paired dataset 구축 작업이나 finetune을 통한 gradient update 과정이 불필요하며, GPT-3에게 그저 task를 설명하는 X-Y
형태의 몇 건의 example만 LM의 prompt에 보여주면 이후 얼마든지 해당 task를 수행할 수 있다는 가능성입니다.
Finetune할 필요가 없다는 것이 주는 강력한 이점이 뭘까요? LM을 Finetune하게 되면 이후 그 LM은 Finetune한 특정 task에만 특화됩니다. 다른 task를 수행하게 하려면 또 다른 finetune이 필요해지고, 그러면 원래의 task를 수행하는 능력을 잊어버리는 소위 catastrophic forgetting
문제에 자유롭지 못합니다. 즉 Finetune할 필요가 없는 GPT-3는 아주 general한 AI Model로서의 가능성을 보여줍니다. 그래서, GPT-3의 진정한 의미는 GPT-3 논문 Introduction 첫페이지에 나오는 아래 그림으로 모두 설명 가능합니다. 그저 초거대 LM을 pretrain했을 뿐인데, pretrain 과정에서 LM은 사칙연산이든, 오타교정이든, 번역문제든 어떤 문제든 LM의 입력(context)에서 지시한 task를 general하게 수행 가능한 in-context learning 능력을 얻게 되었다는 의미입니다.
- 📌 LAB 소개: FunLM-LAB 상세 페이지
- ➡️ 다음 글: FunLM-LAB의 Fun한 LM이야기 (2)
모두의연구소 Language Model 관련 LAB LIST [🔗바로가기]
- CALM LAB(context-aware language modeing) LAB
- Goal-Oriented Dialogue System을 위한 Context-Aware Language Modeling 대한 연구
- LLM(large language model research) LAB
- Prompt Engineering, Transformer 모델 등 Large Language Model 응용 관련하여 연구 및 논문 작성
- KBLM(Knowledge based language model) LAB
- LM에 knowledge를 추가로 적용하는 방안과 해당 모델을 잘 경량화해서 application level에 활용될 수 있게 하는 방안에 초점을 맞추어 연구 및 개발
- KoAlpaca LAB
- KoAlpaca는 한국어 언어모델의 사용성을 향상시키기 위한 연구와 한국어 Instruct Set 개선을 목표로 하는 프로젝트
- CPLR(ChatGPT prompt learning research) LAB
- 대용량 언어 모델과 Zero Shot, One Shot, Few Shot Learning 기법, 그리고 Prompt Engineering을 활용하여 문서 추천 방식을 개선하고, 새로운 검색 트렌드를 제시
✏️ 필진: 백병인 I 편집자: 신태양