[LLM] 대형 언어 모델(LLM) 소개

PSLeon ㅣ 2024. 10. 27. 02:41

반응형

대형 언어 모델(LLM) 소개(Introduction to LLM)

ChatGPT가 공개된지 약 2년이 다되어 가는 시점이고, 처음 나왔을 때는 hallucination(AI가 학습된 데이터나 맥락에 근거하지 않는 잘못된 정보나 허위 정보를 생성하는 현상)이 심해서 여러 번의 검증을 하고 사용하였는데, 최근에는 이러한 문제가 상당하 개선되며 다양한 분야에 적용되어 인간의 업무 효율성을 높이고 있다. 시대의 흐름에 맞게 AI를 사용하는 것은 선택이 아닌 필수가 된 시점에서 자연어 처리(Natural Language Processing, NLP)와 대형 언어 모델(Large Language Model)에 대한 이해는 AI를 공부한다면 필수적이라고 생각한다. 따라서, 기본적인 자연어 처리 기법과 대형 언어 모델의 기초를 만들어준 Transformer와 Transformer 구조에서 인코더 부분을 활용한 Bert 모델, 디코더 부분을 활용한 GPT 모델에 대해 앞으로 몇 차례의 포스팅을 통해 다뤄보고자 한다.

 

What is GPT?

가장 먼저, GPT에 대해서 간단히 얘기해 보자.

GPT는 OpenAI에 의해 2022년 11월 30일에 세상에 공개된 대형 언어 모델(Large Language Model)이며, AI를 학습 중인 사람들은 아래와 같이 ChatGPT가 아주 익숙할 것이다. 이번 포스팅의 마지막 부분에서는 대형 언어 모델을 뜻하는 단어 중 Large에 대한 부분과 Language Model에 대한 부분을 나눠서 생각해볼 것이다. 얼마나 커야 대형 언어 모델에 속하는 것이고, 언어 모델이란 무엇인가에 관한 내용이다.

 

 

또한, 다들 GPT에 대한 이야기를 많이 하지만 구체적으로 어떤 뜻을 내포하고 있는지 아는 이들은 별로 없을 것이다. GPT의 풀 네임은 Generative pretrained Transformer이며 한글로 풀어서 말하면 생성형 사전 학습 트랜스포머라는 뜻을 가진다. 앞으로 생성(generation), 사전 학습(pretrain), 트랜스포머(transformer)에 대해서 순서대로 하나씩 살펴볼 것이다.

 

 

앞에서 트랜스포머에 대해서 여러 차례 언급했는데 이는 2017년에 인공지능 탑 티어 학회 중 하나인 NeuIPS에 발표된 논문인 "Attention is all you need(https://proceedings.neurips.cc/paper_files/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf)'에서 제안된 인코더-디코더 구조의 모델이다.

 

 

앞으로 다룰 포스팅에서는 self-attention이 무엇인지, cross attention이 무엇인지, masked self-attention이 무엇인지에 대해서 하나씩 구체적으로 알아볼 예정이다. 또한 Transformer는 어떤 sequence한 데이터를 처리할 때 주로 사용하던 RNN과 같은 모델의 단점을 해결하기 위한 모델로써, RNN, LSTM, GRU와 같은 시계열 처리 모델에 대한 이해도 필요하다.

 

대형 언어 모델(Large Language Model)

전통적으로 컴퓨터를 인간의 지능과 같이 만들기 위한 시도는 오랜 과거부터 지속되어 왔다. 인공지능이 활성화되기 전, 전통적인 방식으로는 사람이 직접 특정 규칙에 대해 하드 코딩하여 사람과 같이 특정 물체를 분류할 수 있도록 하는 것을 예로 들 수 있다. 시간이 지나면서 병렬 연산에 유리한 GPU의 발전하여 대규모 연산도 빠른 시간 내에 가능해지면서 Deep Neural Network의 시대가 도래하였고 이제는 rule-based가 아닌 단순히 딥러닝 모델에 입력 데이터만 넣어주면 여러 레이어를 지나면서 원하는 결과를 도출할 수 있게 됐다.

쉽게 말하면, 어떤 고양이나 강아지 사진을 입력 데이터로 주기만 하면 신경망이 알아서 여러 연산을 통해 이 사진이 고양이인지 강아지인지 구별할 수 있게 되었다는 것을 뜻한다.

 

 

2012년 AlexNet이 위와 같은 컴퓨터 비전 task에서 분류 문제의 붐을 일으킨 후, object detection, face recognition, object tracking 등 다양한 task가 발전하였으며, 자연어 처리 task에서도 인공지능을 활용한 연구가 상당히 발전하게 됐고 그 결과 ChatGPT가 등장하게 되었다. 요즘은 더 나아가 언어 모델과 컴퓨터 비전 모델을 결합한 생성 모델인 Text-to-Image 모델에 관한 연구도 활발히 진행되고 있다.

 

 

