brunch

You can make anything
by writing

C.S.Lewis

by 알바트로스 Mar 24. 2024

GPT-2 해부하기

미세조정(fine-tuning)이 필요없는 멀티테스킹 언어모델

GPT-2는 GPT-1의 후속 모델로 2019년에 발표되었습니다. GPT-2는 이전 모델에 비해 대폭 늘어난 매개변수와 더욱 다양해진 학습 데이터 등 상당한 개선을 보여주며 자연어처리 분야에 큰 파장을 일으키기 시작한 모델입니다GPT-2는 decoder의 차원수와 매개변수의 갯수에 따라 여러 버전으로 나누어져 있는데, 가장 큰 GPT-2 모델은 15억 개의 매개변수(parameter)를 가집니다. 


출처 : https://jalammar.github.io/illustrated-gpt2, Alammar, J (2018)


이는 GPT-1(약1.1억개)의 크기의 무려 10배가 넘는 규모이죠. 매개변수는 언어모델이 학습할 때 신경망에서 조정되는 가중치(weight)와 편향(bias)을 의미합니다. 보통 매개변수가 많으면 많을수록 언어모델의 성능이 좋아진다는 점을 고려했을 때 GPT-2는 이전 모델에 비해 단순히 생각해도 약 10배 이상 성능이 좋다고 생각해볼 수 있습니다.


하지만 매개변수의 증가는 혁신의 일부에 불과합니다. 지난시간에 살펴본 GPT-1은 약간의 미세조정(Supervised Fine-tuning)만으로 특정 Task에서 뛰어난 성능을 보이는 모델을 만들어 냈었습니다지도학습(supervised learning)과 비지도학습(unsupervised learning)이 혼합된 준지도학습(semi-supervised learning)이 GPT-1의 가장 큰 특징이었죠. 


GPT-2은 한발 더 나아가 GPT가 미세조정(Fine-tuning) 없이도 비지도 사전학습(Unsupervised pre-training) 만을 통해 일반적인 테스크에도 뛰어난 성능을 낼 수 있는 General language model로 재탄생하는 계기를 마련했습니다. 이번시간에는 Language Models are Unsupervised Multitask Learners(2019)라는 논문을 리뷰하며 GPT-2을 해부해 보도록 하겠습니다. 


1. GPT-2를 통해 해결하고자 했던 문제


자연어처리에 적용되는 머신러닝 기반 모델들은 커다란 데이터셋(dataset)과 매개변수(parameter) 그리고 지도 학습(supervised learning) 등을 통해 빠르게 발전해왔습니다. 그러나 이러한 방법론에 입각해 개발된 모델들은 데이터의 분포가 살짝만 바뀌어도 매우 불안정하며 특정 Task에서만 뛰어난 능력을 발휘하는 경향성이 있지요. 

출처 : Language Models are Unsupervised Multitask Learners


GPT-2 이전의 언어모델들은 미세조정(fine-tuning)에 따라 특화된 도메인과 task에만 최적화된 성능을 보일뿐 모든 영역에서 두각을 드러내진 못했습니다. 따라서 보다  많은 Task에 적용 가능한 더 범용적인 모델을 개발할 필요가 있었습니다. 하나의 언어모델이 기계 독해, 요약, 번역, 질의응답(Q&A) 모두를 잘할 수는 없을까요? GPT-2는 바로 이러한 문제점을 해결하고자 했습니다.


2. GPT-2의 작동원리와 한계점


GPT-2는 WebText라는 대규모 데이터셋으로 학습되었습니다. WebText는 인터넷의 다양한 웹 페이지에서 추출된 데이터로 구성되어 있으며 GPT-1의 BooksCorpus과 비교하여 훨씬 다양한 주제와 문맥에 대한 정보를 학습할 수 있는 데이터셋으로 평가됩니다.


또한 GPT-2의 큰 특징중 하 나는 바로 zero-shot setting입니다. zero-shot setting이란 어떠한 새로운 task에 관해 별도의 미세조정(fine-tuning)을 진행하지 않고도 해당 task에 관한 예측을 수행할 수 있도록 하는 기법입니다.


출처 : Language Models are Unsupervised Multitask Learners


마지막으로 언어모델(Language Model, LM) 역시 GPT-2의 핵심적인 특징입니다. 이전 문장과 단어에 맞게 순방향으로 다음단어를 예측하는 언어모델의 개념과 작동 방식에 대해서는 언어모델의 기초에서 다룬바 있습니다. 결국 GPT-2는 이와같이 방대한 양의 텍스트 데이터를 포함하는 WebText을 다음 토큰을 예측하는 LM(Language Model)에 적용하여 zero-shot task 성능을 향상시킨 모델이라고 할 수 있습니다.


GPT-2는 같은해 출시된 BERT 시리즈와도 비교되고는 합니다. BERT는 기존 방식의 한계를 극복하고 더 나은 문맥 이해 능력을 위해 MLM(Masked Language Model)을 제시한 반면, GPT-2는 자연어를 순방향으로 학습하는 AR(AutoRegressive) 방식을 활용하여 기존보다 많은 데이터를 처리할 수 있도록 구현한 것이 가장 큰 특징이라고 할 수 있지요.


미세조정(fine-tuning) 없이 수많은 다운스트림 테스크를 수행 가능하게 되면서 GPT-2는 GPT-1에 비해 다양한 테스크를 수행할 수 있게 되었고, 이는 GPT-3이나 챗GPT와 같은 모델로 발전하기 위한 발판이 됩니다. 그러나 논문의 저자들은 논문에서 제시된 가장 큰 모델인 GPT-2(1.5B)가 8개 중 7개의 평가 데이터셋에 대해 SOTA(State-Of-The-Arts)를 달성했음에도 불구하고 여전히 WebText에 대해선 일반화 능력이 부족하다는 견해를 밝히고 있습니다.


3. GPT-2이 가지는 의의


GPT-2는 GPT-1과는 다르게 특정 작업을 위한 명시적인 미세조정 없이도 작업 수행이 가능한 모델입니다. GPT-2는 주어진 명령에 따라 다양한 작업을 수행하는데, 이 때 사전학습된 방대한 양의 텍스트 데이터를 바탕으로 한 번도 본적 없는 질문에 대한 답을 하는 Zero-shot learning 방식을 활용하여 미세조정과 비슷한 효과를 낼 수 있음을 증명했습니다.


재미있는 사실은 GPT-2의 뛰어난 성능 때문에, 이를 이용한 오해나 허위 정보 생성, 특히 'Deepfake for text'에 대한 우려가 생겨나기 시작했다는 점입니다. 이러한 우려로 인해 OpenAI는 초기에 GPT-2의 가장 큰 모델(1.5B)을 공개하지 않기로 결정하였죠. 이후 위험성에 대해 충분한 고려를 마친 뒤, OpenAI는 일정 기간이 지난 후 모델의 작은 버전부터 차례대로 공개하기 시작하여 결국에는 가장 큰 모델까지 공개하게 되었습니다.


GPT-2는 그 당시에도 충분히 강력했으나, 이후 GPT-3와 같은 더욱 발전된 모델이 등장하는 또다른 발판이 되기도 습니다. GPT-2의 등장은 Transformer Decoder 기반 모델의 뛰어난 성능과 가능성을 세계에 알리는 중요한 계기가 되었습니다. 다음시간에는 본격적으로 GPT 시리즈를 세상에 알리기 시작한 GPT-3에 대해 다루어 보겠습니다.

이전 08화 GPT-1 해부하기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari