AI: 토큰 및 임베딩 특수 처리 – Byte-Pair Encoding
ㅁ 토큰 및 임베딩 특수 처리
ㅇ 정의:
텍스트를 모델이 처리하기 쉬운 단위로 분리하기 위해 자주 등장하는 문자 쌍을 반복적으로 병합하는 서브워드 토크나이징 기법. 원래 데이터 압축 알고리즘에서 유래했으며, 희귀 단어를 더 작은 단위로 분해하여 어휘 사전을 효율적으로 구성.
ㅇ 특징:
– 자주 등장하는 문자 쌍을 병합하여 어휘를 확장.
– 희귀 단어를 서브워드 단위로 분해해 OOV(Out-Of-Vocabulary) 문제 완화.
– 공백, 특수문자, 대소문자 구분 규칙에 따라 결과가 달라짐.
– 학습 데이터에 기반하므로 새로운 도메인에서는 성능 저하 가능.
ㅇ 적합한 경우:
– 대규모 코퍼스에서 어휘 수를 줄이면서도 의미 보존이 필요한 경우.
– 다양한 언어(특히 교착어, 복합어가 많은 언어) 처리.
– 신조어, 오타, 특수 기호가 많은 데이터셋.
ㅇ 시험 함정:
– BPE는 단순히 글자를 분리하는 것이 아니라 빈도 기반 병합을 반복하는 알고리즘임.
– WordPiece와 혼동되기 쉬움(WordPiece는 확률 기반 선택).
– OOV 문제를 완전히 제거하는 것이 아니라 완화하는 것임.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “BPE는 자주 등장하는 문자 쌍을 병합하여 서브워드를 생성한다.”
O: “BPE는 희귀 단어를 작은 단위로 분해하여 처리한다.”
X: “BPE는 모든 단어를 완전히 분리하여 처리한다.”
X: “BPE는 확률 기반으로 서브워드를 선택한다.”
ㅁ 추가 학습 내용
BPE(Byte Pair Encoding), WordPiece, SentencePiece 비교 정리
1. BPE
– 문자 단위에서 시작하여 가장 빈도가 높은 인접 문자 쌍을 병합하는 방식
– 학습 시 병합 규칙을 고정하여 이후 토크나이징에 동일하게 적용
– 어휘 크기 설정과 병합 횟수 결정이 중요
– 유니코드 처리 시 모든 문자를 일관되게 다루어야 함
– 특수 토큰([UNK], [PAD] 등) 사전에 정의하고 관리
2. WordPiece
– BPE와 유사하게 서브워드 단위로 분해하지만, 병합 시 빈도만이 아니라 확률 기반 점수를 사용하여 최적의 서브워드를 선택
– 통계적 언어 모델을 기반으로 서브워드 선택을 최적화
– 희귀 단어 처리에 강점
3. SentencePiece
– 공백을 포함한 모든 문자를 동일하게 처리하여 언어 독립적인 토크나이징 가능
– 입력을 문자 단위로 취급하고, BPE나 Unigram Language Model 기반 학습 가능
– 사전 토큰화 과정 없이 바로 원문에 적용 가능
핵심 구분 포인트
– BPE: 고정된 병합 규칙 기반, 빈도 중심
– WordPiece: 확률 기반 서브워드 선택
– SentencePiece: 공백 포함 문자 단위 처리, 언어 독립적, 사전 토큰화 불필요
– 실무·시험 포인트: 어휘 크기 설정, 병합 횟수 결정, 유니코드 처리, 특수 토큰 관리