이제 본격적으로, 대형 언어 모델(LLM)에 대해서 자세히 살펴보자.

대형 언어 모델은 딥러닝의 하위 분야 중 하나이다. 딥러닝 분야 중에서도 자연어 처리 분야와 컴퓨터 비전 분야 모두에 속하는 분야라고 생각할 수 있다. 그 이유는 앞에 설명한 것과 같이 자연어와 독립적으로 상호작용하는 것이 아닌 멀티모달로써, Text-to-Image도 가능하며, Image-to-Text도 가능하고 다양한 방면으로 활용될 수 있기 때문이다.

 

 

언어 모델은 일반적인 다양한 문제를 해결하는 것을 목적으로 하고 대량의 데이터로 사전 학습하고 파인튜닝하여 사용된다.

이제는 Large가 무엇인지에 대해 생각해보자. 바로 직전에 설명한 내용을 잘 이해했다면 두 가지 정도로 생각할 수 있을 것이다. 첫 번째는 Large training dataset을 의미한다. 즉, 엄청 많은 데이터셋에 의해 학습된다는 것이다. 다음으로 두 번째는 대규모 데이터셋에 의해 학습되기 때문에 이에 대한 파라미터 수가 대규모라는 것이다. 파라미터는 모델의 가중치(weights)라고 생각해도 무방하다. 얼마나 대규모인지 쉽게 이해하기 위해서 GPT-1부터 GPT-4까지 비교하면 다음과 같다.

  • GPT-1 has 117M parameters. - 1억 1700만개 파라미터
  • GPT-2 has 1.5B parameters. - 15억개 파라미터
  • GPT-3 has 175B parameters. - 1750억개 파라미터
  • GPT-4 has 1.75T parameters (estimate). - 1조 7500억개 파라미터

 

앞에서 사전 학습이라는 단어와 파인튜닝에 대해서도 언급했는데 이는 아래의 이미지를 통해 쉽게 이해할 수 있다.

 

 

먼저, 대규모의 데이터를 통해 모델을 학습 시키는 과정을 사전 학습한다고 하며, 위 그림을 통해 이해하자면 강아지가 있을 때 기본적으로 앉아, 이리와 등 다양한 기본적인 훈련을 시키는 것이다

다음으로, 이렇게 사전 학습된 모델을 통해 해결하고자 하는 특정한 task에 대해 높은 성능을 위해 추가적인 custom dataset을 통해 추가로 학습을 진행하는 것을 파인튜닝한다고 한다. 위 그림 상에서는 일반적인 강아지를 목적에 맞게 경찰견, 도우미견 등으로 특별 훈련하는 것으로 이해할 수 있다.

위와 같이 모델을 사전 학습하고 이후 특정 목적에 맞게 파인튜닝하는 과정을 언어 모델을 예를 들면 다음과 같은 하나의 이미지로 이해할 수 있다.

 

 

뉴스 기사 데이터나 사전 데이터 등 대규모의 언어 데이터를 통해 모델을 사전 학습 시키면 모델은 일반적인 언어와 상식에 관한 지식을 얻게 되고 비로소 General purpose Language Model이 된다. 이렇게 사전 학습된 일반적인 대형 언어 모델을 통해 다양한 문제를 해결할 수 있는데 대표적인 예시가 언어 번역(language translation), 문장 완성(sentence completion), 텍스트 분류(text classification), 질문 답변(question answering) 등이 있다. 이후, 목적에 맞게 특정 분야의 적은 양의 데이터셋을 통해 추가적인 훈련(파인튜닝)을 진행하면 상당히 높은 성능의 커스터마이징된 모델이 되는 것이다.

 

 

왜 대형 언어 모델 기반의 개발이 인기가 높은 것일까? 전통적인 머신러닝 개발 과정에서는 대규모 데이터셋을 사용해야 했으며 모델에 대한 설계도 전문가가 직접해야 어느 정도 성능을 낼 수 있는 모델을 구성할 수 있었고 이러한 과정에서 매우 많은 훈련 자원이 필요했으며, 시간도 매우 오래 걸렸다. 하지만 대형 언어 모델 기반의 개발에서는 데이터가 거의 없는 zero dataset이나 적은 데이터인 few dataset만으로도 누구나 프롬프트 엔지니어링만을 거치면 우리가 원하는 모델을 만들 수 있다는 간편함 덕분에 높은 인기가 있는 것이다.

 

지금까지 간단하게 대형 언어 모델이 무엇인지 큰 그림을 살펴보았고 다음 포스팅에서는 기본적인 NLP 모델 구조에 대해서 인공지능 이론과 함께 설명하고자 한다.

'NLP&LLM' 카테고리의 다른 글

[NLP] NLP의 기초  (0) 2023.08.13