AutoClass
AutoClass는 주어진 체크포인트(Check point)에서 올바른 아키텍처(Architecture)를 자동으로 추론하고 로드합니다.
from_pretrained 메소드를 사용하면 모든 아키텍처에 대해 pretrained 모델을 신속하게 로드할 수 있으므로 처음부터 모델을 교육하는 데 시간과 리소스를 투자할 필요가 없습니다.
* 아키텍처는 모델의 뼈대임을 의미하고, 체크포인트는 주어진 아키텍처에 해당하는 가중치입니다.
AutoTokenizer
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
sequence = "In a hole in the ground there lived a hobbit."
print(tokenizer(sequence))
"""output
{'input_ids': [101, 1999, 1037, 4920, 1999, 1996, 2598, 2045, 2973, 1037, 7570, 10322, 4183, 1012, 102],
'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
"""
output의 input_ids를 보면 tokenizing과 encoding이 실행된 걸 알 수 있습니다.
AutoFeatureExtractor
AutoFeatureExtractor를 사용하면 오디오나 비전에 관해서 딥러닝을 수행할 때 적절한 입력 형식으로 처리합니다.
from transformers import AutoFeatureExtractor
feature_extractor = AutoFeatureExtractor.from_pretrained(
"ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition"
)
AutoProcessor
Multimodal을 수행할 땐 두 가지의 전처리 도구가 함께 필요합니다.
예를 들어, LayoutLMV2 모델은 이미지를 처리하기 위한 FeatureExtractor와 텍스트를 처리하기 위한 tokenizer가 모두 필요합니다.
from transformers import AutoProcessor
processor = AutoProcessor.from_pretrained("microsoft/layoutlmv2-base-uncased")
AutoModel
Sequence Classification
from transformers import AutoModelForSequenceClassification
model = AutoModelForSequenceClassification.from_pretrained("distilbert-base-uncased")
같은 checkpoint를 다른 task에 적용할 수도 있습니다.
Token Classification
from transformers import AutoModelForTokenClassification
model = AutoModelForTokenClassification.from_pretrained("distilbert-base-uncased")
* 대개 모델의 pretrained instance를 불러올 땐 AutoTokenizer class / TFAutoModelFor class 를 사용합니다.
* 항상 올바른 아키텍처를 불러오기 위해서 입니다.
Reference : https://huggingface.co/docs/transformers/autoclass_tutorial#load-pretrained-instances-with-an-autoclass
'MACHINE LEARNING > HUGGING FACE' 카테고리의 다른 글
Hugging Face / NLP Preprocess (전처리) 튜토리얼 (Pytorch) (0) | 2022.08.05 |
---|