이 문서는 GenAI 개념 섹션의 일부입니다.< LLM 기초 목차로 돌아가기
토큰 (Token)
LLM이 텍스트를 처리하는 최소 단위입니다. LLM은 “글자”나 “단어”가 아닌 토큰 단위로 텍스트를 읽고 생성합니다. 토큰화 과정 구체 예시:주의 한국어 토큰 비용 문제: 한국어는 영어 대비 동일한 의미를 전달하는 데 약 23배 더 많은 토큰을 사용합니다. 이는 곧 API 호출 비용이 23배 높다는 의미입니다. 프롬프트 설계 시 이를 고려하세요.
토큰화 알고리즘 비교
“토큰”이라는 개념은 단순해 보이지만, 어떻게 텍스트를 토큰으로 나누느냐 는 모델 성능과 비용에 큰 영향을 미칩니다. 주요 토큰화 알고리즘을 비교합니다.
BPE 작동 원리 (간략):
- 모든 글자를 개별 토큰으로 시작 (예:
l,o,w,e,r) - 학습 데이터에서 가장 자주 등장하는 인접 토큰 쌍을 찾음 (예:
l+o→lo) - 이 쌍을 하나의 새 토큰으로 병합
- 원하는 어휘 크기에 도달할 때까지 2~3을 반복
한국어 토크나이저의 현실
20년간 한국어 데이터를 다뤄온 경험에서 단언컨대, 한국어 토큰화는 현재 LLM 생태계에서 가장 과소평가된 비용 요인 입니다. GPT의 cl100k_base에서 한국어가 비용이 높은인 이유: BPE 알고리즘은 학습 데이터에서 자주 등장하는 패턴 을 토큰으로 만듭니다. GPT의 학습 데이터에서 영어가 차지하는 비중은 약 90% 이상이고, 한국어는 1~2% 미만입니다. 따라서:- 영어
"Hello"→ 학습 데이터에서 수억 번 등장 → 1토큰 으로 병합됨 - 한국어
"안녕하세요"→ 학습 데이터에서 상대적으로 드물게 등장 → 바이트 단위로 분해 → 3~5토큰
토큰 비용 최적화 실무 전략
동일한 의미의 한국어 프롬프트가 영어 대비 2~3배 비용이라면, 이를 줄이는 전략이 필요합니다. 전략 1: 영어 키워드 활용 System Prompt에서 반복되는 지시사항은 영어로 작성합니다. LLM은 영어 지시를 한국어보다 더 잘 이해하는 경우도 많습니다.참고 비용 절감 효과: 위 전략을 종합 적용하면 한국어 프롬프트의 토큰 사용량을 30~50% 절약할 수 있습니다. 월 수천 건 이상의 API 호출이 있는 프로덕션 환경에서는 연간 수백만 원의 차이가 납니다.
컨텍스트 윈도우 (Context Window)
모델이 한 번에 처리할 수 있는 최대 토큰 수입니다. 입력 + 출력 토큰을 모두 포함합니다. 왜 컨텍스트 윈도우에 제한이 있는가? Self-Attention은 모든 토큰 쌍의 관계를 계산합니다. 토큰 수가 N이면 계산량은 N^2에 비례합니다. 즉, 컨텍스트가 2배 길어지면 메모리와 계산량은 4배로 증가합니다. 이것이 물리적 제한의 핵심 원인입니다.참고 실무 팁: 컨텍스트 윈도우가 크다고 항상 좋은 것은 아닙니다. “Lost in the Middle” 현상 — 긴 컨텍스트 중간에 있는 정보를 놓치는 문제 — 이 알려져 있습니다. 핵심 정보는 프롬프트의 처음이나 끝 에 배치하세요.
Temperature
모델 출력의 무작위성을 조절하는 파라미터입니다.Top-p (Nucleus Sampling)
누적 확률이 p에 도달할 때까지의 토큰만 후보로 사용합니다. Temperature와 함께 출력 다양성을 조절합니다. 동작 원리 (단계별):- 모델이 다음 토큰의 확률 분포를 계산합니다
- 토큰을 확률이 높은 순서대로 정렬합니다
- 위에서부터 누적 확률을 더해 나갑니다
- 누적 확률이 p에 도달하면, 그 지점까지의 토큰만 후보로 남깁니다
- 남은 후보 중에서 확률에 비례하여 샘플링합니다
위 예시에서 상위 5개 토큰의 누적 확률이 0.93으로 p=0.9를 초과하므로, 이 5개 토큰만 샘플링 후보가 됩니다. 확률이 매우 낮은 “광주”, “울산” 등은 제외됩니다.
Temperature vs Top-p의 차이:
- Temperature: 확률 분포의 모양(shape) 을 변경합니다. 낮으면 뾰족하게(높은 확률 토큰에 집중), 높으면 평평하게(모든 토큰에 골고루).
- Top-p: 확률 분포의 꼬리(tail) 를 잘라냅니다. 분포 모양은 유지하되, 누적 확률 p 이후의 저확률 토큰을 제거합니다.
주의 실무 권장: Temperature와 Top-p 중 하나만 조절 하는 것을 권장합니다. 둘 다 동시에 크게 변경하면 예측하기 어려운 출력이 발생할 수 있습니다. 일반적으로 Temperature를 먼저 조절하고, Top-p는 기본값(0.9~1.0)으로 두세요.
Prompt 구조 (System / User / Assistant)
대부분의 LLM API는 세 가지 역할의 메시지를 사용합니다.< 이전: Transformer 아키텍처 | 다음: LLM 학습 과정 >