본문 바로가기
*.log

[HuggingFace] Tokenizer 클래스 정리

by 휘(HUI) 2023. 9. 21.

* 정리잘해놓으신 블로그 링크

 

[HuggingFace] Tokenizer class 알아보기

Official Docs: https://huggingface.co/docs/transformers/v4.19.2/en/main_classes/tokenizer Tokenizer Returns List[int], torch.Tensor, tf.Tensor or np.ndarray The tokenized ids of the text. huggingface.co Github: https://github.com/huggingface/tokenizers Tok

bo-10000.tistory.com

 

* 허깅페이스 Tokenizer 공식문서

 

Tokenizer

Returns List[int], torch.Tensor, tf.Tensor or np.ndarray The tokenized ids of the text.

huggingface.co

 

 

 

허깅페이스의 모델을 사용할 때 필수적으로 사용하는 Tokenizer 클래스에 대해 알아보았다.

기본이 되는 클래스는 크게 PretrainedTokenizerPreTrainedTokenizerFast 2가지가 있고, 둘 다 PretrainedTokenizerBase 클래스를 상속받는다.

 

PretrainedTokenizer, PretrainedTokenizerFast 둘다 토큰화, vocab에 새로운 토큰 추가, special token 관리 기능을 제공한다.

 

두 클래스를 호출 시, string이나 string들로 구성된 list를 입력으로 받아 BatchEncoding을 리턴한다.

 

입력이 string인 경우, BatchEncoding은 기본으로 input_idsattention_mask를 속성으로 가지고 있다. return flag를 True로 설정시  overflowing_tokensnum_truncated_tokensspecial_tokens_masklength 등도 포함가능하다고 한다.

 

주요 Arguments:

- add_special_tokens

- padding: True일때 max_length를 입력하지 않은 경우 배치 내에서 가장 긴 시퀀스의 길이에 맞춰 padding한다.

- truncation: True일때 max_length를 입력하지 않은 경우 모델의 입력 가능한 최대 길이에 맞춘다.

- max_length : padding이나 truncationo에 사용할 최대 길이 설정