와미의 일상/AI 정복하기

노베이스 문과아재인 내가 이 세계에선 AI 마스터..? (GPT 모델 이해)

와미쀼 2023. 12. 5. 23:24

인공지능은 우리에게 낯설지 않은 존재였지만, 이렇게까지 빠르게 제 인생에 영향을 줄지는 몰랐습니다. 챗GPT, 바드, 빙챗 등 대화형 AI 뿐만 아니라 이미지는 물론 동영상도 뚝딱 만들어주는 이 생성형 AI 들. 한번 공부해 보겠습니다.

 

 

생성형 AI, 챗GPT 모델 이해


 

노베이스 문과아재인 내가 이 세계에선 AI 마스터..? (GPT 모델 이해)

 

목차

 

1. GPT란 무엇인가?

2. GPT가 주목받는 이유?

3. Transformer / CNN / RNN 비교

4. 트랜스포머 모델의 원리

관련글

위의 목차를 클릭하면 해당 글로 자동 이동 합니다.

 

GPT란 무엇인가?

 

이 모든 AI 광풍에 불을 붙인 것은 단연 챗GPT죠. 하지만 GPT가 무엇의 약자인지는 알고 계신가요?

 

GPT - Generative Pre-trained Transformer

 

 

G와 P는 T를 수식하는 단어이고, GPT를 단순화시켜 보면 결국 Transformer라는 것인데, 이 변환기라는 것은 대체 무엇일까요?

 

트랜스포머 모델 (Transformer Model)

딥 러닝 모델 중 하나로, 특히 자연어 처리에 매우 효과적으로 사용되는 모델 구조입니다.
Transformer는 이전의 순환 신경망(RNN)이나 컨볼루션 신경망(CNN)과는 다른 구조를 가지고 있습니다.

 

 

따라서 Chat-GPT = '우리의 채팅(자연어)을 받아 다른 형태로 생산하도록 미리 학습된 변환기'로 정의해 볼 수 있을 것 같습니다.

 

 

GPT가 조명받는 이유?

 

단순히 저의 개인적 사고의 흐름에 따라, 이 GPT가 혁신이라고 각광받는 이유는 두 가지 일 것 같습니다.

 

  1. 생성하도록 학습되어 있어서 (Generative Pre-Trained라서)

  2. 기존의 모델들과는 달라서 (Transformer라서)

 

둘 중 어떤 이유인지 챗 GPT에게 물어보니 다음과 같이 대답해 줍니다.

 

GPT 모델이 각광받는 이유는 여러 가지가 있지만, 그중에서도 Transformer 아키텍처를 사용하고 있기 때문이 큽니다.

Transformer는 자연어 처리에 있어서 이전의 RNN이나 CNN보다 훨씬 뛰어난 성능을 보여주고 있습니다.

그러나 GPT 모델이 각광받는 또 다른 중요한 이유는 Generative Pre-trained라는 개념 때문입니다.

이는 사전 학습된 언어 모델을 사용하여 다양한 자연어 처리 작업을 수행할 수 있는 능력을 말합니다.

GPT는 대규모 텍스트 데이터를 사용하여 사전 학습된 언어 모델로, 문장을 생성하거나 번역, 요약, 질의응답 등 다양한 작업에 사용될 수 있습니다.

따라서 GPT 모델이 각광받는 이유는 Transformer 아키텍처의 성능뿐만 아니라, 그것을 바탕으로 한 Generative Pre-training 능력 때문이라고 볼 수 있습니다.

Transformer가 GPT의 핵심 아키텍처를 이루고 있지만, 이 모델이 각광받는 이유는 그 안에 포함된 다양한 기능과 능력에 기인합니다.

 

 

이와 같이, 생성하도록 학습시키는 능력을 가장 최적화할 수 있는 모델이 바로 트랜스포머인 것으로 이해했습니다.

 

Transformer / CNN / RNN 비교

 

그렇다면, Transformer의 개념적인 이해를 위해 계속 언급되고 있는 CNN / RNN 모델은 어떤 모델일까요? Transformer 모델과 함께 세 가지를 비교해보겠습니다.

 

특징 Transformer Convolution Neural Network Recurrent Neural Network
주요 기법 Self-Attention Convolution Recurrent Connections
주요 용도 자연어 처리(NLP) 이미지 처리 순차적인 데이터 처리
장점 장기 의존성 처리 우수, 병렬화 가능 지역적인 특징 추출 우수, 공간적 구조 인식 시간적인 의존성 모델링 우수, 순차적 데이터 처리
단점 긴 문장 처리에 메모리 사용량 증가, 계산 비용 상승 순서 정보 손실 가능성, 공간적인 관계 인식에 제약 장기 의존성 처리 어려움, 병렬화 어려움
시장에서의 위치 자연어 처리 분야에서 많이 사용 이미지 처리 분야에서 주로 사용 언어 모델링 등 순차적 데이터 처리에 사용
대표적인 모델 GPT, BERT, T5, Transformer-XL 등 LeNet, AlexNet, ResNet 등 LSTM, GRU, Bidirectional LSTM 등

 

간단히 말하면 CNN은 공간을 인식하고, RNN 은 시계열을 인식할 수 있지만, 그것이 단편적인 영역에 머무르는 것 같습니다.

 

