대규모 언어모델 • 챕터 1 / 7
LLM(Large Language Model)이란?
| 구분 | 설명 |
|---|---|
| 입력 | 개·고양이 사진 → 픽셀 값 |
| 과정 | 모델이 연산·곱·합·활성화 함수 거침 |
| 출력 | 결과가 1 → 고양이, 0 → 개 |
예시 1: 주식 예측
예시 2: 주변 맥락 이해
| 구분 | 설명 |
|---|---|
| 예측 (Prediction) | 기존 데이터 분포 이해 → 새로운 입력(X)에 대한 출력(Y) 추론 |
| 생성 (Generation) | 패턴 이해 + 새로운 데이터 생성 |
생성 AI의 원리
패턴을 이해하고 새로운 데이터를 생성합니다. LLM은 수억~수천억 개의 파라미터로 언어의 복잡성과 다양성을 학습합니다.
| 구분 | 자연어 데이터 | 픽셀값·수치형 데이터 |
|---|---|---|
| 처리 방식 | 숫자(벡터)로 변환 필요 | 바로 연산 가능 |
| 특징 | 길이가 일정하지 않음 | 길이가 고정됨 |
해결 방법
임베딩의 정의
1단계: 단어를 수백~수천 차원의 벡터로 변환
↓
2단계: 유사 단어를 벡터 공간에서 가깝게 배치예시 문장
"나는 커피를 좋아한다, 나는 우유를 좋아한다, 나는 차를 좋아한다"토큰 분리
"나는" | "커피를" | "우유를" | "차를" | "좋아한다"의미 연산이 가능
| 예시 | 설명 |
|---|---|
| Woman - Man | 성별 관계 벡터 |
| Draw - Drew | 시제 관계 벡터 |
| 서울 - 한국 + 독일 | = 베를린 (수도 관계) |
| 한계 | 내용 |
|---|---|
| 동음이의어 처리 불가 | 하나의 벡터에 하나의 단어 할당 → 다의어 처리 어려움 |
| 오타 처리 불가 | King → KNG 오타 시 UNK(unknown) 토큰 처리 |
| 확장성 문제 | 단어 수가 많아질수록 모든 단어 벡터화 불가능 |
예시: "I go to school"
school이 schol로 오타남
→ 철자 유사성(S, OL 조합)과
→ 주변 맥락(I, to, go)으로 의미 보완어순의 중요성
A는 B를 좋아한다 ≠ B는 A를 좋아한다
자연어 학습에서는 문맥과 어순 을 함께 고려해야 합니다.
예시
"Tokenization" = "Token" + "ization"
→ "Tokenizer", "Tokenized" 등도 2개 토큰으로 처리 가능텍스트를 작은 단위로 쪼개는 과정
Generative Pre-trained Transformer (GPT)
↓ ↓ ↓ ↓
토큰1 토큰2 토큰3 토큰4| 언어 | 압축률 |
|---|---|
| 영어 | 4:1 ~ 5:1 (효율적) |
| 한국어 | 2:1 ~ 1.8:1 (비효율적) |
프롬프트는 영어가 유리
영어 토큰화가 효율적이라 더 많은 맥락을 처리할 수 있습니다.
2017년 이전 상황
트랜스포머의 해결책
┌─────────────────┐ ┌─────────────────┐
│ 인코더(Encoder) │ │ 디코더(Decoder) │
│ │ │ │
│ 입력 문장을 받아 │ → │ 인코더 결과를 받아│
│ 의미를 벡터로 │ │ 출력 문장 생성 │
│ 계산 │ │ │
└─────────────────┘ └─────────────────┘이후 발전
| 개념 | 설명 |
|---|---|
| LLM | 언어 패턴을 학습하여 언어를 생성하는 모델 |
| 임베딩 | 자연어를 컴퓨터가 이해할 수 있는 벡터로 변환 |
| Word2Vec | 유사한 단어를 벡터 공간에서 가깝게 배치 |
| 맥락(Context) | 주변 정보를 활용해 의미를 정확히 파악 |
| 토큰화 | 텍스트를 처리 가능한 작은 단위로 분할 |
| 트랜스포머 | 긴 문장도 맥락을 보존할 수 있는 혁신적 구조 |