1. Scaling Law
GPT의 발전 추세를 보면 모델의 크기를 키워서 LLM이 성능확보를 얻어가는 것 같다. layer를 많이 쌓아서 혹은 layer 하나에 들어가는 파라미터 수를 늘려서 와 같은 방식으로 모델의 크기를 키우고 있다.
실제로 openAI 연구진들이 모델의 크기를 키움에 따라 실험한 결과를 보면, 같은 성능을 얻는데 큰 모델이 훨씬 적은 학습 샘플을 요구하며 학습 속도도 더 빠름을 알 수 있다.
하지만 오른편 그래프를 보면 모델이 커짐에 따라 원하는 test loss를 달성하기 위해 GPU 연산량도 늘어남을 알 수 있다.
크기를 키운 모델이 달성할 수 있는 최적의 성능을 얻고 싶다면 그에 맞게 데이터의 양도 크게 키워야 한다.
이런 분석 결과(발견한 패턴)를 Scaling Law 라고 한다.
2. Pre-LN, Sparse Transformer
GPT-3가 단순히 데이터와 파라미터 수만 늘린 것은 아니다.
소소한 변화라고 느낄 수도 있지만 layernorm의 위치가 바뀌었다.
Transformer의 핵심 연산은 O(n^2)의 공간복잡도를 갖는 attention이다. 여기에 masking을 해서 각 쿼리가 자기 위치 이후를 못 보게 masking을 했었다.
새로 도입된 변화는 각 쿼리가 이전의 모든 key들에 대해 날려지는 것이 아니라 sparse하게 참고하도록 한다는 것이다. 하늘색 칸이 직전 회색 칸들의 정보를 갖고 있다고 보는것이다.
이렇게 공간 복잡도를 O(n*sqrt(n))으로 줄여서 한정된 gpu 메모리 크기에 비해 더 긴 시퀀스를 감당할 수 있게 되었다.
3. In context learning
아무튼 이렇게 다음 단어를 예측하도록 학습된, 크기를 키운 GPT-3의 놀라운 점은 In-context learning이 더 큰 폭으로 잘 된다는 것이다.
원래 pretrained model의 활용은 target task를 위해 fine-tuning으로 backprob을 진행했었다. 그런데 GPT-3는 task description/example/prompt 를 한 sequence로 입력 받았을 때 문제를 풀어버린다. 모델을 학습할 때 보지 않은 데이터에 대해서도 예시를 준다면 그 즉시 backprob없이 배워서 풀 수 있다는 것이다.
모델이 클 수록 새로운 task에 대한 적응력, emergent abilities는 더 두드러진다.
4. Prompt Engineering
이런 차이는 새로운 패러다임의 변화를 가져왔다. BERT시절 transfer learning이라 함은 pre-train -> fine-tune이였다.
GPT-3가 등장하고 나서 'task에 맞게 알맞은 prompt를 찾는 것'이라는 새로운 관점으로 transfer learning을 바라보게 되었다.
실제로 prompt를 어떻게 주냐에 따라 zero-shot 성능 차이는 매우 크다.
5. Instruction Tuning
GPT는 위키피디어 같은 평서문들을 보고 학습되어 다음 단어를 예측하도록 한다. 즉 여러 다양한 task(번역, 긍부정, common reasoning 등)에 특화되어 있다고 보기 어렵다.
그래서 기존 평서형 데이터에 Instruction잘 붙여서 prompt를 구성한 instruction set을 가지고 한번 더 학습하여 여러 task에서의 zero-shot 성능을 높이려는 시도가 등장했다. 대표적인 예로 FLAN(Finetuned Language Net)이 있다.
이렇게 학습을 하고 나니 unseen task에 대해서도 성능이 올라감을 보였다. 예를 들어 번역/요약에 대한 instruction-tuning을 하고 나니 (배운적도 없는) 긍/부정 평가 task의 성능도 올라갔다는 말이다.
6. Preference Tuning
RLHF(Re-enforcement Learning from Human Feedback)라고도 하며 GPT3.5부터 반영되었다고 한다.
여기서 학습이 끝나지 않는다.
저 초록색 모델은 critic을 위한 모델이다. 따로 학습하는 모델이다.
점수를 매기는 모델의 평가를 높이도록 추가로 강화학습을 적용하여 사람의 선호도를 반영할 수 있게 되었다.
7. GPT의 진화
8. 정리
Model alignment : 모델에게 새로운 지식이나 능력을 주입하지 않고 모델 내에 이미 있는 역량을 이끌어내려고 하는 것. 큰 틀에서는 instruction tuning, Preference Tuning이 여기에 속한다.
LLaMA : chatGPT의 대항마로 facebook에서 만든 LLM이다. chatGPT와는 달리 ckpt까지 공개되어 있다.
'boostcamp AI tech > boostcamp AI' 카테고리의 다른 글
NLP task : Relation Extraction (0) | 2024.01.03 |
---|---|
Representation Learning & Self Supervised Learning (0) | 2024.01.02 |
PyTorch Lightning Preview (0) | 2023.12.12 |
Introduction to NLP task (0) | 2023.12.12 |
Self-Supervised Pre-training Model (GPT-2, GPT-3, ALBERT, ELECTRA) (2) | 2023.12.08 |