-
[개발일지] T5 학습시키기(2) - tokenizer 만들기 (bpe, byte pair encoding)개발일지 2021. 7. 10. 14:39728x90
데이터를 확보했다면 두번째로 할 일은 문장을 나타낼 tokenizer를 만드는 것이다.
tokenizer는 자연어를 벡터를 나타내주기 위한 용도인데,
ㄱ = 0, ㄴ = 1 이런식으로 char를 idx 하나에 매핑할 수도 있고,
나는 밥을 먹었다. 에서
나는 = 0, 밥을 = 1, 먹었다 = 2 이런식으로 띄어쓰기나 단어를 기준으로 매핑할 수도 있다, (BoW, Bag of Words)
T5에서는 bpe 방식으로 tokenizer를 만든다.
bpe, byte pair encoding에 대한 자세한 내용은
위키독스
온라인 책을 제작 공유하는 플랫폼 서비스
wikidocs.net
위 링크를 참고하자.
구글에서 sentencepiece라는 라이브러리를 통해 tokenizer를 손쉽게 만들 수 있게 하고 있다.
https://github.com/google/sentencepiece
google/sentencepiece
Unsupervised text tokenizer for Neural Network-based text generation. - google/sentencepiece
github.com
pip install sentencepiecepip 로 간단하게 설치해주고 실행해주자.
실행 방법에 대해선 위 github이나
https://paul-hyun.github.io/vocab-with-sentencepiece/
Sentencepiece를 활용해 Vocab 만들기
How to make vocabulary by google sentencepiece
paul-hyun.github.io
위 블로그를 참고하자.
'개발일지' 카테고리의 다른 글
[openAL] #1. 설치하기 (0) 2021.10.04 [개발일지] Transformer로 긴 문서 학습시키기 (0) 2021.07.14 [개발일지] T5 학습시키기(1) - 데이터 준비 (0) 2021.07.10 [개발일지] Colab Pro 결제 (0) 2021.04.03 [개발일지] 한국어 위키 데이터 다운로드 (0) 2021.03.15