728x90
반응형
SMALL

WordPiece란?

WordPiece는 서브워드 기반 토큰화 알고리즘으로, 확률(또는 언어 모델 기반)을 활용해 가장 적절한 서브워드를 선택하는 방식이다.

단순히 빈도만 보는 BPE와 달리, WordPiece는 “이 서브워드가 실제로 얼마나 의미 있게 쓰이는가”를 고려한다.

 

관련 논문 

https://chatgpt.com/c/69d450a5-8b04-8322-b27d-ac362d16d9eb

 

ChatGPT

ChatGPT가 답변을 듣고, 영감을 얻고, 생산력을 높이는 데 도움을 드립니다.

chatgpt.com

 

 

예:

문장:

"playing"

토큰화 결과:

["play", "##ing"]

-> "##" 는 앞 단어에 이어지는 서브워드라는 의미

 

어디에 사용될까?

BERT 모델에서 사용된 토큰화 방식으로 유명하다.

 

왜 WordPiece인가? (BPE와의 차이)

BPE는 무조건 빈도만 따지기 때문에, 때로는 언어학적으로 의미 없는 조합을 만들 수도 있습니다. 하지만 WordPiece는 "모델이 데이터를 이해하는 데 얼마나 도움이 되는가"를 기준으로 평가하므로, 보다 의미 있는 단위로 토큰을 쪼개는 경향이 있다.

  • 결과적으로: 자주 쓰이는 단어는 하나의 토큰으로, 어근이나 의미가 있는 접사 단위는 별도의 토큰으로 분리되어 모델이 단어의 의미 구조를 파악하기 훨씬 유리해진다.

 

동작 방식

 

  • 초기에는 문자 단위 vocabulary 구성
  • 서브워드를 점진적으로 생성
  • 각 후보를 확률 기반으로 평가
  • 언어 모델의 likelihood를 가장 높이는 방향으로 병합 likelihood 란  "모델이 이 문장을 얼마나 그럴듯하게(자연스럽게)생성할 수 있는가"를 나타내는 값
    조금 더 쉽게 : 
    - 확률 = 결과가 나올 가능성
    - likelihood = 주어진 데이터가 모델에 얼마나 잘 맞는지
    단순히 "자주 등장하는 pair"가 아니라"이 토큰을 썼을 때 문장이 더 자연스러워지는가?"를 기준으로 병합

 

-> 즉, 단순 빈도 기반이 아니라

-> "모델 성능을 가장 잘 만드는 토큰"을 선택

 

특징

 

  • 의미 단위를 잘 보존
  • BPE보다 더 정교한 토큰 생성
  • 언어 모델 성능 향상에 유리

 

 

한계점

 

  • 학습 과정이 상대적으로 복잡
  • 계산 비용 증가
  • 구현 난이도 상승

 

요약

WordPiece는 확률 기반으로 최적의 서브워드를 선택하는 토큰화 방식으로, BERT와 같은 모델에서 사용되는 핵심 기술이다.

 

BPE vs WordPiece 핵심 차이

  • BPE: “많이 나오면 합친다” (빈도)
  • WordPiece: “문장 확률이 좋아지면 합친다” (likelihood)

likelihood는 “모델이 문장을 얼마나 자연스럽게 설명할 수 있는가”이며,
WordPiece는 이를 최대화하는 방향으로 토큰을 만든다.

 

 

 

제미나이, 챗지피티 등을 이용 하여 작성

728x90
반응형

+ Recent posts