밑바닥부터 만들면서 배우는 LLM(1)
2026년 07월 30일밑바닥부터 만들면서 배우는 LLM - 세바스찬 라시카
Chp1. 대규모 언어 모델 이해하기
대부분의 최신 LLM은 Attention Is All You Need에서 소개된 심층 신경망 구조인 Transformer를 기반으로 한다.
순서는 다음과 같다.
- 텍스트를 입력.
- 인코딩 전에 입력 텍스트를 전처리한다.
- 인코더는 입력 텍스트 전체를 참조하여 디코더에서 사용할 텍스트 임베딩을 생성한다.
- 인코더는 디코더의 입력으로 사용될 임베딩을 반환한다.
- 출력 텍스트의 일부(모델은 한 번에 한 단어씩 완성하기 때문) 디코더로 입력한다.
- 디코더를 위해 입력 텍스트를 전처리한다.
- 디코더는 4,5에서 받은 입력값 기반으로 한 번에 한 단어씩 텍스트를 생성한다.
- 출력
트랜스포머 구조는 2개의 서브모듈인 인코더와 디코더로 구성된다.
- 인코더 : 입력 텍스트 처리 및 입력의 문맥 정보를 포착하는 일련의 수치 표현 또는 벡터로 인코딩한다.
- 디코더 : 인코딩된 벡터를 디코딩해 타깃 언어로 된 텍스트를 생성한다.
인코더와 디코더 모두 self-attention 메커니즘으로 연결된 많은 층으로 구성된다.
self-attention 메커니즘은 서로 다른 단어 또는 토큰에 상대적인 가중치를 부여할 수 있다.
이 때문에 모델이 입력 데이터에서 긴 범위에 걸친 의존성과 맥락(context)를 포착할 수 있어 일관서있고 맥락에 맞는 출력을 생성할 수 있다.
BERT(bidirectional encoder representations from transformers)와 여러 버전의 GPT 모델 같은 트랜스포머 구조의 최신 변종은 이 개념을 기반으로 다양한 작업에 이 구조를 적용한다.
GPT는 생성작업, BERT는 감성 분석, 문서 분류, 텍스트 분류 작업에 강점을 가지고 있다.
이런 모델은 보통 Zero-shot learning과 few-shot learning 작업을 수행하는 데 능숙하다.
zero-shot learning: 구체적인 예시도 없이 처음 보는 작업에 일반화 하는 능력 few-shot learning: 사용자가 입력으로 최소한의 샘플로부터 학습함.
트랜스포머 vs LLM
LLM은 트랜스포머 구조를 기반으로 한다. 하지만, 모든 트랜스포머 모델이 LLM은 아니며 computer vision에 사용되기도 한다. 또한, 순환 신경망이나 합성곱 신경망 기반의 LLM도 있기 때문에 모든 LLM이 트랜스포머인 것도 아니다.
대규모 데이터 셋 활용하기
GPT-3을 사전훈련하는 데 사용된 데이터셋(단위: 토큰)
- CommonCrawl(필터링된 데이터) : 4,100억개
- WebText2: 190억개
- Books1: 120억개
- Books2: 550억개
- 위키백과: 30억개
GPT-3 논문의 저자들은 훈련 데이터셋을 공유하진 않았지만, 유사한 데이터셋은 Dolma: an Open Corpus of Three Trillion Tokens for Language Model Pretraining Research 해당 논문임.
GPT 구조 자세히 살펴보기
GPT는 OpenAI의 Alec Radford가 쓴 Improving Language Understanding by Generative Pre-Training 논문에서 처음으로 소개되었다.
GPT-3는 OpenAI의 InstructGPT 논문 Training language models to follow instructions with human feedback에 나온 방법으로 대규모 지시 데이터셋에서 GPT-3를 미세튜닝했고, 이를 통해 ChatGPT에서 사용된 초기모델을 만들었다.
다음 단어 예측 작업은 셀프 레이블링(self-labeling)의 하나인 자기 지도 학습의 한 형태이다.
이는 훈련 데이터의 레이블을 명시적으로 수집하지 않고, 데이터 구조 자체를 활용한다는 의미이다.
GPT 구조는 인코더 없이 디코더 모듈만 사용한다. GPT같은 디코더 기반 모델은 한 번에 한 단어씩 예측하며 텍스트를 생성하기 때문에 자기회귀 모델(autoregressive model)의 한 종류이다.
자기회기 모델은 이전 출력을 입력으로 사용해 다음 출력을 예측한다.
결과적으로 GPT에서는 이전 시퀀스(이전 출력)를 기반으로 다음 단어를 선택하는 식으로 출력 텍스트의 일관성을 향상시킨다.
GPT-3와 같은 구조는 원본 트랜스포머와 조금 다르다.
트랜스포머는 인코더 블록과 디코더 블록을 여섯번 반복한다. 또한 트랜스포머 모델은 명시적으로 언어 번역을 위해 개발되었다. 그에 반해 GPT-3는 96개의 트랜스포머 층이 있으며, 총 1,750억 개의 파라미터를 가진다. 물론 GPT 모델도 번역 작업을 할 수 있지만, 다음 단어 예측 작업에서 훈련된 모델에서 나왔기 때문에 초기에는 번역 작업을 수행하는 것은 원래 기능이 아니였다.
모델이 명시적으로 훈련되지 않은 작업을 수행하는 능력을 emergent behavier(창발적 행동)이라고 한다.
이 능력은 훈련 과정에서 명시적으로 학습한게 아닌, 모델이 다양한 맥락의 다국어 데이터에 노출되며 자연스럽게 습득한다.
대규모 언어 모델 만들기
GPT모델의 기본적인 아이디어를 기반으로 세 단계로 나눈다.
1단계에서는 기본적인 데이터 전처리, 어텐션 메커니즘을 구현한다.
2단계에서는 새로운 텍스트를 생성할 수 있는 GPT와 유사한 LLM을 구현하고, 사전훈련한다.
이어서 3단계에서는 NLP시스템을 개발하는 데 매우 중요한 기본적인 LLM 평가 방법을 적용한다.