BPE Vs WordPiece

김동준·2025년 10월 15일

BPE(Byte Pair Encoding)와 WordPiece는 모두 서브워드 기반 토크나이저이며, 단어를 더 작은 의미 단위로 분할한다는 공통점이 있지만, 병합 기준이 다르다[5][3][6][7].

핵심 차이점

구분BPE (Byte Pair Encoding)WordPiece
병합 기준가장 빈도가 높은 문자(또는 서브워드) 쌍을 반복적으로 병합병합했을 때 코퍼스의 우도(likelihood) 가 가장 높아지는 쌍을 병합
병합 목표자주 함께 등장하는 단위 결합 → 압축 효율 중심언어 모델의 확률적 해석 → 의미 보존 중심
통계 근거단순 빈도수(frequency) 기반조건부 확률 기반 즉, $$ P(W) $$를 최대화하는 서브워드 조합 선택
대표 모델GPT, RoBERTa 등에서 사용됨BERT, DistilBERT 등 Google 계열 모델에서 사용됨
결과 특징단순하고 빠르지만 의미적 정밀도는 상대적으로 낮음학습 데이터 확률 구조를 반영해 더 자연스러운 분절 가능

요약 설명

  • BPE는 "가장 많이 등장하는 문자 쌍"을 병합하는 단순 빈도 기반 알고리즘이다. 이 방식은 구현이 쉽고 빠르지만, 문맥적 의미를 반영하지 못할 수 있다[6][7].
  • WordPiece는 BPE를 확장한 방식으로, 병합 시 단순 빈도 대신 언어 모델의 우도(likelihood) 를 사용한다. 즉, 병합으로 인해 문장 전체 확률 $$ P(W) $$이 가장 높아지도록 선택한다[7].
  • 결과적으로 WordPiece는 BPE보다 의미적 일관성과 일반화 성능이 우수하며, 그 덕분에 BERT 등의 모델에서 채택되었다[5][3][7].

요약하자면, 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

profile
Story Engineer

0개의 댓글