LLM 개요
LLM(Large Language Model)은 트랜스포머 아키텍처 기반으로 자연어를 이해하고 생성하는 AI 모델이다. GPT, BERT, LLaMA 등이 있으며, 제로샷·퓨샷 러닝과 RLHF를 활용해 더욱 정교한 응답을 생성한다.

LLM이란 무엇인가?
LLM의 정의
LLM(Large Language Model, 대형 언어 모델)은 방대한 양의 텍스트 데이터를 학습하여 인간과 유사한 수준의 자연어 이해 및 생성 능력을 갖춘 인공지능 모델을 의미합니다. 주로 딥러닝의 트랜스포머(Transformer) 아키텍처를 기반으로 하며, GPT(Generative Pre-trained Transformer), BERT(Bidirectional Encoder Representations from Transformers), LLaMA(Large Language Model Meta AI) 등의 다양한 모델이 존재합니다.
LLM은 문맥을 이해하고 텍스트를 생성할 수 있으며, 챗봇, 기계 번역, 텍스트 요약, 코딩 지원 등 다양한 자연어 처리(NLP) 응용 분야에서 활용됩니다. 사전 훈련(Pre-training)과 미세 조정(Fine-tuning) 과정을 통해 특정 도메인이나 목적에 맞게 최적화할 수도 있습니다. 최근에는 인간의 피드백을 반영하는 RLHF(Reinforcement Learning from Human Feedback) 기법을 활용하여 더 자연스럽고 유용한 응답을 생성하는 방향으로 발전하고 있습니다.
기존 언어 모델과의 차이점
기존 언어 모델과 LLM(대형 언어 모델)의 차이점은 크게 다음과 같이 정리할 수 있습니다.
1. 모델 규모와 파라미터 수
- 기존 언어 모델: 상대적으로 적은 수의 파라미터를 사용하며, 특정 작업(예: 품사 태깅, 감성 분석, 기계 번역 등)에 맞춰 개발됨.
- LLM: 수십억~수조 개의 파라미터를 가지며, 방대한 데이터를 학습하여 일반적인 자연어 이해와 생성이 가능함.
2. 학습 방식
- 기존 언어 모델: 특정 태스크를 위해 지도 학습(Supervised Learning) 방식으로 학습되며, 일반적으로 단일 도메인이나 제한된 데이터셋을 사용.
- LLM: 대량의 비지도 학습(Unsupervised Learning) 또는 자기 지도 학습(Self-supervised Learning)을 통해 학습된 후, 특정 도메인이나 작업에 맞춰 미세 조정(Fine-tuning)됨.
3. 자연어 이해 및 생성 능력
- 기존 언어 모델: 특정 문맥 내에서 문장을 분석하고 단순한 규칙 기반 생성이 가능하지만, 복잡한 대화나 창의적인 텍스트 생성을 수행하는 데 제한적임.
- LLM: 문맥을 이해하고, 창의적인 텍스트 생성이 가능하며, 질문에 대한 답변, 번역, 요약, 코딩 지원 등 다양한 작업을 수행할 수 있음.
4. 사전 훈련과 미세 조정
- 기존 언어 모델: 보통 특정 데이터셋을 사용하여 훈련되며, 태스크별 맞춤형 훈련이 필요함.
- LLM: 대량의 범용 데이터로 사전 훈련(Pre-training)된 후, 특정 용도에 맞게 미세 조정(Fine-tuning) 또는 인-컨텍스트 러닝(In-context Learning)을 활용하여 적응할 수 있음.
5. 문맥 길이와 장기 기억
- 기존 언어 모델: 문맥 길이가 제한적이며, 긴 텍스트를 처리하는 데 어려움이 있음.
- LLM: 상대적으로 긴 문맥을 처리할 수 있으며, 최근에는 RAG(Retrieval-Augmented Generation) 및 메모리 기반 아키텍처를 도입하여 더 긴 문맥을 활용할 수 있음.
6. 추론 능력과 제로샷/퓨샷 러닝
- 기존 언어 모델: 사전 학습된 태스크 이외의 작업을 수행하는 것이 어렵고, 새로운 데이터를 학습해야 함.
- LLM: 제로샷 러닝(Zero-shot Learning)과 퓨샷 러닝(Few-shot Learning) 기능을 통해 추가적인 학습 없이도 새로운 태스크를 수행 가능.
7. 다중 모달 지원
- 기존 언어 모델: 주로 텍스트 기반 모델이 대부분이며, 이미지나 음성을 함께 이해하는 능력이 부족함.
- LLM: 일부 최신 LLM(예: GPT-4, Gemini, Claude)은 텍스트뿐만 아니라 이미지, 음성 등의 다중 모달 데이터를 처리할 수 있음.
8. 응용 가능 범위
- 기존 언어 모델: 특정 태스크(예: 감성 분석, 번역 등)에 최적화됨.
- LLM: 일반적인 대화, 코딩, 논리적 추론, 창의적인 글쓰기, 지식 검색, 데이터 분석 등 다양한 작업 수행 가능.
LLM의 기본 구조
LLM(대형 언어 모델)의 기본 구조는 딥러닝을 기반으로 하며, 주로 트랜스포머(Transformer) 아키텍처를 기반으로 설계됩니다. 대표적인 LLM인 GPT, BERT, LLaMA 등의 모델들은 모두 이 구조를 활용하고 있습니다. LLM의 기본 구조를 이해하기 위해 주요 구성 요소를 설명하면 다음과 같습니다.
1. 트랜스포머(Transformer) 아키텍처 기반
LLM은 대부분 트랜스포머(Transformer) 아키텍처를 기반으로 하며, 이는 기존 RNN(Recurrent Neural Network)이나 LSTM(Long Short-Term Memory) 모델보다 병렬 연산이 가능하고, 더 긴 문맥을 처리할 수 있도록 설계되었습니다.
2. 주요 구성 요소
(1) 임베딩 레이어(Embedding Layer)
- 입력된 텍스트를 수치화된 벡터로 변환하는 역할을 합니다.
- 단어 또는 서브워드 단위로 토큰화(Tokenization)한 후, 각 토큰을 고유한 벡터로 매핑합니다.
- 일반적으로
WordPiece
,Byte-Pair Encoding (BPE)
,SentencePiece
등의 토큰화 기법이 사용됩니다.
(2) 인코더(Encoder)와 디코더(Decoder) 구조
트랜스포머 기반 모델은 인코더-디코더(Encoder-Decoder) 구조를 가지거나, 인코더만 또는 디코더만 사용하는 방식으로 구분됩니다.
- 인코더(Encoder) 기반 (예: BERT)
- 입력 문장의 전체적인 의미를 인코딩하는 데 초점을 맞춤.
- 주로 텍스트 분류, 감성 분석, 정보 검색 등의 태스크에 활용됨.
- 디코더(Decoder) 기반 (예: GPT 계열)
- 이전 토큰을 참고하여 다음 단어를 예측하는 방식(자동회귀 모델, Autoregressive Model).
- 문장 생성, 텍스트 요약, 질의응답(Q&A) 등 생성형 태스크에 활용됨.
- 인코더-디코더(Encoder-Decoder) 구조 (예: T5, BART)
- 입력 문장을 인코더가 처리한 후, 디코더가 이를 기반으로 새로운 문장을 생성하는 방식.
- 기계 번역, 문서 요약, 문장 변환 등에 활용됨.
(3) 다중 헤드 자기 주의(Multi-Head Self-Attention)
- 트랜스포머 모델의 핵심 구조로, 입력된 문장의 각 단어가 문장 내 다른 단어들과 어떤 관계를 가지는지를 계산합니다.
- 다중 헤드(Multi-Head) 방식을 통해 여러 관점에서 문맥 정보를 학습할 수 있습니다.
(4) 피드포워드 네트워크(Feedforward Neural Network, FFN)
- 각 토큰의 특징을 변환하고, 비선형적인 표현력을 높이는 역할을 합니다.
- 각 인코더 및 디코더 블록 내부에서 사용됩니다.
(5) 레이어 정규화(Layer Normalization) 및 잔차 연결(Residual Connection)
- 모델 학습의 안정성을 높이고, 기울기 소실(Vanishing Gradient) 문제를 방지하기 위해 사용됩니다.
- 각 층에서의 출력을 정규화하고, 이전 층의 정보를 보존하는 역할을 합니다.
(6) 위치 인코딩(Positional Encoding)
- 트랜스포머 모델은 RNN과 달리 순차적인 정보를 직접 반영하지 않기 때문에, 입력된 단어의 위치 정보를 추가적으로 부여해야 합니다.
- 이를 위해 사인 함수와 코사인 함수를 이용한 위치 인코딩(Positional Encoding) 기법을 사용합니다.
(7) 출력층(Output Layer)
- LLM의 마지막 단계에서, 모델이 예측한 확률 분포를 기반으로 최종 출력을 생성합니다.
- 예를 들어, GPT 모델의 경우, 다음 단어를 예측하기 위해 소프트맥스(Softmax) 함수를 활용하여 확률 값을 계산합니다.
3. 학습 방식
LLM은 일반적으로 다음과 같은 학습 단계를 거칩니다.
(1) 사전 훈련(Pre-training)
- 대량의 텍스트 데이터(위키백과, 뉴스, 논문, 인터넷 문서 등)를 사용하여 비지도 학습을 수행합니다.
- 주로 마스크 언어 모델링(Masked Language Model, MLM) 또는 자동회귀 모델링(Autoregressive Modeling) 방식을 사용하여 텍스트 패턴을 학습합니다.
- 예: GPT는 다음 단어 예측(Next Token Prediction), BERT는 특정 단어 마스킹 후 예측.
(2) 미세 조정(Fine-tuning)
- 특정 도메인(예: 의학, 법률) 또는 특정 태스크(예: QA, 감성 분석)에 맞게 사전 훈련된 모델을 추가 학습합니다.
- 지도 학습(Supervised Learning) 데이터셋을 활용하여 정답과 비교하면서 최적화합니다.
(3) RLHF (Reinforcement Learning from Human Feedback)
- 인간의 피드백을 바탕으로 강화 학습을 적용하여 모델의 응답을 더욱 자연스럽고 유용하게 개선하는 방식입니다.
- 예: ChatGPT는 RLHF를 활용하여 사용자 친화적인 응답을 생성하도록 훈련됨.
4. LLM의 대표적인 모델 아키텍처
모델 | 구조 | 주요 특징 |
---|---|---|
GPT (OpenAI) | 디코더 기반 | 문맥을 기반으로 텍스트 생성, 자동회귀 방식 |
BERT (Google) | 인코더 기반 | 마스크된 단어 예측, 양방향 문맥 이해 |
T5 (Google) | 인코더-디코더 | 입력을 변환하여 새로운 텍스트 생성 |
BART (Facebook/Meta) | 인코더-디코더 | 문서 요약 및 복원 능력 우수 |
LLaMA (Meta) | 디코더 기반 | 경량화된 트랜스포머 모델, 효율적인 학습 가능 |
LLM의 역사
초기 언어 모델
LLM(대형 언어 모델)이 등장하기 이전에도 다양한 언어 모델이 존재했으며, 이들은 자연어 처리를 위한 기본적인 기술적 토대를 제공했습니다. 초기 언어 모델은 주로 확률적 기법과 신경망을 활용하여 텍스트 데이터를 분석하고 예측하는 방식으로 발전해 왔습니다. 주요 초기 언어 모델과 그 발전 과정을 살펴보겠습니다.
1. 확률 기반 언어 모델 (Statistical Language Models)
(1) n-그램(N-gram) 모델
- 개념: 주어진 단어(또는 문자) 시퀀스에서 다음 단어가 나타날 확률을 기반으로 텍스트를 예측하는 방식입니다.
- 특징:
P(w_n | w_1, w_2, ..., w_{n-1})
의 확률을 학습하여 다음 단어를 예측.- 한정된 개수(n)의 단어만 고려하므로, 긴 문맥을 반영하기 어려움.
- 데이터 부족 시 희소성(Sparsity) 문제가 발생할 수 있음.
- 한계점:
- 문맥을 길게 고려하지 못함 (ex: 3-그램 모델이면 단 3개의 단어만 활용).
- 새로운 단어 조합에 대해 예측할 수 없음 (OOV, Out of Vocabulary 문제).
(2) Hidden Markov Model (HMM, 은닉 마르코프 모델)
- 개념: 단어의 순서를 고려하는 마르코프 체인을 기반으로 언어를 모델링하는 방식입니다.
- 특징:
- 문장이 순차적으로 발생하는 확률을 모델링할 수 있음.
- POS 태깅(품사 태깅)이나 음성 인식 분야에서 활용됨.
- 한계점:
- 이전 상태에만 의존하는 마르코프 가정(Markov Assumption)으로 인해 문맥을 충분히 반영하지 못함.
2. 신경망 기반 언어 모델 (Neural Network Language Models, NNLM)
(1) 피드포워드 신경망 기반 언어 모델 (NNLM)
- 개념: 전통적인 확률 기반 언어 모델과 달리, 단어를 벡터화하여 신경망을 통해 학습하는 방식.
- 특징:
- 단어를 고유한 숫자 벡터로 변환하여 입력으로 사용 (Word Embedding).
- 단어 간의 의미적 관계를 학습할 수 있음.
- 한계점:
- 모델의 학습 속도가 느림.
- 문맥을 길게 유지하기 어려움.
(2) RNN (Recurrent Neural Network)
- 개념: 순차적 데이터를 처리하는 데 적합한 신경망 구조로, 문맥 정보를 유지하는 방식.
- 특징:
- 이전 시점의 정보를 다음 단계로 전달하여 문맥을 고려할 수 있음.
- 기계 번역, 음성 인식 등에 사용됨.
- 한계점:
- 긴 문맥을 기억하기 어려운 장기 의존성(Long-term Dependency) 문제 발생.
- 기울기 소실(Vanishing Gradient) 문제로 인해 학습이 어려움.
(3) LSTM (Long Short-Term Memory) & GRU (Gated Recurrent Unit)
- 개념: RNN의 장기 의존성 문제를 해결하기 위해 게이트 메커니즘을 도입한 개선된 모델.
- 특징:
- LSTM은 입력 게이트(Input Gate), 출력 게이트(Output Gate), 망각 게이트(Forget Gate)를 사용하여 정보를 효율적으로 보존.
- GRU는 LSTM보다 구조가 단순하여 연산이 빠름.
- 한계점:
- 병렬 연산이 어렵고, 긴 시퀀스를 처리할 때 속도가 느림.
3. 초기 워드 임베딩 기법
언어 모델이 발전하면서 단어의 의미를 벡터 형태로 표현하는 워드 임베딩(Word Embedding) 기술이 도입되었습니다.
(1) Word2Vec (2013, Google)
- 개념: 단어를 고유한 벡터로 변환하여 의미적 유사도를 반영할 수 있도록 한 모델.
- 모델 유형:
- CBOW(Continuous Bag of Words): 주변 단어를 기반으로 중앙 단어를 예측.
- Skip-gram: 중앙 단어를 기반으로 주변 단어를 예측.
- 한계점:
- 단어의 문맥적 의미를 반영하기 어려움.
- 하나의 단어에 대해 단일 벡터를 사용하여 다의어(Polysemy) 문제 발생.
(2) GloVe (2014, Stanford)
- 개념: 단어 동시 등장 행렬(Co-occurrence Matrix)을 활용한 워드 임베딩 기법.
- 특징:
- 전역적인 문맥 정보를 반영하여 단어 간 유사도를 학습.
- Word2Vec보다 다양한 관계를 더 잘 포착할 수 있음.
- 한계점:
- 정적인 임베딩 방식이므로 문맥에 따라 단어의 의미가 변하지 않음.
4. 트랜스포머(Transformer) 등장 이전의 신경망 기반 모델
위와 같은 초기 언어 모델들은 성능 면에서 점진적인 발전을 이루었으나, 긴 문맥을 반영하는 데 어려움이 있었습니다. 이를 해결하기 위해 트랜스포머(Transformer) 모델이 등장하면서 현대의 LLM이 탄생하게 됩니다.
(1) Seq2Seq (Sequence-to-Sequence) 모델
- 개념: 인코더-디코더 구조를 활용하여 기계 번역, 문장 요약 등의 태스크에 활용됨.
- 특징:
- 입력 시퀀스를 인코더가 처리한 후, 디코더가 출력 시퀀스를 생성.
- 주로 LSTM을 기반으로 구성됨.
- 한계점:
- 긴 문장을 처리할 때 정보 손실 발생.
(2) Attention 메커니즘
- 개념: 특정 부분의 정보를 더 강조하는 가중치 계산 기법.
- 특징:
- Seq2Seq 모델의 한계를 보완하여 긴 문맥을 보다 효과적으로 처리 가능.
- 하지만 여전히 병렬 연산이 어렵다는 한계가 존재.
5. 트랜스포머(Transformer)의 등장과 LLM으로의 발전
2017년 Google이 발표한 "Attention is All You Need" 논문에서 트랜스포머(Transformer) 모델이 등장하면서, 기존의 RNN 및 LSTM 모델을 대체하는 강력한 자연어 처리(NLP) 모델이 탄생했습니다. 이후 BERT, GPT, T5, LLaMA와 같은 대형 언어 모델(LLM)이 등장하면서 현재의 발전된 AI 언어 모델 시대가 열리게 되었습니다.
트랜스포머(Transformer)와 BERT
트랜스포머(Transformer)와 BERT(Bidirectional Encoder Representations from Transformers)는 현대 자연어 처리(NLP) 모델의 핵심 기술이며, 서로 밀접한 관련이 있지만 그 구조와 목적에는 차이가 있습니다. 트랜스포머는 딥러닝 기반의 자연어 처리 모델 아키텍처이고, BERT는 트랜스포머의 인코더(Encoder) 부분을 활용하여 만든 사전 훈련 언어 모델입니다.
1. 트랜스포머(Transformer)
1.1 개념
- 트랜스포머(Transformer)는 2017년 Google이 발표한 논문 "Attention Is All You Need" 에서 처음 소개된 모델 아키텍처입니다.
- 기존의 RNN, LSTM 기반 모델의 한계를 극복하고 병렬 연산이 가능하며 긴 문맥을 효과적으로 학습할 수 있도록 설계되었습니다.
- 자기 주의(Self-Attention) 메커니즘을 활용하여 문장 내 단어 간 관계를 동적으로 학습합니다.
1.2 트랜스포머의 기본 구조
트랜스포머는 인코더-디코더(Encoder-Decoder) 구조로 구성되어 있습니다.
(1) 인코더(Encoder)
- 입력 문장을 처리하는 역할을 합니다.
- 다중 헤드 자기 주의(Multi-Head Self-Attention)와 피드포워드 신경망(Feedforward Neural Network)으로 구성됩니다.
- 문장 내 단어 간 관계를 학습하여 문맥 정보를 벡터로 변환합니다.
(2) 디코더(Decoder)
- 인코더의 출력 정보를 받아서 새로운 문장을 생성하는 역할을 합니다.
- 자기 주의(Self-Attention)와 인코더-디코더 어텐션(Encoder-Decoder Attention)을 포함합니다.
- 주로 기계 번역, 텍스트 요약, 텍스트 생성 등의 작업에 활용됩니다.
(3) 주요 구성 요소
- 다중 헤드 자기 주의(Multi-Head Self-Attention): 문장의 모든 단어가 서로 다른 단어와의 관계를 동시에 고려할 수 있도록 함.
- 포지셔널 인코딩(Positional Encoding): 문장의 단어 순서를 반영하는 정보 추가.
- 피드포워드 신경망(FFN): 각 토큰의 표현을 변환하는 역할.
- 레이어 정규화(Layer Normalization) 및 잔차 연결(Residual Connection): 학습 안정성을 유지.
1.3 트랜스포머의 특징
✅ 순환 구조(RNN/LSTM) 없이 문맥을 학습
✅ 병렬 연산이 가능하여 속도가 빠름
✅ 긴 문맥(Long-Range Dependency)을 잘 처리할 수 있음
✅ 문장의 전체적인 의미를 고려하여 번역, 생성 등 다양한 NLP 태스크 수행 가능
2. BERT(Bidirectional Encoder Representations from Transformers)
2.1 개념
- BERT는 트랜스포머의 인코더 부분만을 활용한 사전 훈련 언어 모델입니다.
- Google이 2018년 발표한 논문 "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding" 에서 소개되었습니다.
- 양방향(Bidirectional) 문맥을 학습하여 문장의 의미를 더 잘 이해할 수 있도록 설계되었습니다.
2.2 BERT의 주요 특징
(1) 트랜스포머 인코더 기반
- 트랜스포머의 인코더만을 사용하여 문장을 인코딩하는 방식.
- 번역이나 문장 생성이 아닌, 문장 내 단어의 의미를 이해하는 데 초점을 맞춤.
(2) 양방향 학습(Bidirectional Training)
- 기존의 GPT(Generative Pre-trained Transformer)는 단방향(Left-to-Right) 예측 방식을 사용하지만,
BERT는 양방향(Bidirectional) 문맥을 동시에 고려하여 단어의 의미를 학습함. - 예를 들어, 문장에서 "나는 [MASK]를 좋아한다"라고 하면 BERT는 앞뒤 문맥을 모두 보고 '[MASK]' 부분을 예측 가능.
(3) 사전 훈련(Pre-training)과 미세 조정(Fine-tuning)
- BERT는 두 가지 사전 훈련 기법을 사용하여 학습됨.
- 마스크드 언어 모델(Masked Language Model, MLM)
- 문장에서 일부 단어를 [MASK]로 가리고, 이를 예측하도록 학습.
- 예: "나는 [MASK]를 좋아한다" → "[MASK] = 책"
- 차문장 예측(Next Sentence Prediction, NSP)
- 두 개의 문장을 주고, 두 번째 문장이 첫 번째 문장의 다음 문장인지 예측.
- 예: "나는 영화를 봤다. 재미있었다." → "참(True)"
- "나는 영화를 봤다. 오늘 날씨가 좋다." → "거짓(False)"
- 마스크드 언어 모델(Masked Language Model, MLM)
- 사전 훈련된 BERT는 특정 태스크(예: 감성 분석, QA) 등에 맞게 미세 조정(Fine-tuning)하여 활용 가능.
2.3 BERT의 구조
BERT는 BERT-Base(12개의 인코더 블록), BERT-Large(24개의 인코더 블록) 등의 모델 크기로 제공됩니다.
모델 | 인코더(Encoder) 수 | 헤드(Attention Heads) 수 | 파라미터 수 |
---|---|---|---|
BERT-Base | 12개 | 12개 | 110M |
BERT-Large | 24개 | 16개 | 340M |
2.4 BERT의 활용
✅ 자연어 이해(NLU) 및 문맥 분석
✅ 질의응답(QA, Question Answering)
✅ 문장 분류(Sentiment Analysis, Spam Detection 등)
✅ 정보 검색(검색 엔진 최적화, 문서 요약)
3. 트랜스포머(Transformer)와 BERT의 차이점 정리
구분 | 트랜스포머(Transformer) | BERT |
---|---|---|
개념 | NLP 모델 아키텍처 | 트랜스포머의 인코더 기반 언어 모델 |
구조 | 인코더-디코더 구조 | 인코더만 사용 |
학습 방식 | 순차적 학습 가능 (단방향 or 양방향) | 양방향 학습(Bidirectional) |
목적 | 번역, 텍스트 생성, 요약 등 | 문맥 이해 및 자연어 처리(NLU) |
응용 분야 | 기계 번역, 텍스트 요약, 문서 생성 | 감성 분석, 질의응답, 정보 검색 |
GPT 시리즈 및 발전 과정
GPT(Generative Pre-trained Transformer) 시리즈는 OpenAI에서 개발한 대형 언어 모델(LLM)로, 트랜스포머(Transformer) 아키텍처의 디코더(Decoder) 부분을 기반으로 설계되었습니다. GPT 모델은 사전 훈련(Pre-training)과 미세 조정(Fine-tuning) 단계를 거쳐, 자연어 생성(NLG, Natural Language Generation) 및 다양한 NLP 태스크에서 뛰어난 성능을 발휘합니다.
GPT 시리즈는 GPT-1 → GPT-2 → GPT-3 → GPT-4로 발전해왔으며, 각 버전별로 파라미터 수, 데이터 규모, 학습 방법 등이 점점 개선되었습니다.
1. GPT-1 (2018년)
개요
- OpenAI에서 2018년 발표한 최초의 GPT 모델.
- 트랜스포머(Transformer) 모델의 디코더(Decoder) 아키텍처를 기반으로 함.
- 기본적인 자동회귀(Auto-regressive) 방식으로 작동하며, 다음 단어를 예측하는 방식으로 문장을 생성.
특징
✅ 자동회귀 모델(Auto-regressive Model)
✅ 단방향 학습(Left-to-Right Unidirectional)
✅ 기계 번역, 질의응답, 텍스트 요약 등 다양한 NLP 태스크 수행 가능
한계점
❌ 양방향 문맥을 활용하지 못함 → 문장 생성의 일관성이 부족
❌ 학습 데이터 크기가 비교적 작음 → 실제 사용 사례에서 제한적
2. GPT-2 (2019년)
개요
- GPT-1의 확장 버전으로, 모델 크기와 성능이 크게 향상됨.
- GPT-2는 15억 개(1.5B)의 파라미터를 가지며, 방대한 인터넷 텍스트 데이터에서 학습됨.
- OpenAI는 GPT-2를 공개할 당시 "악용 가능성(Misuse Concerns)"을 이유로 처음에는 전체 모델을 공개하지 않았음.
특징
✅ 확장된 모델 크기 (GPT-1 대비 약 10배 커짐)
✅ 더 긴 문맥(Context) 처리 가능
✅ "제로샷 러닝(Zero-shot Learning)" 도입 → 추가 학습 없이도 다양한 NLP 태스크 수행 가능
✅ 더 자연스럽고 일관된 텍스트 생성 가능
한계점
❌ 여전히 단방향(Left-to-Right) 모델 → 전체 문맥을 고려하는 능력은 제한적
❌ 편향(Bias) 및 허위 정보 생성 가능성
3. GPT-3 (2020년)
개요
- GPT-2를 크게 확장한 모델로, 1,750억 개(175B)의 파라미터를 보유.
- "Few-shot Learning" 및 "In-context Learning" 능력이 크게 향상됨.
- 다양한 NLP 태스크(번역, 요약, 코딩, 창의적 글쓰기 등)에서 탁월한 성능을 보임.
특징
✅ 거대한 모델 크기 (175B 파라미터) → 당시 가장 큰 LLM
✅ 퓨샷 러닝(Few-shot Learning) 지원 → 적은 예제만으로도 새로운 태스크 수행 가능
✅ 제너레이티브 능력 향상 → 보다 자연스러운 대화 및 텍스트 생성 가능
✅ GPT-3 기반 API 출시 (OpenAI API) → 개발자들이 다양한 서비스에서 활용 가능
한계점
❌ 계산 비용이 매우 큼 → 훈련 및 추론 속도가 느리고 비용이 높음
❌ 사전 훈련 데이터가 고정됨 → 실시간 정보 반영 불가능
❌ 사실 오류(Hallucination) 발생 가능성 → 비논리적이거나 가짜 정보를 생성할 수 있음
4. GPT-3.5 (2022년)
개요
- GPT-3의 개선 버전으로, 성능 최적화 및 비용 절감을 목표로 함.
- ChatGPT (GPT-3.5 기반) 서비스 출시 → 일반 사용자가 접근 가능해짐.
특징
✅ 응답 속도 개선 및 비용 절감
✅ 텍스트 생성 능력 강화
✅ ChatGPT와 같은 대화형 AI 서비스의 등장
✅ 미세 조정(Fine-tuning) 최적화
5. GPT-4 (2023년)
개요
- GPT-4는 기존 GPT-3.5보다 더 강력한 성능을 제공하며, 멀티모달(Multimodal) 기능을 지원.
- OpenAI가 2023년 3월 GPT-4를 출시하면서, 더욱 발전된 자연어 이해(NLU) 및 생성(NLG) 능력을 제공.
- "GPT-4-turbo" 같은 변형 모델을 통해 성능을 최적화.
특징
✅ 더 향상된 논리적 추론 및 창의적 텍스트 생성 가능
✅ 멀티모달(Multimodal) 지원 → 텍스트뿐만 아니라 이미지까지 처리 가능
✅ 사실 오류(Hallucination) 감소 및 신뢰성 향상
✅ 더 긴 컨텍스트(Context Length) 지원 → 문맥을 더 잘 기억하며 긴 대화 유지 가능
한계점
❌ 비용이 여전히 높음
❌ 실시간 학습이 불가능(업데이트 필요)
6. GPT 시리즈 발전 요약
모델 | 출시 연도 | 파라미터 수 | 주요 특징 |
---|---|---|---|
GPT-1 | 2018 | 1.2억(0.12B) | 트랜스포머 디코더 기반 최초 GPT 모델 |
GPT-2 | 2019 | 15억(1.5B) | 제로샷 러닝(Zero-shot Learning) 가능 |
GPT-3 | 2020 | 1,750억(175B) | 퓨샷 러닝(Few-shot Learning), API 공개 |
GPT-3.5 | 2022 | 비공개 | 최적화된 성능, ChatGPT 출시 |
GPT-4 | 2023 | 비공개 (1T 추정) | 멀티모달 지원, 긴 문맥 처리 강화 |
기타 주요 LLM(Claude, PaLM, Llama 등)
GPT 시리즈 외에도 여러 기업 및 연구기관에서 자체적으로 개발한 다양한 대형 언어 모델(LLM)이 존재합니다. 대표적으로 Claude (Anthropic), PaLM (Google DeepMind), LLaMA (Meta), Gemini (Google DeepMind), Mistral AI 등의 모델들이 있으며, 각 모델마다 독자적인 기술적 특징과 목표가 있습니다.
1. Claude (Anthropic)
개요
- Claude는 OpenAI 출신 연구원들이 설립한 Anthropic에서 개발한 대화형 AI 모델입니다.
- GPT 시리즈와 유사한 자연어 처리(NLP) 능력을 가지며, AI 안전성(safety)과 인간 친화적인 인터페이스를 중점적으로 설계함.
- Claude 1 → Claude 2 → Claude 3 순으로 발전.
특징
✅ "헌법적 AI(Constitutional AI)" 개념 도입
✅ 안전성과 윤리성 강화 → 부적절한 콘텐츠 생성을 줄이기 위한 구조 적용
✅ 긴 컨텍스트 윈도우 지원 → 대화에서 보다 긴 맥락 유지 가능
✅ GPT 계열 모델과 유사한 성능
한계점
❌ 일반 사용자 접근성이 제한적 (초기에는 베타 테스트 중심)
❌ 일부 응용 분야에서는 GPT-4보다 성능이 낮음
2. PaLM (Google DeepMind)
개요
- PaLM (Pathways Language Model)은 Google DeepMind에서 개발한 대형 언어 모델.
- 2022년에 PaLM-1이 등장했으며, 이후 PaLM-2가 출시되면서 더욱 강화됨.
- 현재는 Gemini 시리즈로 통합되면서 "PaLM" 브랜드는 사용되지 않음.
특징
✅ 멀티모달(Multimodal) 학습 가능 → 이미지, 텍스트, 코드 등 다양한 데이터 처리
✅ 퓨샷(Few-shot) 및 제로샷(Zero-shot) 러닝 강화
✅ 다국어 지원 → 100개 이상의 언어를 학습
✅ Google Search, Bard, Google Workspace 등에 활용
한계점
❌ 일반 사용자용 공개 모델이 제한적
❌ GPT-4 대비 성능이 다소 부족하다는 평가
3. Gemini (Google DeepMind)
개요
- Gemini는 Google DeepMind가 PaLM-2 이후 개발한 최신 대형 언어 모델.
- 멀티모달 모델로 설계되어 텍스트뿐만 아니라 이미지, 오디오, 영상 등을 처리할 수 있음.
- GPT-4의 경쟁 모델로 개발되었으며, Bard AI 서비스에 적용됨.
특징
✅ 완전한 멀티모달(Multimodal) 지원 → 다양한 데이터 형태를 처리 가능
✅ 최적화된 추론 능력 → 코드 생성 및 논리적 문제 해결 능력 향상
✅ Google 생태계와 통합 → Google Search, Gmail, Docs, AI 기반 앱에서 활용
한계점
❌ 초기 평가에서 GPT-4 대비 성능이 부족하다는 의견 존재
❌ 사용자 피드백을 기반으로 추가 개선이 필요
4. LLaMA (Meta)
개요
- LLaMA (Large Language Model Meta AI)는 Meta(구 Facebook)가 개발한 오픈소스 대형 언어 모델.
- LLaMA-1 → LLaMA-2 → LLaMA-3로 발전.
- GPT 모델보다 경량화된 구조를 통해 높은 효율성을 제공.
특징
✅ 오픈소스(Open-source) 모델 → 연구 및 개발 커뮤니티에서 자유롭게 활용 가능
✅ 경량화된 모델 → 적은 연산 자원으로도 높은 성능 제공
✅ 다양한 활용 가능성 → 기업 및 연구기관에서 맞춤형 모델로 사용
한계점
❌ 대화형 AI 최적화가 부족함 (기본 모델은 ChatGPT 대비 사용성이 떨어짐)
❌ 추가적인 튜닝(Fine-tuning)이 필요
5. Mistral AI
개요
- Mistral AI는 2023년 프랑스에서 설립된 AI 스타트업으로, 경량화된 고성능 오픈소스 모델을 개발.
- LLaMA처럼 경량화 및 최적화된 모델을 제공하며, Mistral 7B 및 Mixtral이 대표적인 모델.
특징
✅ 고효율 경량 모델 제공 → GPT-4 대비 적은 자원으로 높은 성능
✅ 오픈소스 및 연구용으로 활용 가능
✅ "Mixture of Experts (MoE)" 기술 적용 → 상황에 따라 최적의 서브모델을 활성화하여 연산 효율성 증가
한계점
❌ LLM 시장에서 아직 입지가 상대적으로 약함
❌ 일반 사용자가 직접 활용하기 어려운 부분이 존재
6. Falcon (Technology Innovation Institute, UAE)
개요
- Falcon은 UAE(아랍에미리트)의 Technology Innovation Institute (TII)에서 개발한 대형 언어 모델.
- 2023년 발표된 Falcon 40B, Falcon 180B 등이 있으며, 오픈소스로 공개됨.
특징
✅ 대형 모델(180B) 및 경량 모델(40B) 제공
✅ 비영리 연구 및 상업적 활용 가능
✅ LLaMA 및 GPT 계열과 경쟁할 수 있는 오픈 모델 제공
한계점
❌ 주류 AI 생태계에서 인지도가 낮음
❌ 구글, OpenAI 등의 상용 모델 대비 최적화 부족
7. 주요 LLM 비교 요약
모델 | 개발사 | 출시 연도 | 특징 | 공개 여부 |
---|---|---|---|---|
GPT-4 | OpenAI | 2023 | 가장 강력한 언어 모델 중 하나, 멀티모달 지원 | 비공개 (API 제공) |
Claude | Anthropic | 2023 | 헌법적 AI 기반, 안전성 강화 | 제한적 공개 |
PaLM-2 | Google DeepMind | 2023 | 다국어 및 코드 최적화 | 비공개 |
Gemini | Google DeepMind | 2023 | 멀티모달 지원, Google 생태계 통합 | 제한적 공개 |
LLaMA-2 | Meta | 2023 | 오픈소스, 경량화 | 공개 (오픈소스) |
Mistral | Mistral AI | 2023 | 고효율 경량 모델 | 공개 |
Falcon | UAE TII | 2023 | 오픈소스 대형 언어 모델 | 공개 |
LLM의 주요 원리
트랜스포머 아키텍처
트랜스포머(Transformer)는 2017년 Google이 발표한 논문 "Attention Is All You Need" 에서 처음 소개된 딥러닝 모델 아키텍처로, 기존의 순환 신경망(RNN) 및 LSTM(Long Short-Term Memory) 기반 모델의 한계를 극복하기 위해 개발되었습니다.
이 아키텍처는 자기 주의(Self-Attention) 메커니즘을 활용하여 문맥을 효율적으로 이해하고, 병렬 연산이 가능하여 연산 속도를 크게 향상시켰습니다. 이후 GPT, BERT, T5, LLaMA 등 다양한 대형 언어 모델(LLM)의 기본 구조로 활용되었습니다.
1. 트랜스포머의 주요 특징
✅ 순환 구조(RNN/LSTM) 없이 문맥을 학습
✅ 병렬 연산이 가능하여 속도가 빠름
✅ 긴 문맥(Long-Range Dependency) 처리 가능
✅ 자기 주의(Self-Attention) 메커니즘 활용
2. 트랜스포머의 전체 구조
트랜스포머는 인코더(Encoder)와 디코더(Decoder)로 구성된 구조를 가집니다.
- 인코더(Encoder): 입력 문장을 처리하여 문맥 정보를 벡터로 변환
- 디코더(Decoder): 인코더의 출력을 바탕으로 새로운 문장을 생성
하지만, BERT는 인코더만 사용, GPT는 디코더만 사용하는 등 각 모델마다 트랜스포머의 일부만 활용하는 방식이 다릅니다.
3. 트랜스포머의 핵심 구성 요소
(1) 입력 임베딩(Input Embedding)
- 텍스트 데이터를 숫자 벡터로 변환하는 과정.
- 단어(또는 서브워드)를 임베딩(Embedding)하여 밀집된 벡터 표현을 생성.
(2) 포지셔널 인코딩(Positional Encoding)
- RNN/LSTM과 달리, 트랜스포머는 단어의 순서를 고려하지 않기 때문에 위치 정보를 추가하는 과정이 필요.
- 사인 함수와 코사인 함수를 이용한 수학적 방식을 적용하여 단어의 순서를 반영.
(3) 다중 헤드 자기 주의(Multi-Head Self-Attention)
- 트랜스포머의 핵심 요소로, 문장 내 단어 간 관계를 계산하는 메커니즘.
- 각 단어가 문장 내 다른 단어들과 얼마나 관련이 있는지(Attention Score)를 학습.
- 다중 헤드를 사용하여 서로 다른 관점에서 문맥 정보를 학습할 수 있음.
📌 Self-Attention 연산 과정
- Query(Q), Key(K), Value(V) 행렬 생성
- 입력 벡터를 선형 변환하여 Q, K, V 행렬을 만듦.
- 어텐션 가중치(Attention Score) 계산
- Q와 K의 내적을 통해 유사도를 측정하고, 소프트맥스를 적용하여 가중치를 생성.
- 가중치를 이용해 V 값을 조정하여 최종 출력 생성
- 중요한 단어일수록 높은 가중치로 반영.
(4) 피드포워드 신경망(Feedforward Neural Network, FFN)
- 각 단어의 표현을 변환하는 역할.
- 어텐션 레이어 이후 적용되며, 두 개의 완전 연결(Dense) 레이어와 활성화 함수(ReLU)로 구성됨.
(5) 레이어 정규화(Layer Normalization) 및 잔차 연결(Residual Connection)
- 학습 안정성을 유지하고 기울기 소실(Vanishing Gradient) 문제를 방지하기 위해 사용됨.
- 이전 층의 출력을 다음 층과 합하여 정보 손실을 줄임.
4. 트랜스포머의 동작 과정
📌 인코더(Encoder)
- 입력 텍스트를 토큰화(Tokenization) 및 임베딩(Embedding)
- 포지셔널 인코딩(Positional Encoding) 추가
- 다중 헤드 자기 주의(Multi-Head Self-Attention) 연산
- 피드포워드 신경망(FFN) 적용
- 정규화 및 잔차 연결 후 출력
📌 디코더(Decoder)
- 이전까지의 출력(생성된 단어)을 입력으로 사용
- 마스크드(Masked) 자기 주의(Self-Attention) 적용 → 미래 단어를 보지 않도록 마스킹
- 인코더의 출력과 인코더-디코더 어텐션(Encoder-Decoder Attention) 수행
- 피드포워드 신경망(FFN) 적용
- 최종적으로 소프트맥스(Softmax) 함수를 사용하여 확률 기반 단어 예측
5. 트랜스포머 기반 주요 모델
모델 | 구조 | 특징 |
---|---|---|
GPT 시리즈 | 디코더(Decoder) 기반 | 문맥을 기반으로 텍스트 생성, 자동회귀 방식 |
BERT | 인코더(Encoder) 기반 | 양방향 문맥 이해, 문장 이해 및 분류 작업에 적합 |
T5 | 인코더-디코더(Encoder-Decoder) | 입력을 변환하여 새로운 텍스트 생성, 번역 및 요약에 활용 |
BART | 인코더-디코더 | 문서 요약 및 복원 능력 우수 |
6. 트랜스포머의 장점과 단점
✅ 장점
- 병렬 연산 가능 → 기존 RNN/LSTM 대비 학습 속도가 빠름.
- 긴 문맥(Long Context) 학습 가능 → 이전 단어뿐만 아니라 전체 문맥을 활용 가능.
- 다중 헤드 자기 주의(Multi-Head Self-Attention) 사용 → 다양한 문맥 정보를 학습 가능.
- 범용적인 NLP 모델의 기반 → GPT, BERT, T5 등 다양한 모델에 적용됨.
❌ 단점
- 연산량이 많음 → 모델 크기가 커질수록 메모리 및 계산 비용 증가.
- 긴 문장에서 성능 저하 가능 → 문맥 길이가 매우 길어질 경우 효율적인 처리 기법이 필요.
- 사전 학습(Pre-training) 비용이 큼 → 대형 데이터셋과 강력한 GPU/TPU 자원이 필요.
어텐션 메커니즘(Self-Attention, Multi-Head Attention)
어텐션(Attention) 메커니즘은 신경망 모델이 입력 데이터의 중요한 부분에 집중할 수 있도록 도와주는 기술입니다. 특히, Self-Attention(자기 주의) 및 Multi-Head Attention(다중 헤드 자기 주의) 기법은 트랜스포머(Transformer) 아키텍처의 핵심 요소로, 문맥(Context)을 효과적으로 반영하는 데 중요한 역할을 합니다.
1. 어텐션(Attention) 개념
- 기본 개념: 입력 데이터에서 특정 요소가 다른 요소들과 어떻게 연관되는지를 학습하여, 중요한 부분에 더 집중(Weighting)하는 기법.
- 목적: 문장의 단어들이 서로 어떤 관계를 가지는지 학습하여 더 나은 의미 표현을 가능하게 함.
- 활용 분야: 기계 번역, 텍스트 요약, 자연어 이해(NLU), 이미지 처리 등.
2. Self-Attention(자기 주의)
2.1 개념
- Self-Attention은 문장의 각 단어가 자신을 포함하여 문장 내 모든 다른 단어와 관계를 학습하는 과정을 의미합니다.
- 기존 RNN/LSTM 기반 모델들은 입력을 순차적으로 처리했지만, Self-Attention은 모든 단어를 동시에 병렬적으로 처리할 수 있음.
- 결과적으로 문장의 장기 의존성(Long-range Dependency) 문제를 해결하고, 문맥을 더 잘 이해할 수 있음.
2.2 Self-Attention 연산 과정
Self-Attention은 입력 단어들 사이의 관계를 Query(Q), Key(K), Value(V) 세 가지 행렬을 통해 계산합니다.
📌 1) Query(Q), Key(K), Value(V) 행렬 생성
- 입력 임베딩(Embedding) 벡터를 세 개의 행렬 Q, K, V로 변환합니다.
- 각각의 행렬은 다른 가중치 행렬을 곱하여 생성됩니다.
📌 2) 어텐션 스코어(Attention Score) 계산
- Query와 Key 행렬을 내적(dot product)하여 단어 간 유사도를 계산합니다.
- 예를 들어, 단어 "I", "love", "AI"가 있을 때:
- "I"가 "love"와 얼마나 관련이 있는지
- "love"가 "AI"와 얼마나 관련이 있는지 등을 계산.
📌 3) 스케일링 및 Softmax 적용
- Q와 K를 곱한 값에 (\sqrt{d_k}) 로 나누어 정규화(Scaling)합니다.
- 이후 Softmax를 적용하여 확률값을 생성합니다.
📌 4) 가중치 적용 및 최종 출력 계산
- Softmax를 통해 얻은 가중치를 Value(V) 행렬에 곱하여 최종 출력을 얻습니다.
2.3 Self-Attention의 특징
✅ 문맥(Context) 이해 능력 향상 → 단어 간 관계를 동적으로 학습
✅ 병렬 연산 가능 → 기존 RNN보다 훨씬 빠른 계산 속도
✅ 긴 문맥(Long-range Dependency) 유지 가능
3. Multi-Head Attention(다중 헤드 자기 주의)
3.1 개념
- Self-Attention을 여러 개(다중 헤드, Multi-Head)로 나누어 수행하는 방식.
- 서로 다른 어텐션 헤드가 서로 다른 문맥적 관계를 학습할 수 있도록 설계됨.
3.2 Multi-Head Attention 연산 과정
- 입력 벡터에 대해 여러 개의 Q, K, V 행렬을 생성합니다.
- 각 Head에서 독립적으로 Self-Attention을 수행합니다.
- 모든 Head의 출력을 연결(Concatenate)하고, 최종 가중치 행렬을 곱하여 출력합니다.
3.3 Multi-Head Attention의 특징
✅ 다양한 의미 학습 가능 → 여러 개의 어텐션 헤드가 각각 다른 문맥적 관계를 학습
✅ 고차원적 의미 표현 가능 → 단일 Self-Attention보다 더 풍부한 정보 학습 가능
✅ 병렬 연산 가능 → 연산 속도가 빠름
4. Self-Attention vs. Multi-Head Attention
비교 항목 | Self-Attention | Multi-Head Attention |
---|---|---|
개념 | 단일 어텐션 메커니즘 | 여러 개의 독립적인 어텐션 수행 |
연산 방식 | 하나의 Query, Key, Value로 연산 | 여러 개의 Query, Key, Value로 연산 |
장점 | 단어 간 관계를 학습 가능 | 다양한 문맥적 의미를 학습 가능 |
병렬 연산 | 가능 | 더 높은 병렬 연산 가능 |
트랜스포머 적용 여부 | 인코더/디코더에서 사용 | 트랜스포머의 주요 구성 요소 |
5. Self-Attention 및 Multi-Head Attention이 트랜스포머에서 활용되는 방식
📌 트랜스포머 인코더에서 Self-Attention 적용
- 입력 문장이 들어오면, 각 단어의 관계를 계산하기 위해 Self-Attention을 수행.
- 다중 헤드(Self-Attention 여러 개)를 사용하여 다양한 문맥적 특징을 학습.
- 최종적으로 피드포워드 네트워크(FFN)를 거쳐 다음 인코더 블록으로 전달.
📌 트랜스포머 디코더에서 Self-Attention 및 인코더-디코더 어텐션 적용
- Masked Self-Attention: 생성할 단어의 미래 단어를 참조하지 않도록 마스킹.
- 인코더-디코더 어텐션: 디코더에서 인코더의 출력 정보를 활용하여 번역 또는 문장 생성을 수행.
토큰화와 임베딩
자연어 처리(NLP)에서 토큰화(Tokenization) 와 임베딩(Embedding) 은 텍스트 데이터를 신경망 모델이 처리할 수 있도록 변환하는 중요한 전처리 과정입니다.
토큰화는 문장을 단위 요소(단어, 서브워드, 문자 등)로 나누는 과정이며, 임베딩은 이를 벡터 형태로 변환하여 모델이 이해할 수 있도록 하는 과정입니다.
1. 토큰화(Tokenization)
1.1 개념
- 토큰화(Tokenization)는 문장을 단어, 서브워드, 문자 등의 단위로 나누는 과정입니다.
- NLP 모델은 원시 텍스트를 직접 처리할 수 없기 때문에, 먼저 텍스트를 일정한 단위로 분할하여 모델이 학습할 수 있도록 합니다.
1.2 주요 토큰화 방법
(1) 단어 기반 토큰화(Word Tokenization)
- 텍스트를 단어 단위로 분할.
- 공백(space)이나 구두점(punctuation)을 기준으로 단어를 나눔.
✅ 예제
입력: "나는 자연어 처리를 공부한다."
출력: ["나는", "자연어", "처리", "를", "공부", "한다", "."]
✅ 장점
✔️ 직관적이고 사람이 이해하기 쉬움
✔️ 일반적인 NLP 작업에 활용 가능
❌ 한계점
❌ 언어마다 공백 처리 방식이 다름 (예: 중국어, 일본어는 공백이 없음)
❌ 새로운 단어(신조어, 고유명사) 처리 어려움
(2) 문자 기반 토큰화(Character Tokenization)
- 텍스트를 문자(character) 단위로 분할.
✅ 예제
입력: "Hello"
출력: ["H", "e", "l", "l", "o"]
✅ 장점
✔️ 단어 분할 문제가 없음 (모든 단어를 표현 가능)
✔️ 어휘 사전 크기가 작음
❌ 한계점
❌ 의미를 이해하는 데 한계가 있음
❌ 긴 문장을 처리할 때 모델 크기가 커질 수 있음
(3) 서브워드 기반 토큰화(Subword Tokenization)
- 단어보다 작은 단위(서브워드)로 분할하여, 희귀 단어 문제를 해결.
- GPT, BERT, T5, LLaMA 등 최신 NLP 모델에서 사용됨.
✅ 대표적인 서브워드 토큰화 기법
기법 | 설명 | 대표 모델 |
---|---|---|
Byte-Pair Encoding (BPE) | 가장 빈번한 문자 쌍을 병합하여 서브워드를 생성 | GPT, LLaMA |
WordPiece | 단어 빈도 기반으로 서브워드를 생성 | BERT, RoBERTa |
SentencePiece | 언어에 관계없이 적용 가능한 서브워드 분할 방식 | T5, ALBERT |
✅ 예제 (BPE 적용)
입력: "unhappiness"
출력: ["un", "happi", "ness"]
✅ 장점
✔️ 희귀 단어(신조어, 복합어)를 더 잘 처리할 수 있음
✔️ 어휘 크기를 줄이면서도 높은 표현력 유지
❌ 한계점
❌ 서브워드 사전을 별도로 학습해야 함
❌ 사람이 이해하기 어려운 형태로 분할될 수 있음
2. 임베딩(Embedding)
2.1 개념
- 임베딩(Embedding)은 토큰화된 텍스트를 연속적인 수치 벡터(Continuous Vector) 로 변환하는 과정입니다.
- 기계 학습 모델은 숫자만 처리할 수 있기 때문에, 텍스트를 고정된 차원의 실수 벡터로 변환해야 함.
✅ 예제
입력: ["나는", "자연어", "처리", "를", "공부", "한다"]
출력: [
[0.1, -0.2, 0.8, ...],
[0.3, 0.5, -0.1, ...],
[0.2, 0.9, 0.4, ...],
...
]
2.2 주요 임베딩 기법
(1) 원-핫 인코딩(One-Hot Encoding)
- 각 단어를 고유한 이진 벡터(Binary Vector) 로 표현.
✅ 예제
단어 | 원-핫 벡터 |
---|---|
나는 | [1, 0, 0, 0, 0] |
자연어 | [0, 1, 0, 0, 0] |
처리 | [0, 0, 1, 0, 0] |
✅ 장점
✔️ 단순하고 직관적
❌ 한계점
❌ 단어 간 의미 유사성을 반영할 수 없음
❌ 차원이 커질수록 메모리 사용량 증가
(2) Word2Vec (2013, Google)
- 단어 간 의미적 유사도를 반영하는 임베딩 방식.
- CBOW: 주변 단어로 중심 단어를 예측
- Skip-gram: 중심 단어로 주변 단어를 예측
✅ 예제 (Word2Vec을 통한 유사도 측정)
king - man + woman ≈ queen
✅ 장점
✔️ 단어 간 의미적 관계 학습 가능
✔️ 희소 벡터(Sparse Vector) 대신 밀집 벡터(Dense Vector) 사용
❌ 한계점
❌ 문맥(Context) 정보를 반영하지 못함
(3) GloVe (2014, Stanford)
- 단어의 동시 등장 확률(Co-occurrence Matrix) 을 이용한 임베딩 방식.
✅ 특징
✔️ Word2Vec보다 전역적인 의미 정보를 반영
✔️ 문서 전체적인 단어 관계를 학습
❌ 한계점
❌ 정적인(Static) 임베딩 → 문맥 변화 반영 불가능
(4) 트랜스포머 기반 임베딩 (BERT, GPT)
- 기존 Word2Vec, GloVe와 달리, 문맥(Context)에 따라 단어의 의미가 달라지는 동적(Dynamic) 임베딩 방식을 사용.
✅ 예제 (BERT 임베딩)
"은행에서 돈을 찾았다" → "은행" = 금융기관 의미
"강가의 은행에서 휴식을 취했다" → "은행" = 강가 의미
✅ 장점
✔️ 문맥(Context)을 반영하여 단어 의미를 동적으로 학습
✔️ 문장의 흐름을 고려할 수 있음
❌ 한계점
❌ 학습 비용이 높음 (대량의 데이터와 GPU 필요)
3. 토큰화 + 임베딩 과정 요약
1️⃣ 토큰화(Tokenization)
- 텍스트를 토큰(단어, 서브워드, 문자) 단위로 나눔.
- BPE, WordPiece 등의 방법을 사용하여 희귀 단어 문제 해결.
2️⃣ 임베딩(Embedding)
- 토큰을 벡터로 변환하여 의미적 관계를 반영.
- Word2Vec, GloVe 같은 정적 방법과 BERT/GPT 같은 동적 방법이 존재.
사전 학습(Pretraining)과 미세 조정(Fine-Tuning)
자연어 처리(NLP) 모델은 일반적으로 사전 학습(Pretraining) 과 미세 조정(Fine-Tuning) 단계를 거쳐 특정 태스크(Task)에 최적화됩니다. 이 과정은 대형 언어 모델(LLM), 예를 들어 GPT, BERT, T5, LLaMA 등의 훈련 방식에서 핵심적인 요소입니다.
1. 사전 학습(Pretraining)
1.1 개념
- 사전 학습(Pretraining)은 대량의 비지도(Unsupervised) 또는 자기 지도(Self-Supervised) 학습 데이터를 사용하여 모델이 기본적인 언어 패턴을 학습하는 과정입니다.
- 특정 태스크(Task)에 종속되지 않고, 다양한 도메인과 데이터에서 학습하여 보편적인 언어 이해 능력을 갖추게 함.
1.2 사전 학습 방식
사전 학습은 주로 두 가지 방식으로 진행됩니다.
(1) 마스크드 언어 모델(Masked Language Model, MLM)
- 문장에서 일부 단어를 마스킹하고, 모델이 이를 예측하도록 학습.
- BERT 계열 모델에서 사용됨.
✅ 예제 (MLM 적용)
입력: "나는 [MASK]를 좋아한다."
출력: "나는 사과를 좋아한다."
✔️ 장점: 문장의 앞뒤 문맥을 모두 고려하여 학습 가능 (양방향 학습)
❌ 한계점: 학습 과정에서 특정 단어를 가려야 하기 때문에, 텍스트 생성 태스크에 직접 활용하기 어려움.
(2) 자동 회귀 모델(Autoregressive Model, AR)
- 주어진 문맥을 기반으로 다음 단어를 예측하는 방식.
- GPT 계열 모델에서 사용됨.
✅ 예제 (AR 적용)
입력: "나는 자연어"
출력: "나는 자연어 처리를 공부한다."
✔️ 장점: 실제 문장 생성(NLG) 태스크에 적합. 자연스러운 텍스트 생성 가능.
❌ 한계점: 단방향(Left-to-Right) 학습 방식 → 문장의 전체적인 의미 파악이 어려울 수 있음.
(3) 다음 문장 예측(Next Sentence Prediction, NSP)
- 두 문장이 연속된 문장인지 예측하는 방식.
- BERT 모델에서 추가적으로 사용됨.
✅ 예제 (NSP 적용)
문장 1: "나는 영화를 봤다."
문장 2: "정말 감동적이었다."
출력: "참(True)" (연속된 문장)
✔️ 장점: 문장 간 관계 학습 가능 → QA, 문장 유사도 분석 등에 유리
❌ 한계점: 특정 NLP 태스크(예: 생성 모델)에는 불필요한 기능
1.3 사전 학습된 대표적인 모델
모델 | 사전 학습 방식 | 특징 |
---|---|---|
BERT | MLM + NSP | 양방향 문맥 학습 |
GPT | AR (Autoregressive) | 자연어 생성(NLG) 최적화 |
T5 | 인코더-디코더 구조 | 문장 변환 및 요약에 강점 |
LLaMA | GPT와 유사한 AR 방식 | 경량화된 대형 모델 |
2. 미세 조정(Fine-Tuning)
2.1 개념
- 사전 학습된 모델을 특정 태스크(Task)에 맞게 추가적으로 학습하는 과정.
- 일반적으로 지도 학습(Supervised Learning) 방식으로, 정답(Label)이 포함된 데이터셋을 사용하여 모델을 최적화함.
2.2 미세 조정 과정
1️⃣ 사전 학습된 모델을 불러옴
2️⃣ 특정 태스크용 데이터셋을 준비 (예: 감성 분석, 문서 요약 등)
3️⃣ 출력 레이어를 변경하고 태스크에 맞게 미세 조정
4️⃣ 새로운 데이터에 대해 추가 학습(Fine-Tuning) 수행
2.3 미세 조정 방식
(1) 지도 학습(Supervised Learning) 기반 미세 조정
- 특정 태스크에 대한 정답 데이터(Label)가 있는 데이터셋을 사용하여 추가 학습.
- 예: 감성 분석, 질의응답, 문서 요약, 번역 등.
✅ 예제 (감성 분석 Fine-Tuning)
입력: "이 영화 정말 최고였어요!"
출력: "긍정 (Positive)"
✔️ 장점: 높은 정확도로 특정 태스크 수행 가능
❌ 한계점: 특정 태스크에 맞춰 학습하면, 다른 태스크에 일반화가 어려울 수 있음
(2) 인간 피드백 기반 강화 학습 (RLHF, Reinforcement Learning from Human Feedback)
- ChatGPT 같은 최신 LLM에서는 인간 피드백을 반영하여 더 자연스러운 응답을 생성하도록 학습.
- AI가 생성한 문장을 평가하고, 더 좋은 응답을 강화 학습(Reinforcement Learning) 방식으로 반영.
✅ 예제 (ChatGPT RLHF 과정)
사용자: "바다에서 가장 빠른 동물은?"
AI 초기 응답: "물고기입니다."
💡 인간 피드백: "청새치(Sailfish)가 가장 빠름!"
AI 업데이트 후 응답: "청새치(Sailfish)가 바다에서 가장 빠른 동물입니다."
✔️ 장점: 사람과의 대화 품질이 향상됨
❌ 한계점: 학습 과정이 복잡하고, 고품질 데이터가 필요
3. 사전 학습 vs. 미세 조정 비교
비교 항목 | 사전 학습 (Pretraining) | 미세 조정 (Fine-Tuning) |
---|---|---|
목적 | 일반적인 언어 이해 학습 | 특정 태스크 최적화 |
학습 데이터 | 대량의 비지도 학습 데이터 | 정답(Label)이 포함된 데이터 |
훈련 방식 | MLM, AR, NSP 등 | 지도 학습(Supervised Learning) |
태스크 적용 범위 | 범용적인 언어 모델 | 감성 분석, QA, 번역 등 특정 태스크 |
예제 모델 | BERT, GPT, T5, LLaMA | GPT-4, ChatGPT (RLHF 포함) |
4. 응용 사례
응용 분야 | 사전 학습 모델 | 미세 조정 적용 예시 |
---|---|---|
검색 엔진 | BERT | 문서 검색 최적화 |
챗봇 (AI 대화형 모델) | GPT-4 | RLHF 기반 챗봇 최적화 |
자동 번역 | T5 | 특정 언어 쌍에 대한 번역 성능 향상 |
코드 자동 완성 | Codex (GPT-3 기반) | GitHub Copilot |