728x90
1.AutoTokenizer
transformers 라이브러리에서 제공하는 고수준 API로, 사용자가 쉽게 특정 모델에 맞는 토크나이저를 로드할 수 있도록 도와준다.
AutoTokenizer는 다양한 모델에 대해 자동으로 해당 모델에 맞는 토크나이저를 선택하고 불러오기 때문에, 모델 이름만으로 적절한 토크나이저를 손쉽게 사용할 수 있다.
from transformers import AutoTokenizer
# 모델의 체크포인트를 지정
# 'bert-base-uncased'는 BERT 모델의 체크포인트
checkpoint = "bert-base-uncased"
# AutoTokenizer를 사용하여 체크포인트에 맞는 토크나이저를 호출
# AutoTokenizer는 자동으로 해당 모델에 맞는 토크나이저를 로드
# BertTokenizer 를 자동으로 불러온다.
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
sequence = "Hugging Face provides state-of-the-art Natural Language Processing models."
# tokenizer를 이용해 텍스트를 토큰화
model_inputs = tokenizer(sequence)
print(model_inputs)
#결과
{'input_ids': [101, 17662, 2227, 3640, 2110, 1011, 1997, 1011, 1996, 1011, 2396, 3019, 2653, 6364, 4275, 1012, 102], 'token_type_ids': [0, 0, 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, 1, 1]}
2.AutoModels
Hugging Face의 transformers 라이브러리에서는 다양한 종류의 모델을 자동으로 로드할 수 있는 여러 클래스들을 제공한다.
from transformers import AutoTokenizer,TFAutoModelForSequenceClassification
# 모델의 체크포인트를 지정
# 'bert-base-uncased'는 BERT 모델의 체크포인트
checkpoint = "bert-base-uncased"
# AutoTokenizer를 사용하여 체크포인트에 맞는 토크나이저를 호출
# AutoTokenizer는 자동으로 해당 모델에 맞는 토크나이저를 로드
# BertTokenizer 를 자동으로 불러온다.
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
# AutoModelForSequenceClassification를 사용하여 체크포인트에 맞는 모델을 호출
model = TFAutoModelForSequenceClassification.from_pretrained(checkpoint)
sequence = "Hugging Face provides state-of-the-art Natural Language Processing models."
# tokenizer를 이용해 텍스트를 토큰화
tokens = tokenizer(sequence, padding=True, truncation=True, return_tensors="tf")
output = model(**tokens)
print(output)
2-0.TFAutoModel
일반적인 모델 로딩 (특정 작업을 위한 모델을 제외한 모든 일반 모델)
from transformers import TFAutoModel
model = TFAutoModel.from_pretrained("bert-base-uncased")
2-1.TFAutoModelForSequenceClassification
시퀀스 분류 작업 (예: 감정 분석, 문서 분류 등)
from transformers import TFAutoModelForSequenceClassification
model = TFAutoModelForSequenceClassification.from_pretrained("bert-base-uncased")
2-2.TFAutoModelForTokenClassification
토큰 수준의 분류 작업 (예: 개체명 인식, 품사 태깅 등)
from transformers import TFAutoModelForTokenClassification
model = TFAutoModelForTokenClassification.from_pretrained("bert-base-uncased")
2-3.TFAutoModelForQuestionAnswering
질문-답변 작업 (예: 주어진 문장에서 질문에 대한 답 찾기)
from transformers import TFAutoModelForQuestionAnswering
model = TFAutoModelForQuestionAnswering.from_pretrained("bert-large-uncased-whole-word-masking-finetuned-squad")
2-4.TFAutoModelForMaskedLM
마스크된 언어 모델 학습 (예: BERT)
from transformers import TFAutoModelForMaskedLM
model = TFAutoModelForMaskedLM.from_pretrained("bert-base-uncased")
2-5.TFAutoModelForCausalLM
원인-결과 언어 모델 학습 (예: GPT 모델 계열)
from transformers import TFAutoModelForCausalLM
model = TFAutoModelForCausalLM.from_pretrained("gpt2")
2-6.TFAutoModelForSeq2Seq
시퀀스 투 시퀀스 모델 (예: 번역, 요약 등)
from transformers import TFAutoModelForSeq2SeqLM
model = TFAutoModelForSeq2SeqLM.from_pretrained("t5-small")
728x90
'AI' 카테고리의 다른 글
[AI] transformers DataSet 전처리 (0) | 2025.01.08 |
---|---|
[AI] 편향(Bias) (0) | 2025.01.07 |
[AI] 인코더 모델,디코더 모델,인코더-디코더 모델 (0) | 2025.01.07 |