ChatGPT, Claude, Gemini 등 다양한 LLM 서비스가 일상과 업무에 깊숙이 자리 잡은 지금, 이러한 AI 기술의 작동 원리를 이해하는 것은 단순 사용자를 넘어 더 효율적인 활용을 위한 첫걸음입니다. OpenAI의 GPT부터 GitHub Copilot까지, 이들 서비스는 모두 거대한 언어 모델이라는 공통점을 가지고 있습니다. 본 글에서는 LLM의 핵심 개념부터 실무 활용까지, 복잡한 기술을 쉽게 풀어 설명합니다.

트랜스포머 아키텍처의 이해
트랜스포머는 '변형시키다'라는 뜻을 가지며, 현대 딥러닝 자연어 처리 모델에서 가장 핵심적인 역할을 담당하고 있습니다. 원래는 기계 번역을 위해 개발되었지만, 다른 태스크에서도 뛰어난 성능을 보여 이미지 처리를 위한 비전 트랜스포머(Vision Transformer)에도 널리 사용되고 있습니다. 테슬라 자동차의 오토파일럿 기능에도 트랜스포머 기술이 적용되어 있으며, GPT, LaMDA, Stable Diffusion, DALL-E 등 현대의 대표적인 딥러닝 모델들은 모두 트랜스포머 아키텍처를 기반으로 구축되었습니다.
트랜스포머의 구조는 인코더-디코더로 구성되어 있으며, 그 핵심은 바로 어텐션(Attention) 메커니즘입니다. '어텐션만 있으면 돼(Attention is All You Need)'라는 유명한 논문 제목이 나올 정도로, 어텐션은 트랜스포머의 성능을 결정짓는 가장 중요한 요소입니다. 어텐션 메커니즘은 두 문장에서 단어와 단어 사이의 관계 점수를 구해주는 역할을 하며, 셀프 어텐션은 같은 문장 내에서 단어들 간의 관계를 파악하는 데 사용됩니다.
실제로 트랜스포머 모델은 여러 개의 헤드를 사용하여 다양한 관점에서 단어 간의 관계를 학습합니다. 이를 멀티-헤드 어텐션이라고 부르며, 각 헤드는 서로 다른 측면에서 문맥을 이해하게 됩니다. 예를 들어 한 헤드는 문법적 관계를, 다른 헤드는 의미적 유사성을 학습하는 식입니다. 이러한 다층적 학습 방식 덕분에 트랜스포머는 언어의 복잡한 패턴을 효과적으로 포착할 수 있습니다.
BERT와 GPT는 트랜스포머 아키텍처를 기반으로 한 대표적인 언어 모델입니다. BERT는 구글에서 개발했으며 트랜스포머의 인코더 부분을 사용하는 반면, GPT는 OpenAI에서 만들었고 디코더 부분을 활용합니다. BERT는 상대적으로 가벼운 모델로 특정 태스크에 맞춰 파인튜닝이 필요하지만, GPT는 거대하게 만들어 파인튜닝이 거의 필요 없도록 설계되었습니다. 다만 사회적 문제 방지를 위해 실제로는 파인튜닝을 수행하기도 합니다.
| 구분 | BERT | GPT |
|---|---|---|
| 개발사 | OpenAI | |
| 아키텍처 | 인코더 기반 | 디코더 기반 |
| 학습 방식 | MLM (Masked Language Modeling) | CLM (Causal Language Modeling) |
| 특징 | 가벼움, 파인튜닝 필요 | 거대함, 문장 생성 특화 |
LoRA 파인튜닝 기법의 실용성
LoRA(Low-Rank Adaptation)는 최신 파인튜닝 방법 중 하나로, 효율성과 성능을 동시에 달성한 혁신적인 기법입니다. 기존 모델의 가중치를 고정시키고 추가적인 가중치 행렬만을 학습시키는 방식으로 작동합니다. LoRA는 기존 가중치를 프리징(freezing)하고 새로운 가중치를 추가하여 학습시키는 세 번째 방법에 해당하며, 이는 전체 모델을 재학습하는 것보다 훨씬 효율적입니다.
LoRA의 핵심 아이디어는 행렬의 차원 축소입니다. D * K 크기의 가중치 행렬을 D * R 행렬과 R * K 행렬의 곱으로 분해하고, 여기서 R 값을 작게 설정하여 학습해야 하는 파라미터 수를 대폭 줄입니다. 예를 들어 1000 * 1000 행렬을 직접 학습하면 100만 개의 파라미터가 필요하지만, R=10으로 설정하면 1000 * 10 + 10 * 1000 = 2만 개의 파라미터만 학습하면 됩니다. 이는 약 50분의 1 수준으로 학습 비용을 절감하는 것입니다.
실제 파인튜닝 실습 결과를 보면 LoRA의 효과는 더욱 명확해집니다. 파인튜닝을 하지 않은 기본 모델은 질문에 대해 어색하거나 부정확한 답변을 내놓기도 하지만, 질문과 답변 데이터셋으로 LoRA 파인튜닝을 수행하면 훨씬 정확하고 유용한 답변을 생성할 수 있습니다. 특히 LoRA는 용량이 작고 컴퓨팅 자원을 적게 사용하면서도 훌륭한 성능을 보여주어, 제한된 하드웨어 환경에서도 최신 LLM을 활용할 수 있는 길을 열어주었습니다.
AI 자격증을 준비하거나 실무에서 딥러닝 모델을 다루는 과정에서 LoRA를 단순히 사용하기만 하는 경우가 많습니다. 하지만 LoRA의 원리를 정확히 이해하면, 어떤 상황에서 이 기법을 적용해야 효과적인지, 하이퍼파라미터를 어떻게 조정해야 하는지 판단할 수 있게 됩니다. 특히 R 값의 선택은 모델의 표현력과 학습 효율성 사이의 트레이드오프를 결정하는 중요한 요소입니다. R이 너무 작으면 모델이 새로운 정보를 충분히 학습하지 못하고, 너무 크면 LoRA의 효율성 이점이 사라집니다.
실무적 관점에서 보면, 처음부터 완벽한 모델을 만드는 것보다 잘 만들어진 프리트레인(pre-trained) 모델을 선택하고 이를 LoRA 같은 효율적인 방법으로 파인튜닝하는 능력이 더 중요할 수 있습니다. 허깅페이스(Hugging Face) 같은 플랫폼에는 수많은 사전 학습 모델이 공개되어 있으며, 이들을 쇼핑하듯 구경하고 비교하여 자신의 프로젝트에 맞는 모델을 선택할 수 있습니다.
토크나이징과 GPT의 작동 원리
ChatGPT에 문장을 입력하면 화면에 단어가 하나씩 출력되는 모습을 볼 수 있습니다. 이는 GPT가 본질적으로 다음 단어를 예측하는 모델에 불과하기 때문입니다. 사용자가 입력한 문장은 토크나이징, 임베딩, 포지셔널 인코딩 과정을 거쳐 GPT 모델에 전달되고, 모델은 각 단어가 다음에 올 확률을 계산합니다. A 단어 확률 1%, B 단어 확률 1.1%, C 단어 확률 5%와 같은 형태로 확률값을 출력하고, 가장 높은 확률의 단어를 선택하여 입력 문장에 연결하는 과정을 반복합니다.
예를 들어 "나는 사과를 샀다"라는 문장을 입력하면 모델은 "그리고"라는 단어를 예측할 수 있습니다. 그러면 "나는 사과를 샀다 그리고"가 다시 모델의 입력이 되고, 다음 단어를 예측하는 과정을 계속 이어갑니다. GPT는 단어를 하나씩 예측하며 문장을 만들어가는 프로그램이며, 이러한 반복적 생성 과정을 통해 긴 문장과 문단을 생성합니다.
토크나이징은 이 모든 과정의 시작점입니다. 토큰화 과정은 문장을 의미 단위로 나누는 작업으로, "나는 사과를 좋아한다"를 "나는/사과를/좋아한다"로 분리하는 것이 그 예시입니다. 토큰화를 거치면 문장은 숫자 배열 형태로 변환되며, 이것이 모델이 이해할 수 있는 형태입니다. 토크나이징은 모델의 눈 역할을 하며, 모델 성능에 매우 중요한 영향을 미칩니다. GPT API를 호출할 때 토큰 수에 따라 비용이 책정되는 이유도 바로 이 토크나이징 과정이 모델의 근간을 이루기 때문입니다.
토큰 아이디를 단순 숫자가 아닌 벡터로 변환하는 임베딩 과정 역시 중요합니다. 벡터로 표현하면 '사과'와 '배'가 '맥북'보다 의미적으로 가깝다는 것을 모델이 이해할 수 있습니다. 이러한 벡터 정보를 통해 모델은 학습을 더 잘하고, 더 나은 결과를 낼 수 있습니다. 단어의 의미적 특성을 벡터 공간에 녹여냄으로써, 모델은 유사한 의미를 가진 단어들을 가까운 위치에 배치하고, 이를 통해 문맥을 더 정확하게 파악합니다.
BERT와 GPT의 가장 큰 차이점은 사전 학습 방법에 있습니다. BERT는 MLM(Masked Language Modeling) 방식으로, 문장 속 단어 일부를 가리고 주변 단어를 통해 맞추도록 학습합니다. 반면 GPT는 CLM(Causal Language Modeling) 방식으로, 문장을 주고 다음 단어를 맞추도록 학습합니다. GPT는 CLM으로 만들어져 문장 생성에 특화되어 있으며, 이는 GPT의 약자인 Generative Pre-trained Transformer에서도 명확히 드러납니다. 야놀자가 LLM을 활용해 고객 후기를 요약하거나, GitHub Copilot이 코드를 자동 완성하는 것도 모두 이러한 생성적 특성을 활용한 것입니다.
| 단계 | 프로세스 | 역할 |
|---|---|---|
| 토크나이징 | 문장을 의미 단위로 분리 | 모델의 눈, 입력 전처리 |
| 임베딩 | 토큰을 벡터로 변환 | 의미적 특성 표현 |
| 포지셔널 인코딩 | 단어의 위치 정보 추가 | 순서 정보 제공 |
| 모델 추론 | 다음 단어 확률 계산 | 문장 생성 |
LLM(Large Language Model)은 이름 그대로 거대한 언어 모델을 의미하며, 언어를 이해하고 처리하는 모델입니다. 머신러닝 모델은 데이터에서 패턴을 찾아 결정을 내리는 프로그램이고, 언어 모델은 우리가 사용하는 언어를 처리하고 확률 값으로 출력하는 모델입니다. LLM은 이러한 언어 모델을 아주 크게 만들고 방대한 양의 데이터로 학습시킨 것으로, 컴퓨팅 자원이 부족하면 BERT를, 충분하면 GPT를 선택하여 활용하는 것이 실무적인 접근법입니다.
결론적으로, AI 기술을 이해하고 활용하는 데 있어 중요한 것은 모든 것을 처음부터 만드는 능력이 아닙니다. 오히려 LLM의 작동 원리를 이해하고, 토크나이징과 임베딩의 중요성을 인식하며, LoRA 같은 효율적인 파인튜닝 기법을 적재적소에 활용하는 능력이 더 가치 있습니다. 잘 만들어진 프리트레인 모델을 자신의 목적에 맞게 조정하고 최적화하는 것, 이것이 현대 AI 실무자에게 요구되는 핵심 역량입니다. 허깅페이스 같은 플랫폼을 통해 다양한 모델을 탐색하고, 자신의 프로젝트에 가장 적합한 모델을 선택하여 효율적으로 파인튜닝하는 방법을 익힌다면, AI 시대에 경쟁력 있는 개발자로 성장할 수 있을 것입니다.
자주 묻는 질문 (FAQ)
Q. LLM을 실무에 적용하려면 BERT와 GPT 중 어떤 것을 선택해야 하나요?
A. 프로젝트의 목적과 보유한 컴퓨팅 자원에 따라 달라집니다. 텍스트 분류나 감정 분석처럼 특정 태스크에 집중하고 리소스가 제한적이라면 BERT가 적합하며, 문장 생성이나 대화형 AI처럼 생성 작업이 중요하고 충분한 컴퓨팅 자원이 있다면 GPT를 선택하는 것이 좋습니다. 실무에서는 허깅페이스에서 사전 학습된 모델을 받아 파인튜닝하는 방식을 추천합니다.
Q. LoRA 파인튜닝을 할 때 R 값은 어떻게 설정해야 하나요?
A. R 값은 모델의 표현력과 학습 효율성 사이의 균형을 결정하는 하이퍼파라미터입니다. 일반적으로 R=4에서 R=64 사이의 값을 사용하며, 작은 데이터셋이나 간단한 태스크에는 R=8 정도, 복잡한 태스크에는 R=32 이상을 시도해볼 수 있습니다. 실험을 통해 성능과 학습 시간을 모니터링하며 최적값을 찾는 것이 중요합니다.
Q. 토크나이징이 모델 성능에 미치는 영향은 얼마나 중요한가요?
A. 토크나이징은 모델의 눈 역할을 하기 때문에 매우 중요합니다. 같은 문장이라도 토크나이징 방법에 따라 다르게 분리될 수 있으며, 이는 모델의 이해도에 직접적인 영향을 줍니다. 특히 한국어처럼 교착어의 경우 형태소 분석 기반 토크나이징과 BPE(Byte Pair Encoding) 방식에 따라 성능 차이가 크게 나타날 수 있습니다. GPT API를 사용할 때 토큰 수에 따라 비용이 책정되는 것도 토크나이징의 중요성을 보여주는 사례입니다.
Q. 트랜스포머의 어텐션 메커니즘을 실무에서 어떻게 활용할 수 있나요?
A. 어텐션 메커니즘은 모델이 어떤 단어에 집중하고 있는지를 시각화할 수 있어 모델의 판단 근거를 이해하는 데 유용합니다. 예를 들어 번역 모델에서 원문의 어떤 부분이 번역문의 특정 단어에 영향을 주었는지 확인할 수 있으며, 감정 분석에서는 어떤 단어가 긍정/부정 판단에 중요했는지 파악할 수 있습니다. 이는 모델의 신뢰성을 높이고 오류를 디버깅하는 데 도움이 됩니다.
Q. ChatGPT나 Claude 같은 상용 LLM을 사용하면서도 내부 원리를 알아야 하는 이유는 무엇인가요?
A. 내부 원리를 이해하면 프롬프트를 더 효과적으로 작성할 수 있고, 모델의 한계와 가능성을 정확히 파악할 수 있습니다. 예를 들어 GPT가 다음 단어를 예측하는 방식으로 작동한다는 것을 알면, 문맥을 충분히 제공하고 구체적인 지시를 하는 것이 왜 중요한지 이해할 수 있습니다. 또한 토큰 개념을 알면 API 비용을 절감하고 최적화할 수 있으며, 파인튜닝 기법을 알면 자신만의 특화된 AI 서비스를 구축할 수 있습니다.
[출처]
영상 제목/채널명: https://youtu.be/c9C7jusij4I?si=s6zIWYPJR0lQab89