전이학습(transfer learning)이란?
지난 시간에 우리는 초거대언어모델(LLM, Large Language Model)의 핵심 개념인 언어모델(Language Model)이 무엇인지 배웠습니다. 언어모델이란 결국 문장 즉 단어의 시퀀스(sequence) 상에서 각 단어에 들어갈 확률을 부여해주는 인공지능 모델입니다.
최근 초거대언어모델(LLM)이 각광받으면서 수많은 종류의 LLM이 쏟아져 나오고 있습니다. 매개변수(parameter)를 줄이고 한국어 데이터를 추가학습(fine-tuning)한 여러 한국어 특화 소형LLM (sLLM)도 리더보드에서 확인하실 수 있습니다. 그러나 역시 기본 뼈대가 되는 원리는 비슷합니다. 혼란스러워 하실 필요도 없습니다. GPT나 LLaMA2와 같은 초거대언어모델(LLM) 역시 지난시간에 배웠던 언어모델의 한 종류일 뿐이기 때문입니다.
이처럼 초거대언어모델(LLM)역시 딥러닝 알고리즘을 적용하여 문장이라는 시퀀스 데이터에 들어가는 각 단어에 확률을 할당한다는 점에서 핵심 원리는 동일합니다. 따라서 초거대언어모델(LLM)은 딥러닝 기반 언어모델(Deep Learning based Language Model)의 연장선에 있다고도 할 수 있습니다. 그럼 초거대언어모델(LLM)은 기존 딥러닝 기반 언어모델과 무엇이 다를까요? 그 답은 바로 전이학습(transfer learning)에 있습니다.
초거대언어모델(LLM)에 들어가는 데이터와 매개변수의 수는 정말 천문학적입니다. LLM은 사람처럼 말하기 위해서 적게는 수 만개에서 많게는 수천억개의 단어 즉 토큰(token)을 학습해야 합니다. 챗GPT는 약 7000억개의 토큰으로 학습되어 있는 것으로 알려져 있습니다. 뿐만아니라 딥러닝을 구성하는 인공신경망에는 가중치(weight)와 편향(bias)를 조정하는 매개변수(parameter)라는 것이 있습니다. 이것 역시 적게는 수억개에서 많게는 수천억 아니 수 조개에 달하는 어마무시한 숫자가 필요합니다. 어마무시한 전력과 GPU가 필요한 작업이지요.
이러한 데이터와 매개변수를 매번 다른 모델을 만들 때 마다 처음부터 다시 학습시킨다는 것은 불가능한 일일 것입니다. 그래서 전이학습이라는 개념이 등장했습니다. 전이학습(transfer learning)이란 한가지 문제를 해결하기 위한 아키텍쳐와 지식 등을 매우 비슷하지만 조금은 다른 작업에 적용하는 기계학습(machine learning)의 한 방법입니다. 쉽게 말해 전이학습은 한 번 훌륭한 모델을 만들어놓고, 여러 다르지만 비슷한 문제에 적용하는 방식이라고 할 수 있지요.
전이학습은 크게 사전학습(pre-training)과 미세조정(fine-tuning)이라는 두가지 스텝을 거쳐 진행됩니다.
우선 사전학습(pre-training) 단계에서는 매우 방대한 양의 인터넷 데이터, 책, 문서, 웹페이지 등 다양한 소스의 텍스트를 사용하여 언어 이해 능력을 습득하며 이 과정에서 문장 구조, 단어 의미, 문맥 등 다양한 언어적 특성을 이해하는 모델이 탄생하게 되는 것이죠. 이처럼 사전학습된 언어모델(pre-trained language model)은 초거대언어모델의 뼈대가 됩니다.
사전학습된 언어모델을 특정 자연어처리 태스크에 맞게 미세 조정하여 적용하는 과정이 바로 미세조정(fine-tuning)입니다. 이를 위해서는 특정 태스크와 관련된 비교적 작은 규모의 데이터셋을 사용하여 사전학습 언어모델의 일부 또는 전체 파라미터를 재학습시키는 과정을 거칩니다. 이렇게 하면 초거대언어모델(LLM) 은 특정 도메인 지식을 갖추고 특수한자연어처리 태스크에 더 적합한 지식을 획득하게 되는 것입니다.
이해를 돕기 위해 직관적으로 설명하자면 사전학습된 언어모델은 박학다식한 만물박사에 비유할 수 있습니다. 만물박사 언어모델은 인터넷상에 존재하는 세상의 거의 모든 텍스트 데이터를 학습한 덕분에 세상에 존재하는 거의 모든 문장 구조, 단어, 문맥을 어려움 없이 이해할 수 있으며 왠만한 질문에도 풍부한 상식과 지식을 바탕으로 막힘 없이 대답할 수 있습니다. 즉 만물박사 언어모델은 매우 넓고 얕은 지식을 가지고 있는 것이죠.
하지만 특정 분야의 태스크를 전문적으로 수행하기 위해서는 넓고 얕은 지식만으로는 부족할 때가 있습니다. 이 때 미세조정을 통해 만물박사 언어모델에게 특훈을 통해 특정 분야에 대한 지식과 깊이를 더해줄 수 있습니다. 이처럼 만물박사 언어모델을 특정 분야의 전문가로 키워내는 과정이 바로 미세조정인 것입니다. 예를 들어 만물박사를 법률 전문가로 키우고 싶다고 가정해봅시다.
이를 위해 우리는 전체 파라미터를 재학습 시키는 과정을 통해 법전에서 자주 사용하는 문장 구조, 단어, 문맥과 해석에 관련된 정보들을 사전학습된 언어모델에게 학습시킬 수 있습니다. 이러한 과정을 통해서 만물박사는 ‘법률 전문 서비스 챗봇’이라는 전문가로 다시 태어나게 됩니다.
전이학습 기반 언어모델의 대표적인 알고리즘과 적용 사례
대표적인 전이학습 기반 언어모델은 OpenAI의 GPT (Generative Pre-training Transformer) 시리즈가 있으며, 이는 가장 최근의 GPT-4까지 발표되었습니다.GPT는 트랜스포머(transformer)라는 딥러닝 아키텍처를 기반으로 하며, 특히 Attention 메커니즘이라는 기법을 통해 문장에서 중요한 단어나 구를 식별하고 이에 적합한 가중치를 부여하여 문장 전체의 의미를 파악합니다.
GPT 모델은 먼저 대량의 텍스트 데이터에 대한 비지도 학습을 통해 사전학습(pre-training)을 수행합니다. 이 과정에서 모델은 기본적인 문법 구조, 문맥상의 단어 연관성, 단어의 의미 등을 학습합니다. 이후, 특정 태스크에 대한 지도 학습을 통해 미세조정(fine-tuning)이 진행됩니다. 이 과정은 특정한 태스크를 위한 적절한 데이터셋을 사용하여 이루어지며, 모델의 일부 또는 전체 파라미터가 재학습되는 것입니다.
이런 방식으로 전이학습 기반 언어모델은 다양한 자연어처리(NLP) 태스크에 효과적으로 적용될 수 있습니다. 대표적인 예로는 자연어 생성, 기계 번역, 감성 분석, 요약, 질문-응답 시스템 등이 있습니다.이렇게 다양한 분야에서 활용되는 전이학습 기반 언어모델은 기계가 인간처럼 자연어를 이해하고 생성하는 능력을 향상시키는 핵심 기술입니다. 그리고 이는 딥러닝과 전이학습의 발전과 함께 계속해서 발전해 나갈 것입니다.