이 레슨과 관련된 학습 키워드
인공지능(AI) — 기계가 생각하는 법 → 자연어처리(NLP) — 기계가 언어를 이해하다 → NLP 기초 — 컴퓨터가 언어를 이해하는 법 → 텍스트 전처리
Learn tokenization methods (BPE, WordPiece, SentencePiece), text normalization, stopword removal, and preprocessing pipelines for NLP.
토큰화란 무엇일까요? 텍스트를 의미 있는 최소 단위로 쪼개는 과정이에요.
NLP 파이프라인의 가장 첫 번째 단계이자, 모델 성능을 좌우하는 가장 중요한 단계입니다.
그림 왼쪽을 보세요. 원시 텍스트가 있죠. 컴퓨터는 이 문자열을 그대로 이해할 수 없어요.
먼저 텍스트를 작은 단위로 나누고, 그걸 숫자로 바꿔야 해요.
그림 가운데 {토크나이제이션→토크나이제이션} 과정을 보면, 문장이 토큰 리스트로 분리돼요.
그 다음 각 토큰에 고유한 ID 번호를 부여하고, 최종적으로 임베딩 벡터로 변환해요.
나누는 방식은 네 가지가 있어요. 그림 아래쪽 네 개의 박스를 보세요.
단어 단위는 직관적이지만, 처음 보는 단어를 처리할 수 없는 OOV 문제가 있어요.
형태소 단위는 한국어에 특화되어 있어요. 조사와 어미를 분리해서 의미를 보존하죠.
{서브워드→서브워드} 단위는 현대 NLP의 표준이에요. {비피이→비피이}나 {워드피스→워드피스}가 대표적이죠.
unbelievable이 un, believ, able로 쪼개지면, 처음 보는 단어도 부분 조합으로 이해할 수 있어요.
문자 단위는 어휘가 256개로 충분하지만, 시퀀스가 너무 길어져서 비효율적이에요.
그림 맨 아래 핵심 박스를 보세요. {토크나이제이션→토크나이제이션}은 NLP의 첫 번째 관문이에요.
나누는 방식에 따라 모델 성능이 크게 달라진다는 것, 꼭 기억하세요.
정답은 하나가 아니에요. 언어, 과제, 모델에 따라 최적의 방식이 달라져요.
GPT는 {비피이→비피이}를, BERT는 {워드피스→워드피스}를, T5는 {센텐스피스→센텐스피스}를 사용해요.
다음 슬라이드에서 세 가지 방식을 같은 문장으로 직접 비교해볼게요.
왜 {서브워드→서브워드}가 현대 표준이 되었는지, 그 이유를 확실히 이해하게 될 거예요.
토큰화를 잘 이해하면, LLM의 API 비용 구조도 자연스럽게 이해할 수 있어요.
GPT-4가 토큰당 과금하는 이유, 한국어가 영어보다 비싼 이유가 바로 여기에 있습니다.
선생님: {토크나이제이션→토크나이제이션}을 왜 하는 건지 한마디로 설명해볼까요?
학생: 모델이 텍스트를 처리할 수 있게 작은 단위로 쪼개는 거요.
선생님: 맞아요! 그런데 왜 단어 단위로 쪼개면 안 될까요?
학생: 처음 보는 단어가 나오면 처리할 수 없으니까요. OOV 문제요.
선생님: 정확해요! 그래서 {서브워드→서브워드} 방식이 나온 거예요. un과 believ와 able로 나누면 새 단어도 조합으로 이해할 수 있죠.
학생: 그러면 문자 단위로 나누면 OOV가 아예 없잖아요. 왜 그건 안 쓰나요?
선생님: 좋은 질문이에요! 시퀀스가 너무 길어져서 Attention 비용이 제곱으로 늘어나거든요.