1. 목적 : 경로설정으로 원하는 아키텍처를 불러오는 API
2. 장점 : 원하는것(Model, Preprocessor 등)을 편하게 불러옴
3. 사용법 : Auto~.from_pretrained( pretrained_model_name_or_path=' ')
(경로설정을 아래와 같이 두가지 방식으로 할 수 있음)
- Huggingface에서 모델 다운.
- Local 에서 불러오기.
model = AutoModel.from_pretrained("google-bert/bert-base-cased")
(대표적인 Autoclass 튜토리얼 : https://huggingface.co/docs/transformers/ko/autoclass_tutorial#automodel)
(확장된 Autoclass 설명 : https://huggingface.co/docs/transformers/ko/model_doc/auto#auto-classes)
4. Autoclass 대분류
다음과 같다.
- AutoTokenizer : 사전학습된 토크나이저 로드. ( 텍스트 → 숫자(토큰))
- AutoImageProcessor : 사전학습된 이미지 프로세서 로드. ( 이미지 → 모델의 입력 형식으로 변환함.)
- AutoFeatureExtractor : 사전 학습된 특징 추출기 로드.
- AutoProcessor : '토크나이저 + 이미지 프로세서' 로드 (멀티모달을 위한 것 ex. CLIP)
- AutoModelFor~ : 특정 Task에 학습된 모델 로드.
ex) LLavaLLamaModel은 그냥 backbone모델이다. 하지만 LLavaLLamaforcausallm 은 텍스트 생성능력을 갖춘 모델이다)
- AutoConfing : 사전학습된 모델의 하이퍼 파라미터 및 구성 (config.json)을 자동으로 로드
5. AutoClass 한줄 역할 :
→ 필요한 파일들을 적절한 AutoClass를 사용하여 로드한다.
참고 : https://huggingface.co/docs/transformers/ko/autoclass_tutorial
AutoClass로 사전 학습된 인스턴스 로드
트랜스포머 아키텍처가 매우 다양하기 때문에 체크포인트에 맞는 아키텍처를 생성하는 것이 어려울 수 있습니다. 라이브러리를 쉽고 간단하며 유연하게 사용하기 위한 Transformer 핵심 철학의 일
huggingface.co
'인공지능 (VLM, MLLM) > MLLM (Multimodal Large Language Model)' 카테고리의 다른 글
[Multimodal Large Language Model - Part 5] GenerationMixin 클래스/ generate 메소드 (0) | 2025.03.01 |
---|---|
[Multimodal Large Language Model - Part 3] 모델구조 (1) | 2024.11.10 |
[Multimodal Large Language Model - Part 2] LOSS 계산 (0) | 2024.11.09 |
[Multimodal Large Language Model - Part 1] 서막 (3) | 2024.11.08 |
[Huggingface Trainer, SFTTrainer, TrainingArguments 설명 및 코드] (0) | 2024.10.23 |