[실습] 3-3 AutoModel

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 문서를 참조하십시오.

 

TensorFlowFlax 체크포인트는 영향을 받지 않으며 from_pretrained 메서드에 대한 from_tffrom_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(미세 조정)을 위해 데이터 세트를 전처리하는 방법을 알아봅니다.

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유