본문 바로가기
인공지능 (VLM, MLLM)/MLLM (Multimodal Large Language Model)

[Multimodal Large Language Model - Part 4] Autoclass

by 애플파ol 2025. 2. 27.

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/google-bert/bert-base-uncased/tree/main

 

 

 

 

참고 : https://huggingface.co/docs/transformers/ko/autoclass_tutorial

 

AutoClass로 사전 학습된 인스턴스 로드

트랜스포머 아키텍처가 매우 다양하기 때문에 체크포인트에 맞는 아키텍처를 생성하는 것이 어려울 수 있습니다. 라이브러리를 쉽고 간단하며 유연하게 사용하기 위한 Transformer 핵심 철학의 일

huggingface.co