728x90
WordPiece Tokenizer 알고리즘은 BPE(Byte-Pair Encoding)의 변형 알고리즘.
"un"과 "##able" 쌍이 있을 때, 각각 다른 단어 내에서 빈번하게 출현한다면 이 둘을 병합할 필요가 없다.
"hu"와 "##gging" 쌍이 있을 때, 각각 자주 사용되지 않는다면 이 둘은 쌍으로 병합할 필요가 있다.
WordPiece Tokenizer는 데이터의 빈도를 고려하여 서브워드를 학습하므로, 빈번하게 함께 등장하는 쌍은 유지되고, 드물게 등장하는 쌍은 병합하여 처리하는 방식으로 동작한다. "##" 접두사는 단어를 서브워드로 분절하는 과정에서 새로운 서브워드가 생성될 때 사용한다.
BPE와의 차이점?
GPT 같은 자연어 생성 모델(NLG)의 경우 BPE 알고리즘을 사용하고,
BERT, ELECTRA 같은 자연어 이해 모델(NLU)에서는 WordPiece Tokenizer를 주로 사용한다.
728x90
'자연어 처리(NLP) 공부' 카테고리의 다른 글
collate_fn이란? (0) | 2023.06.13 |
---|---|
디코더에 <SOS> 토큰과 <EOS> 토큰을 추가하는 이유? (0) | 2023.06.12 |
BPE(Byte Pair Encoding) 알고리즘 (0) | 2023.06.07 |
모델 평가 방법? (0) | 2023.06.02 |
탐색적 데이터 분석(EDA, Exploratory Data Analysis)이 왜 필요할까? (0) | 2023.06.02 |