1. PyTorch
AutoModelFor... 클래스를 사용하면 주어진 작업에 대해 사전 훈련된 모델을 로드할 수 있습니다.
예를 들어, AutoModelForSequenceClassification.from_pretrained()
를 사용하여 시퀀스 분류 모델을 로드할 수 있습니다.
from transformers import AutoModelForSequenceClassification
model = AutoModelForSequenceClassification.from_pretrained("distilbert-base-uncased")
동일한 체크포인트를 쉽게 재사용하여 다른 작업을 위한 아키텍처를 로드할 수 있습니다.
from transformers import AutoModelForTokenClassification
model = AutoModelForTokenClassification.from_pretrained("distilbert-base-uncased")
PyTorch 모델의 경우 from_pretrained() 메서드는 내부적으로 pickle을 사용하는 torch.load()를 사용하며 이는 안전하지 않은 방법으로 알려져 있습니다. 일반적으로 신뢰할 수 없는 출처에서 가져왔거나 변조되었을 수 있는 모델을 로드하지 마시기 바랍니다. 이 보안 위험은 각 커밋에서 맬웨어 검사를 받는 Hugging Face Hub에 호스팅된 공개 모델에 대해 부분적으로 완화됩니다. GPG를 사용한 서명된 커밋 확인과 같은 모범 사례는 Hub 문서를 참조하십시오.
TensorFlow 및 Flax 체크포인트는 영향을 받지 않으며 from_pretrained 메서드에 대한 from_tf 및 from_flax 키워드 인수를 사용하여 PyTorch 아키텍처 내에서 로드하여 이 문제를 우회할 수 있습니다.
일반적으로 사전 훈련된 모델 인스턴스를 로드하려면 AutoTokenizer 클래스와 AutoModelFor... 클래스를 사용하는 것이 좋습니다. 이렇게 하면 매번 올바른 아키텍처를 로드할 수 있습니다.
2. TensorFlow
마지막으로 TFAutoModelFor... 클래스를 사용하면 주어진 작업에 대해 사전 훈련된 모델을 로드할 수 있습니다.
예를 들어, TFAutoModelForSequenceClassification.from_pretrained()
를 사용하여 시퀀스 분류 모델을 로드할 수 있습니다:
from transformers import TFAutoModelForSequenceClassification
model = TFAutoModelForSequenceClassification.from_pretrained("distilbert-base-uncased")
동일한 체크포인트를 쉽게 재사용하여 다른 작업을 위한 아키텍처를 로드할 수 있습니다:
from transformers import TFAutoModelForTokenClassification
model = TFAutoModelForTokenClassification.from_pretrained("distilbert-base-uncased")
pytorch 와 마찬가지로 사전 훈련된 모델 인스턴스를 로드하려면 AutoTokenizer 클래스와 TFAutoModelFor... 클래스를 사용하는 것이 좋습니다. 이렇게 하면 매번 올바른 아키텍처를 로드할 수 있습니다.
다음장 에서는 새로 로드된 토크나이저, 이미지 프로세서, 기능 추출기 및 프로세서를 사용하여 fine-tuning(미세 조정)을 위해 데이터 세트를 전처리하는 방법을 알아봅니다.
'A.I.(인공지능) & M.L.(머신러닝) > transformers' 카테고리의 다른 글
[실습] merge base model and LoRA adapter_model, Upload huggingface-hub (0) | 2024.04.04 |
---|---|
[실습] 3-4 전처리(Preprocess) (0) | 2024.02.03 |
[실습] 3-2 AutoTokenizer (0) | 2024.02.03 |
[이론] 3-1 AutoClass (0) | 2024.02.03 |
[실습] 2-5 accelerate를 활용한 Pipeline (0) | 2024.02.03 |