BPE(Byte Pair Encoding)와 WordPiece는 모두 서브워드 기반 토크나이저이며, 단어를 더 작은 의미 단위로 분할한다는 공통점이 있지만, 병합 기준이 다르다[5][3][6][7].
| 구분 | BPE (Byte Pair Encoding) | WordPiece |
|---|---|---|
| 병합 기준 | 가장 빈도가 높은 문자(또는 서브워드) 쌍을 반복적으로 병합 | 병합했을 때 코퍼스의 우도(likelihood) 가 가장 높아지는 쌍을 병합 |
| 병합 목표 | 자주 함께 등장하는 단위 결합 → 압축 효율 중심 | 언어 모델의 확률적 해석 → 의미 보존 중심 |
| 통계 근거 | 단순 빈도수(frequency) 기반 | 조건부 확률 기반 즉, $$ P(W) $$를 최대화하는 서브워드 조합 선택 |
| 대표 모델 | GPT, RoBERTa 등에서 사용됨 | BERT, DistilBERT 등 Google 계열 모델에서 사용됨 |
| 결과 특징 | 단순하고 빠르지만 의미적 정밀도는 상대적으로 낮음 | 학습 데이터 확률 구조를 반영해 더 자연스러운 분절 가능 |
요약하자면, BPE는 빈도 기반 병합, WordPiece는 확률 기반 병합이라는 원리 차이가 두 알고리즘의 핵심적인 구분점이다[5][6][7].
출처
[1] 토크나이저 정리(BPE,WordPiece,SentencePiece) https://velog.io/@gypsi12/%ED%86%A0%ED%81%AC%EB%82%98%EC%9D%B4%EC%A0%80-%EC%A0%95%EB%A6%ACBPEWordPieceSentencePiece
[2][D] SentencePiece, WordPiece, BPE... 어떤 토크나이저가 ... https://www.reddit.com/r/MachineLearning/comments/rprmq3/d_sentencepiece_wordpiece_bpe_which_tokenizer_is/
[3] Subword Segmetation Algorithm(BPE, Wordpiece, Unigram) https://sinnyb.tistory.com/7
[4] WordPiece Tokenizer 이해 및 정리 - Kaya's 코딩마당 - 티스토리 https://kaya-dev.tistory.com/47
[5] 토크나이저의 종류와 비교 https://happygrammer.github.io/nlp/tokenizer_wordpiece_vs_sentencepiece/
[6] 텍스트 전처리 및 토큰화:BPE, wordpiece, unigram 을 중심으로 ... https://thrcle.tistory.com/17
[7] Subword Tokenizer - BPE, WordPiece - shyang-data-study https://shyang-data-study.tistory.com/18
[8][NLP] 토크나이저 (Tokenizer) - 인공지능 개발자 수다 https://databoom.tistory.com/entry/NLP-%ED%86%A0%ED%81%AC%EB%82%98%EC%9D%B4%EC%A0%80-Tokenizer