기존의 어휘사전은 훈련 데이터에 등장하는 고유 토큰들을 모아, 각 토큰에 정수 ID를 할당한 매핑 테이블이다.
때문에, 토큰을 ID로 변환하거나 그 반대의 상황에는 어휘사전을 사용하여 처리했다.
기본적으로는 어휘사전에 없는 단어는 처리할 수 없기 때문에 에러를 반환할 것이다.
이러한 상황을 해결하기 위해, 특수 문맥 토큰을사용하여 알지 못하는 단어, 문서 경계 등을 표시한다.
어휘사전에 없는 단어는 어떻게 처리할까? (<unk> Unknown 토큰)

처리 과정을 중단하지 않고 계속 진행할 수 있도록 하는 안전장치 역할로, 사전에 없는 단어는 Unknown 토큰이 그 자리를 채운다.
길이가 다른 문장들은 어떻게 처리할까? (<pad> Padding 토큰)
모델 훈련 호율성을 위해 여러 문장을 Batch로 묶어 처리한다.
하지만, Tensor는 모든 원소의 길이가 동일해야 하는 고정된 형태의 데이터 구조이기 때문에, 길이가 다른 문장을 처리하기 힘들다.

Padding 토큰을 사용하면, 가장 긴 문장의 길이에 맞추어 짧은 문장들 뒤에 추가된다.
덕분에, 모든 문장들이 동일한 길이를 갖게 되어 성공적으로 Batch와 Tensor를 구성할 수 있다.
텍스트의 끝은 어떻게 알 수 있을까? (<eot> EndOfText 토큰)
각 문서의 끝에는 <eot> 토큰이 삽입되어 모델에게 텍스트의 경계를 명확히 알려주는 역할을 한다.
덕분에, 여러 문서가 연결된 긴 문장에서도 각 문서의 독립적인 맥락을 이해할 수 있다.
특수 토큰이 모델 계산에는 영향을 미치지 않을까?
만약에, 모델이 토큰 자체의 의미를 학습하면 어떻게 될까?
학습이나 예측 결과에 불필요한 영향을 주지는 않을까?

특수 토큰에 마스킹을 씌워 특정 토큰들이 모델의 주요 연산에 포함되지 않도록 한다.
(패딩 토큰에 마스크를 씌워, 모델이 이를 무시하고 의미 있는 토큰에만 집중하도록 할 수 있음)
* 본 게시글은 밑바닥부터 만들면서 배우는 LLM 강의를 참고하여 작성되었습니다.
'Tech > LLM' 카테고리의 다른 글
| [LLM] 슬라이딩 윈도우로 데이터 샘플링 (0) | 2025.12.27 |
|---|---|
| [LLM] 바이트 페어 인코딩(BPE) (0) | 2025.12.27 |
| [LLM] 텍스트 토큰화 (0) | 2025.12.27 |
| [LLM] 단어 임베딩의 이해 (1) | 2025.12.26 |
| [LLM] Transformer의 구조 (0) | 2025.12.20 |
잘못된 정보가 있다면 말씀해주세요!