그에 반해 트랜스포머는 비용이 좀 들긴 하지만, 병렬적인 데이터 처리가 가능하여 1) 앞뒤가 안 맞는 말도 맥락 상에서 찰떡같이 이해를 하고,

 

마찬가지로 학습된 데이터 들을 잘 조합하여 2) 최적의 답변을 내놓을 수 있는 것으로 생각하면 될 것 같습니다.

 

트랜스포머는 제가 전공자가 아니다 보니, 상대적으로 덜 각광받고 있는 CNN과 RNN에 대한 공부는 다음 기회에 해보고, transformer에 대해 좀 더 자세히 알아보겠습니다.

 

트랜스포머 모델의 원리

 

원리라고 하면 대단한 근간부터 다루는 내용 같기는 하지만, 지식이 짧아 정확한 내용까지는 어렵겠지만 그래도 대략적인 감을 잡아보고자 합니다.

 

  • 트랜스포머 모델은 2017년 구글 AI에서 발표한 논문인 "Attention is all you need"에서 처음 소개된 신경망 모델이라고 합니다. 논문제목이 참 낭만적이에요. 

  • 트랜스포머 모델이 이전의 RNN이나 CNN 모델과 가장 큰 차이를 보이는 것은, attention이라는 기법을 사용한다는 점인데요.

 

Attention - 입력된 문장 내의 단어들 사이의 관계를 파악하는 방법

 

 

어텐션 기법은 예를 들어 "나는 학교에 간다"라는 문장에서 각 단어들 간의 중요도를 계산하고, 각 단어가 문장 전체에서 어떤 역할을 하는지를 이해한다고 하는데요. 

 

앞에서 말한 자연어의 맥락 상에서 이해하는 것을 가능하게 하는 개념으로 생각하면 될 것 같습니다.

 

attention을 바탕으로 하는 다른 기법들은 self attention, multi head attention 이 있는데요.

 

간단히 말하면, Attention은 주어진 데이터의 특정 부분에 주목하는 개념이고, Self-Attention은 입력 데이터들 사이의 상호작용을 계산하는 방법입니다.

 

그리고 Multi-Head Attention은 여러 개의 Self-Attention을 병렬로 수행하여 모델이 다양한 특징을 학습할 수 있도록 하는 메커니즘입니다.

 

GPT 3 모델에 이르러 토큰 수가 수천억 개로 늘어난 만큼, multi head attention의 효율이 GPT 2 모델보다 수직상승하여 generating의 내용이 훨씬 풍부해질 수 있지 않았을까 생각해요.

(어디까지나 노베이스 문과생의 이해 수준입니다)

 

 

결국 Self-Attention은 Attention의 한 유형이며, Multi-Head Attention은 Self-Attention을 확장한 형태로 볼 수 있습니다.

기법 설명
attention
(어텐션)
입력 데이터의 각 벡터와 다른 벡터 간의 유사도를 계산하여, 각 벡터가 다른 벡터에 얼마나 중요한지 나타내는 가중치를 생성하는 기법
self attention
(셀프 어텐션)
입력 데이터의 각 벡터와 동일한 벡터 간의 관계를 학습하는 기법
multi head attention
(멀티헤드 어텐션)
입력 데이터의 각 벡터를 여러 개의 head로 변환하여, 각 head에서 attention을 수행
→ 각 head별로 가중치를 생성하고, 각 head의 가중치를 결합하여 최종 가중치를 생성하는 기법
*벡터 편하게 입력된 데이터(언어) 가 임베딩(embedding)을 거쳐 연산가능한 데이터로 바뀐다는 개념으로 이해했습니다.
이과 친구들이 공부한다는 벡터함수가... 결국 이 것이었나봐요...ㄷㄷ

 

 

트랜스포머(변환기, transformer) 모델에 대해서 겉핥기 수준으로만 알아봤는데도 쉽지 않네요. 하지만 GPT를 더 잘 활용하기 위해 꼭 필요한 과정이라고 생각하고, 다양한 기법과 모델에 대해 더 공부해 보겠습니다.

 

관련글

실제로 GPT와 대화하기 위한 프롬프트 엔지니어링에 대한 저의 글을 몇 가지 첨부해 봅니다.

 

노베이스 프롬프트 엔지니어링 독학(2) - 프롬프트 디자인

 

노베이스 프롬프트 엔지니어링 독학(2) - 프롬프트 디자인

프롬프트 엔지니어링 두 번째 컨텐츠로, 프롬프트 디자인에 대해 알아보려고 합니다. 우리가 말을 할 때 육하원칙만 따라서 말하면 효율적인 의사전달이 되는 것처럼, 프롬프트는 어떤 사항들

meant2b-wami.tistory.com

 

 

노베이스 프롬프트 엔지니어링 독학(3) - 데이터 유형별 프롬프트 활용

 

노베이스 프롬프트 엔지니어링 독학(3) - 데이터 유형별 프롬프트 활용

드디어 좀 어려운 내용들이 나오는데요. 오늘은 자연어 모델뿐만 아니라 이미지/비정형 데이터 처리 등 유형별로 다른 프롬프트의 활용을 알아볼 거예요. 포스팅 하나로는 끝날 것 같지 않지만,

meant2b-wami.tistory.com

 

 

반응형